Distributed ticket reservation system, JAVA Programming

In this programming assignment, you are going to implement the simple distributed ticket reservation system (DTRS) from Assignment 1 in CORBA using Java IDL. In addition to the three operations (namely, reserve, cancel, and check) defined in Assignment 1, a modified distributed ticket reservation system in this assignment also has the following operation.

exchange(customerID, reservedShowID, reservedTickets, desiredShowID, desiredTickets):

Exchange reservedTickets for the show with reservedShowID with desiredTicktes for the show with desiredShowID for the customer with customerID, if possible. A client invokes this operation at the server managing the show with reservedShowID. The DTRS executing this operation first checks whether the customer with customerID has already reserved at least reservedTickets for the show with  reservedShowID. Then it checks if at least desiredTickets are available for the show with desiredShowID. If both conditions are satisfied, then the DTRS performs the exchange by reserving desiredTickets for the show with desiredShowID and cancelling reservedTickets for theshow with reservedShowID. Note that this reserving and cancelling should be done atomically; that is, both should succeed or both should fail.

Note that in order to perform an exchange operation, potentially two DTRSs need to communicate between themselves. A client sends an exchange operation to the DTRS managing the show with reservedShowID which performs this operation by (i) sending an exchange  message to the DTRS managing the show with desiredShowID if it currently has at least reservedTickets for the show with reservedShowID, (ii) upon receiving this exchange message, the other DTRS replies a canExchange message, if it currently has at leastdesiredTickets for the show with desiredShowID, after updating its information and (iii) upon receiving the canExchange reply, the DTRS which initiated this exchange properly updates its information. Obviously, all these operations must be performed atomically (in an all-or-none fashion) without any interference from other operations. Furthermore, for performance reasons, implement all these communication among DTRSs for the exchange operation using the UDP/IP datagram protocol.

In this assignment you are going to develop this application in CORBA using Java IDL.

Specifically, do the following.

Write the Java IDL interface definition for the modified DTRS with all the four specified operations.

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

Test your application by running multiple clients with multiple servers. Your test cases should check correct concurrent access of shared data, and the atomicity of exchange operations.

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







Related Discussions:- Distributed ticket reservation system, Assignment Help, Ask Question on Distributed ticket reservation system, Get Answer, Expert's Help, Distributed ticket reservation system Discussions

Write discussion on Distributed ticket reservation system
Your posts are moderated
Related Questions
Question : (a) Class file verification in CLDC is different from class file verification in J2SE. Explain and discuss how and why it is different, illustrating your answer

JZEBRA Integration into (Open ERP) Web Client Local Spooling/Printing to Local Print Device on ERP Client side Project Description: JZEBRA Integration into Open ERP Web Clien

What is the difference between preemptive scheduling and time slicing? Under preemptive scheduling, the highest priority task executes unless it enters the waiting or dead stat

What is Methods in java explain with an example? Data types aren't much use unless you can do things along with them. For this reasons classes have techniques. Fields say what

The purpose of this assignment is to help you learn the Java environment and practice I/O instructions, assignment, and simple arithmetic operators. Teams: The assignment can

Assignment Help >> JAVA Programming Learning Outcomes: 1. Use different program control statements in a programming language 2. Demonstrate the use of arrays with a programming

Create an application for Koch’s Cottages, a weekend getaway resort that rents cottages and boats to use on the local lakenimum 100 words accepted#

Why are JSP pages the preferred API for creating a web-based client program? Because no plug-ins or security policy files are required on the client systems (applet does). Also,

The Remote interface serves to recognize interfaces whose methods may be invoked from a non-local virtual machine. Any object that is a remote object must directly or indirectly ex

What is Alternate Text ? The APPLET element can have an ALT attribute. An ALT attribute is used through a browser which understands the APPLET tag but for some purpose cannot