The toolkit provides the Notifier interface (com.ibm.dse.base.Notifier on the client side, and com.ibm.btt.base.Notifier on the server side) and an abstract class implementing the interface (com.ibm.dse.base.DSENotifier on the client side and com.ibm.btt.base.BTTNotifier on the server side). An object that must send events can either extend the DSENotifier class or the BTTNotifier class (depending on where the notifier is in), or implement the Notifier interface.
For the server, When a BTT handler registers for notification of a specific event, the server event manager first searches its Mirror Notifier list to check whether this Mirror Notifier exist. If the Mirror Notifier does not exist, the server event manager creates a new one. If the event list of that Mirror Notifier does not have the specific event list, it creates a new event list. The server event manager adds the corresponding Mirror Handler in the event list of this Mirror Notifier. If you no longer need the BTT Notifier, you can invoke terminate method in BTT Notifier.
For the client, when a handler registers for notification of a specific event, the client event manager first searches the current context for the notifier object. You can add the notifier to the context or the by calling the addNotifier context instance method. If the notifier is not there, the event manager then searches the table of registered notifiers. If the event manager finds the notifier in any of these places (which means that it is available locally), it adds that handler to the notifier's list of handlers. When you no longer need the notifier instance in the context, you can remove it by calling the removeNotifier method.
The toolkit also provides the Handler interface (com.ibm.dse.base.Handler on the client side and com.ibm.btt.event.Handler the server side) and an abstract class implementing the interface (com.ibm.dse.base.DSEHandler in BTT client side and com.ibm.btt.event.BTTHandler in BTT server side). An object that stay in server receives events can extend BTTHandler class and stay in client can extend DSEHandler (depending on where the handler is in) or implement the Handler interface. The Handler interface provides the methods to register an instance as a handler for an event signaled by a notifier and to dispatch that event.