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:

  1. Enclosed is a sample analysis, design and report of a similar problem to the one assigned. This is an extreme example. If you have a good implementation of any of the designs mentioned above you may be able to provide a report similar to that. Since implementation is not required and only design is required, your report for each design will be between 1 to 2 printed pages including figures.
  2. For examples of explanation that includes code and figures look at see Chapter 3 of the Core Jini book.
  3. All the material submitted should be printed. Use appropriate tools for creating figures and embed them in your text.
  4. If you go ahead and implement any of the designs we can discuss how you may go on to publish it in any of the trade journals.

What to do?

  1. Form a group of two or three students with at least one with the capability to run Jini. Submit the names of your group to me.(11/18/99) (5 points)
  2. Install Java 2 and Jini and verify all the components are present. (11/29/99) (10 points) Hand in a proof.
  3. Type in and execute the HelloWorld example given chapter 5. All versions of it should be completed as given in the Chapter 5. Hand in hard copy of the programs used. (12/6/99)(10 points)
  4. Read through the material in Chapter 5 – 11 and complete the designs given.
  5. Each design is worth 15 points. Hand in the hard copy of the design neatly stapled on 12/10/99 before the lecture starts.