Message Manager allows heterogeneous clients to exchange messages. Interested clients can register to be notified of a specific message are called subscribers. A publisher publishes a message on a certain subject using the Message Manager API. The message manager, on receipt of this message broadcasts this message in a guaranteed manner to all subscriber clients who have shown interest in receiving this message.
The system is written on JAVA language with IIOP and RMI as two supported transports for JAVA and C++ clients. The following diagram illustrates the high level components in this system. All messages are first stored in a database (a light weight JAVA based database called cloudscape) which allows message manager to send the message even if the clients who are interested on the message subject are not available when the message is received. Next time when the subscriber client comes online, the messages queued up in the database are sent to the client