6.1.1 Requirements

You are required to develop the distributed infra-structure of a generic event notification system. The system consists of three separate active objects: Event generators, event notification servers and subscribed clients. Event generators should be able to send events to the server. These events should consist of a string describing the type of event, and an object encapsulating the event information. Subscribed clients should be able to send event subscriptions to the server, and thence onwards, any event matching the subscription should be returned to the subscribed client via a callback. After sending an event to all matching clients, the event should be discarded. The subscription is a regular expression which is compared to the string describing the type of the event. Clients should be able to remove a subscription when they wish.

Communication between the objects should be through Remote Method Invocation (not implemented directly in the Java Messaging Service).

Your testing strategy should show that the system works for multiple generators and clients, and that various forms of regular expression can be used.

The assignment will be a lot easier if you have attempted the rmi programming exercise available in the RMI programming exercise.


Subsections
Ian Wakeman 2005-02-22