|




 | |
 | 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. |
|