Write the java rmi interface definition, JAVA Programming

Assignment Help:

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.


Related Discussions:- Write the java rmi interface definition

Spring MVC Controllers, I want to upload an item object with it''s image is...

I want to upload an item object with it''s image is it possible that i pass a complete object of my Item along with it''s image from my Controller if yes then how may i Do it? an

Difference between stringbuffer and string class, Define the difference be...

Define the difference between StringBuffer and String class?

What are the advantages of multimedia presentations, What are the advantage...

What are the advantages of multimedia presentations? Write any five. Following are the benefits of multimedia presentations: • Great tool for efficiently communicating ideas

Explain the importance of abstract classes in java, Question: (a) Expl...

Question: (a) Explain the importance of abstract classes in Java with an appropriate example. (b) Explain what is meant by an interface in Java? Use a simple example to il

Interface, Interface to calculate carbon foot print

Interface to calculate carbon foot print

What is jsp page, A JSP page is a text-based document that having two types...

A JSP page is a text-based document that having two types of text: static template data, which can be expressed in any text-based format like HTML, SVG, WML, and XML, and JSP eleme

Write a quality and complexity analysis report, In the context of this cour...

In the context of this course work, you are asked to write a quality and complexity analysis report by applying programming design and implementation metrics for the AnagramGame Ja

Java program to scrape, Java Program to Scrape, Data Mine Project Descri...

Java Program to Scrape, Data Mine Project Description: I need to data scrape/ mine data from a website and do some data processing. Skills required: Java, Data Mining,

How can you define a consistent web design, How can you define a consistent...

How can you define a consistent web design? Why is it needed? A consistent web design should be the one in which achieves the result in which it was designed for, which result

What are the core classes of the struts framework, Struts is a set of coope...

Struts is a set of cooperating classes, servlets, and JSP tags that make up a reusable MVC 2 design. ? JavaBeans components for managing application state and behavior. ? Eve

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd