An event manager acts as the event controller between notifiers and handlers to manage both client and server side events regardless of the location of the notifiers and the handlers. For client event notifications between a client workstation and a server workstation, an event manager instance exists on the client workstation and another instance exists on the server workstation. The client event manager listens for an arriving event and sends any new event to objects interested in receiving the event. For server side events, including server events and external events, the event mechanism uses JMS programming model and message queue to handle remote event propagation and handling. The chart below shows the architecture of the toolkit event management system.
The event system consists of two subsystems. One is the client-side subsystem, and the other is the server-side subsystem. The server-side subsystem uses message queue to transmit and receive event between server and external servers. For the client-side subsystem, the event receiver and sender stay in the same JVM. To tell the client-side subsystem from the server-side subsystem, the event handler and event notifier in server-side have a prefix BTT , while their client-side counterparts have a prefix DSE.