Readings:
|
Build a distributed to-do list using Java and CORBA. Various clients should be able to connect to a server managing various to-do list objects to query list items, add list items, delete list items, and clear to-do lists. The server should also have management functionality that allows member registration. Each to-do list item has a description, and a start time and an end time in which users must complete their items. Users should be able to add any number of items to their to-do lists.
For this programming exercise, we will be using JavaSoft's Java IDL, which is a CORBA ORB written completely in Java. The advantages of Java's IDL are that it is free and very portable. Its disadvantage is that its functionality is minimal. However, it supports static method invocations, and it has a naming service, which is all we need for this programming exercise. The Java IDL compiler (idlj
) is packaged with the latest version of Java (1.4.2 as of the time of this writing). You may find documentation for the idlj
compiler here.
Your to-do list should implement the following functionality. Each piece of functionality outlined below must be accessible from the client using the CORBA naming service. Each user's to-do list must be a separate object that is managed using CORBA.
Your client must be accessible via a simple console-based menu.
To complete this assignment, you will need to manage multiple CORBA objects using the CORBA naming service. For each user that successfully registers, you must create a new to-do list and add it to the CORBA naming service. To that end, you will need to write a to-do list creator that creates to-do lists and adds them to the CORBA naming system. The to-do list creator must be also be accessible using the CORBA naming service. Therefore, if there are n to-do list system users, CORBA must manage n+1 CORBA objects — one to-do list object for each user plus the creator object. You will need to perform the following tasks to complete this assignment.
Coding Style and Documentation
You are expected to design classes in an object-oriented manner using good programming practices.
Your code must be written using Java coding conventions . Your code must be well documented and contain a README file with instructions on compiling and running each program.
The files you should turn in are listed below.
To help yourself do your best on this assessment, consult this general list of grading guidelines.