Project phase 3
A consortium of companies agrees to form a partnership, and offer
their customers products from all companies in the consortium. Every
company in class needs to participate in the consortium: you cannot
In part 1 every company will export its data about products and
shipping methods in a common, standardized schema: the result will be
a file called company-name.xml
In part 2 every company will import the data of all its partners in
the consortium into its own database. Then will offer their clients
products from all the partner companies (and apply a markup). After
each purchase from a partner company, an Order document is generated
and sent somehow to the other company (we will not implement shipping
the order document). The Order is also in XML format.
You will be working in the same group as you were in phase 2, and...
You will export the data in your group's databases into an xml file
(like what you did in hw 3), following this DTD
Updated xmls for some of the
groups -> HERE
You will import all the xml files from
allllll other group's into your
relational databases (again like what you did in hw3...). You may
modify it to store the groups that generated the data (also you
may modify the keys of the tables, in case that the other groups got a
book that has the same isbn as some book in your inventory). Then, you
need to modify your web-shopping app in phase 2 to support these
additional data. A user should be able to purchase products from other
companies through your website, but with 10% additional charge. When a
user made such a purchase, you system needs to generate an xml order
file following this DTD. In short, required
extensions to the web app are...
- Browsing - you need to display information about all other
companies products (except what company did they come from). All
browsing methods (find by title, find by artist / author, and show all
products) should support this.
- Shopping cart management - The user can add products from other
companies to the shopping cart (except the price displayed would be 10%
higher than what you imported from the xmls)
- Transaction - If the user purchases a product from other
companies, you display some message like "this prodcut will be shipped
by our partner, company xyz", and you let your customer to choose a
shipping option from those provided by that partner company. Then you
need to generate an xml order file following this DTD.
For destination, it should be you customer's address (just forget about
the customer information privacy thing). create a directory named
"orders" under your web app folder and store the xml files there.
Rules and restrictions
- no new databases.
- new tables allowed
- you may modify your tables to store which company originated that
piece of data.
part 1: put your xml file in
your phase 2 turnin folder by Nov 30th Mon midnight.
part 2: A runnable version of
your modified web app in your phase 2 turnin folder by Dec 8th.
Reason that I didn't create a phase 3 folder for each group:
I'm lazy to go through all the folder creation, and then set the
sharing and security permissions on those folders and then enable web
app on each of them.....