Offered Lab Projects

Back Home Next

Members
Papers
Related Projects
Offered Lab Projects
Download

 

Using Worldwide Object Location Service


One problem that has to be solved by CASCADE is the problem of finding an object in the Internet by some search key. This is a fundamental problem of object oriented distributed systems which has no silver bullet solution. The current CASCADE implementation (namely, the Locator module of CASCADE) uses a CORBA naming service for the purpose of object location. One more advanced object location service has been developed as part of the Globe project by the group of Prof. Andrew Tanenbaum and Prof. Maarten van Steen. 

In this project, you should replace the Locator module of CASCADE by an implementation that makes use of the above mentioned location service. This is a unique opportunity to learn about the advanced algorithms and technologies employed by the both systems without the actual need to know the technical low level details required to build such systems. 

The project should be implemented in Java.

CORBA News (Discussion Groups)


In this project you should implement a distributed News application consisting of a News server and a simple graphical browser. The application is based on three types of distributed entities: a news server serves a number of news groups. Each news group is a holder for messages sent to this group. 

News servers are CORBA objects running within persistent servers which are operating system processes. The main news server function is to be a factory of news groups (The description of the factory design pattern can be found in any book on OO). Its basic interface should contain operations for creating a group, deleting a group, and querying a list of groups that currently exist in the server.

News groups are also CORBA objects. A group is identified by its name which is unique in the scope of the server that created the group. The basic interface of the group object should contain methods for posting a message, retrieving a message, and querying a list of posted messages. 

News message is merely a text, possibly incorporating small gif pictures (and optionally short sounds) out of some pre-defined set. It should be defined as an IDL structure. 

News browser is a graphical application intended for executing the operations described above: getting a list of groups created at this server, getting a list of messages, publishing a message etc. Of course, its functionality and graphical interface should be much simpler than those of "real" news browsers, e.g., xrn. However, you can take the latter as a basis and simplify it to some reasonable extent. In general, a user experience with some typical news browser would help you to finalize both GUI and functionality. 

The application should be able both to work without CASCADE, or to use CASCADE for caching news groups. However, if the application is properly designed, then making a non-CASCADE application to work with CASCADE requires adding just few lines of code. 

Interfaces and granularity: Refining the suggested division into distributed objects and designing IDL interfaces of these objects is an important part of the project. 

Modular code design: there should be a clear separation to GUI, application logic and (CORBA) communication modules. The separation should be so strict that if somebody needs to port the application to another middleware, she would only need to replace the communication module. 

The project should be implemented in Java.

 

© 1998-2002 Distributed Systems Lab, Department of Computer Science, Technion - Israel Institute of Technology 
For problems or questions regarding Cascade contact Roman Vitenberg.
Last updated: 10-09-2002.