The goal of this assignment is to use either Java's Remote Method
Invocation or CORBA, to create an online auction.
People can join the auction, leave the auction, and bid for an item in the
auction. The current price of an item gets flashed as soon as anybody
bids a valid price for the item. This is similar to the online stock
market where the current prices of the shares are flashed as soon as their
value changes.
Let us look at some of the details:
You need to create an auction server. The server should support at least
the following methods:
- join auction
- leave auction
- bid on an item.
You can read the initial list of items and minimum prices from a file or
from standard input. When somebody joins the auction, you need to send
the items on sale and their current price.
Then, you need to create a client, either as an applet, or as an
application. The client joins the auction, displays the items for sale
along with their current price, and lets the user place a bid for a
particular item.
Since multiple clients will be bidding at the same time, the methods on
the server must be properly synchronized. Whenever any client makes a
successful bid, the current price at all the clients must reflect this
change. [Hint: You need to use RMI or CORBA to call back the clients
from the
server.]
All the exceptions must be properly handled.
Completion of one of this extensions will result in a better grade;
however, groups of more than one person MUST complete this extension to
receive a full grade. It should also be noted that, if you have an idea
for a different extension, ask either the instructor or TAs for approval:
- A "professional looking" GUI including pictures for items on sale, and
a clock displaying "time-to-bid" for given items.
- The ability to include new items on sale in the auction server.
- Authentication to the auction server/user management.
- Encryption (perhaps using SSL) for remote method invocation.
The due date for this project is October 15th, 2002, 11:55pm EST.
You should use the assignments drop-off box located at the course's WebCT
page. Upload a JAR file containing all the relevant
documented Java
files, along with a README file describing the project and its
usage.
Late Submissions:
- 10% penalty for a one-day late submission.
- 25% penalty for up to a three-day late submission.
- Submissions more than 3 days late will not be accepted.