Distributed ticket reservation system, JAVA Programming

Assignment Help:

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.


Related Discussions:- Distributed ticket reservation system

program to brute force search, Introduction As an alternative to the B...

Introduction As an alternative to the Binary Search algorithm, also it could be done by the brute-force method given below. public static int rank(int key, int[] a) {     f

What do you understand by instantiating an object, Question: (a) To be ...

Question: (a) To be considered object-oriented(OO), a language should support abstraction, encapsulation, inheritance and polymorphism. Explain briefly each of the terms in

Confidentiality and privacy - security, The confidentiality and privacy may...

The confidentiality and privacy may be accomplished through encryption. Encryption may be: Private-key or symmetric: This is based on a single key. This needs the sender and the

Multiple choices output and codes, codes and output on how to make multiple...

codes and output on how to make multiple choices quiz

Determine about the runtime security manager, Determine about the runtime S...

Determine about the runtime Security Manager Java also has a runtime Security Manager can check which operations a specific piece of code is allowed to do. Consequently, java c

Search on column demonstration in semantic vector, Search on column demonst...

Search on column demonstration in Semantic Vector Project Description: I am preparing a research on Semantic Vectors. But I am not able to check out in a vector representa

Explain the role of remote interface in rmi, The Remote interface serves to...

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

43560 square feet., calculate the size of the tract of land by the size of ...

calculate the size of the tract of land by the size of an acre to get the number of acres.

Create a program using constructors, Create a program Using Constructors? ...

Create a program Using Constructors? The further program uses the constructor to initialize a car rather than setting the areas directly. class CarTest7 { public static voi

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