The MIS components can be used in various configurations. A frequently used configuration is shown below. The Monitor can receive events from an Application over http. The Web Client is connected to the Monitor by a persistent http connection. The Monitor pushes the events that it receives from the Application over this http connection to the Web Client.
As shown in the figure the Monitor actually consists of two parts, the Web Application and the Event Router.
The Event Router can be described as a lightweight messaging middleware service. The MIS uses a modified version of the open source pushlets framework as the default Event Router implementation. The Event Router receives events from the Web Application (organized by topic) and the Web Client listens to a specific topic on the Event Router. The Event Router maintains the persistent http connection with the Web Client.
The Web Application can be a simple one, just consisting of some html, jsp and svg files, directly forwarding the events that it receives to the Event Router, or it can be a more complex application, offering features like event queuing logic for delaying the incoming event flow from the application, timing control options (to adapt the display speed of events) or simulation tools that can display predefined scenarios. The MIS offers java libraries that implement this functionality.
In a typical usage scenario a user approaches the Monitor url with a Web Client. He specifies a session id (in this case the username) that informs the Monitor which application session he wants to monitor. The Web Client connects to the Event Router and is ready to receive events.
The figure below shows an example of the event flow. In this example the Application is executing 3 concurrent sessions of Andrew, John and Peter. All events are sent to the Monitor. The Web Application compares the incoming events with the interested Web Clients. It finds that no client is interested in the events of Andrew, so they are not processed. The other events are (after queuing) sent to topics on the Event Router that match the session ids of the Web Clients. The topic based publish subscribe mechanism of the Event Router neatly separates the event flows of John and Peter. In the Web Client the events are parsed and translated into graphical updates.