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