You are on page 1of 4

CS6002 Distributed and Internet Systems

Coursework 1: A Web Auction Site


Submission Deadline: 14 January 2013

Summary
This is an individual coursework worth 25% of the total module mark. It requires developing of a prototype of a technological solution which utilizes servlets, database and AJAX technologies for building multi-tier Web applications. It finishes with a written report to be submitted by the deadline and demonstration of the software in a computer Lab during the last workshop of the term. The report is to describe the design of a simple auctioning system with a backend database and a Web front-end (mini-eBay) and its prototype implementation. The software development is for a simple auctioning Web site which features database backend, synchronous and asynchronous operations and operates using standard browser only. It can be developed on a different level of sophistication, depending on the personal preference of the students but must utilize synchronous server-side processing of customer registration and bidding (using Java servlets or JSP, with a JDBC connection to a database) and asynchronous client-side updating of the status of the auction (using JavaScript and AJAX technology). The demonstration is to show the developed solution in operation. It will be organised in the Computer Labs and must be attended by each student in order to gain the full mark.

Tasks
1. Design the architecture of a Web auctioning site. 2. Design a database for storing information about users, items, auctions and bidding. 3. Build a Web site for setting-up and maintenance of online auctions for selling items, utilizing synchronous server-side Java Web technologies. 4. Extend the client with an AJAX layer which allows one or more asynchronous operations.

Deliverables
1. Written report in Word format, submitted on paper to the Registry by the deadline 14 January. 2. Web application written using HTML, JavaScript, Java servlets/JSP and Access/MSSQL/MySQL and submitted on CD during the demonstration. 3. Demonstration presented using a desktop PC or laptop in the computer Lab during the last workshop in Week 15.

Requirements
1. The written report does not have fixed structure, but can provide information on the following issues:

Database design (using a class diagram, or ER diagram, or data diagram, or SQL DDL script) Web site design (using UML State Transition diagram or a simple page navigation map) Program description showing the flow of events during bidding (using

UML sequence diagram) A full walkthrough of the working with the system (set of screen dumps) The software deployment (servers, libraries and application components installation and configuration)

2. The database for storing auctioning information should be build using an ODBC database such as MS Access, a native Java DB such as Derby, or a standard SQL DB such as MySQL. It should contain at least 4 tables for storing the description of auction items, personal information about the bidders and operational information about the past, ongoing and closed bids (USER, ITEM, AUCTION, BID). 3. The auction site should be built using HTML, CSS, JavaScript and Java/JSP. It may combine static and dynamic pages for the synchronous operations as necessary. It can also utilize the AJAX technology in one or more asynchronous operations. The minimal functionality of the site required includes cataloguing of an item, setting of a new auction and bidding for an item in an auction. Additional functionality can include user registration, access control and historic or statistic reporting. The static Web pages can be build using HTML/XHTML/DHTML and CSS. The Web site can contain 5-12 pages for supporting the synchronous or asynchronous operations as needed. The Web site must contain at least 5 servlets/JSPs to allow registering items (CatalogueItem), creating auctions (CreateAuction), searching for auctioned items (SearchItem or SearchAuction), watching auctions (WatchAuction),

and bidding: (Bid). You may use either servlets or JSPs for dynamic serverside scripting. The AJAX functions must support one or more of the following additional functionality: autofilling of the registration forms (when setting up of an new auction or starting to watch an existing auction), alerting about the end of an auction (when the auction is closed or the time expires), alerting about the new bids in an action (when new bid is entered) and updating of the current highest bid for a watched auction (when the new bid exceeds the previous highest bid). The asynchronous operations would be triggered by the following events: NewAuction, NewWatch, NewBid, EndOfBidding. The implementation of the AJAX engine must be generated by corresponding JavaScript scripts, embedded in the dynamically generated HTML and must utilize the JavaScript HTTP and XML objects for asynchronous event processing.

Marking Scheme

Static Web Pages Web Site Database Dynamic Web Pages (synchronous operation) AJAX functions (asynchronous operation) Web Site Deployment Program Description and Testing Software Quality, Style of Coding and Documentation 10% 10% 20% 25% 10% 15% 10%

Note: The demonstration is not marked but without it the marks for the software will be set to 0 and only the report will be marked (i.e., max mark 10%)

You might also like