Write the java rmi interface definition, JAVA Programming

In the programming assignments, you are going to develop a simple distributed ticket reservation system (DTRS). This system is used by customers (with unique 6-digit customerIDs) to reserve show tickets with different box offices and manage their reservations.

Assume that a show is identified by a unique showID (like MTL175 or TOR432) the first three characters of which identify the box office (like MTL for Montreal or TOR for Toronto) and the last three digits specify the show (like 175 or 432). The DTRS will run multiple servers, one per box office, maintaining the number of tickets available for each of the shows in that box office in main memory and the list of (customerID, numberOfTickets) for the already reserved tickets for each of the shows in that box office in a file (one file per show).

Customers may invoke the following operations on the box office servers through their client program:

reserve(customerID, showID, numberOfTickets): Reserve the required number of tickets (numberOfTickets) for the specified show (showID) for the customer (customerID).

cancel(customerID, showID, numberOfTickets): Cancel the specified number of tickets (numberOfTickets) for the show (showID) that the customer (customerID) had already reserved. The number of tickets cancelled may be smaller than or equal to the number of tickets reserved.

check(showID): Returns the number of tickets currently available for the specified show (showID).

Thus, this application has BoxOfficeServers (one per box office) implementing the above operations for the box offices and CustomerClients (one per customer, invoking the customer operations at the BoxOfficeServer managing the show on which the operation is to be done) on behalf of the customers as necessary. Thus, each BoxOfficeServer manages the shows within that box office and performs client operations on these shows; and a CustomerClient invokes a client operation at that BoxOfficeServer managing the show indicated in the operation. When a BoxOfficeServer is started, it registers its address and related/necessary information with a central repository. For each customer operation, the CustomerClient finds the required information about the BoxOfficeServer (based on the showID) from the central repository and invokes the corresponding operation.

Write the Java RMI interface definition for the BoxOfficeServer with the specified operations.

Implement the BoxOfficeServer.

Design and implement a CustomerClient which invokes the server to test the correct operation of the DTRS involving multiple BoxOfficeServers (each with a few shows) and multiple customerClients.

You should design a server that maximizes concurrency. In other words, use proper synchronization that allows multiple customers reserve/manage for the same or different shows at the same time.

Posted Date: 3/15/2013 4:04:44 AM | Location : United States







Related Discussions:- Write the java rmi interface definition, Assignment Help, Ask Question on Write the java rmi interface definition, Get Answer, Expert's Help, Write the java rmi interface definition Discussions

Write discussion on Write the java rmi interface definition
Your posts are moderated
Related Questions
15. Energy Drink Consumption A soft drink company recently surveyed 12,467 of its customers and found that approximately 14 percent of those surveyed purchase one or more energy dr

how to create batch files of java program

Describe synchronization in respect to multithreading. With respect to multithreading, synchronization is the capability to control the access of multiple threads to shared res

Consider the following C++ template class. #include using namespace std; template class SortedList { public: SortedList() {size = 0;} void insert(T item); friend ostrea

Describe Invoking Methods in java? class Car { String licensePlate = ""; // e.g. "New York 543 A23" double speed = 0.0; // in kilometers per hour double maxS

You must design, code and demonstrate a J2ME program (a program capable of running on mobile telephones) according to the specification given in the next section.  The overall cour

Name the common bugs which are not possible in java Many common bugs and security problems (such as "buffer overflow") are not possible in java. Checks also make it easier to f

The non-final functions are clone (), finalize (), toString (), equals () , hashCode () and. The other methods like wait (), getClass (), notifyAll (), notify () etc are final

Open A java applet should appear on your screen. Click on File, OpenImage and select Asterix. Check Homography box. By clicking on the images you can select points. The c

Want an Experienced iOS and Android expert Project Description: I am seeking a super talented team or Individual for a Real Estate app. The project wants to get done in a ver