Project Phase 3

In this phase you will once again be working with your stores from phase two. (Try not to break your phase two project while working on phase three because I will probably still be grading them.) Big online stores like your store and Amazon.com have large selections, but they still can't reach every customer especially those who want niche products. In order to diversify, online stores form partnerships where a store like amazon can 'sell' products for their partners and vice versa. You may 'buy' a book at Amazon.com which really came from who-knows-what.com. Amazon, of coarse, gets a cut of the money. Likewise, you may buy a book at flyfishing.co.au which really comes from Amazon.

To operate with eachothers, such stores often use XML web services. You are, in phase two, going to implement web service APIs for your stores so that you can buy and sell products from the other stores in the class. You will technically only have to be able to buy and sell with the demo store, but you need to be able to display products from all stores that sucessfully complete the product publishing part of the web service. In theory, if all stores can interoperate with the demo store, they sholuld operate with eachother too.

Through this phase of the project you will learn:

Notes: (Things your TA has learned from phases 1 and 2)

Rules and Restrictions

Tips

By tips I mean advice. If you give me the other type of tips, it will not effect your grade. =)

Part A

Due: Thursday December 1st 2005 @ 11:59PM

Working Example
No need for starter code this time =).

Tasks for Phase 3A are:

You will be expected to turn in:

Part B

Due: Thursday December 8th 2005 @ 11:59PM

Working Example
No need for starter code this time =).

Tasks for Phase 3B are:

You will be expected to turn in:

Details

If you ended phase 2 with inconsistant data or a not-so-functioning checkout, you might want to fix that first. This phase will share alot of code with the parts of checkout that deal with breaking an order down into packages (your favorite piece right? mine too!) and order confirmation (thats your other favorite piece right?).

You will be, for this phase, both consuming and producing a web service with the same signature. There are four WebMethods for this service. Please see the .NET quickstart tutorials for information on producing and consuming web services. Also, when you add a "web reference" in Visual Studio, it adds some classes to your projet (expand the web reference in the object browser). I suggest checking out these files and figguring out what they do and perhaps consider how they are generated (hint: WSDL)

Lets talk about invoices.

One big question is "what about invoices for orders that deal with multiple stores?". So, the customer isn't supposed to need to know that he or she is ordering from multiple stores, so the invoice at the store the custom purchased the goods from should reflect all itmes purchased at all stores and all packages sent reguarding the order. There should also be invoices generated at the other stores involved. A question arises, what customer should be attached to invoices for orders that a partner store placed over a web service? It is appropriate to have a user in the database that is associated with each partner store. When partner store A places an order over the webservice, the resulting invoice is generated for partner A's user account.