CSE 421 Introduction to Operating Systems Fall 1999
Project 3: Designing Systems Using Java’s Jini Technology
Objective:
Problem Statement:
A simple view of this problem consists of a customer side and server side. Customer enters the store on the main welcome page, then will move on to category page which displays the category of products and then on to the actual product page.
A shopping cart shows all the products selected, checkout page requests user payment information, and a confirmation page confirms the order. On the server end databases store the product information, customer information, and other details needed to carry out the transaction requested by the customer. In between the customer and server are the mechanisms that transfer the information from customer anywhere to server anywhere. It is this component that we are interested in. From now on we will refer to customer as service client and server as service provider.
Design 1: Analyze the problem and provide a design using a traditional client/server distributed system. Explain architectural components (structure), communication protocols, overall operation and a sample scenario. Use diagram when needed. (Hint: Simple distributed client/server system communicating using TCP/IP protocol.)
Design 2: Redesign the system using Jini infrastructure. Use figures explain your design. Clearly list Jini features and services used with explanation. Provide code snippets where appropriate. Assume that you are dealing with a single enterprise (or service provider). Example: Buying a book on amazon.com.
Design 3: Designs 1 and 2 considered a service from a single provider. Explain using specific Jini features how you can provide a universal catalog (IBM’s Stewart Feldman’s term) of a given service from many service providers.
Design 4: Many service providers are expanding their offering by acquiring or negotiating with providers of other services. (Example 1: Microsoft negotiating with Radioshack to provide its internet service. Example 2: Amzon.com + drugstore.com). Explain how Jini can help in forming a federation of service providers out communities of service providers.
Design 5: Consider a distributed system of n-nodes or service providers. How is a failure of a node handled in a traditional distributed system? How does Jini handle it? Explain with figures and code snippets.
General Guidelines
:What to do?