![]() | ![]() |
Products |
Goals
The goal of the development of the IIOP Tracer was the creation of a tool to monitor CORBA applications in a way that is transparent to the application. Our solution is based on collecting network traffic data of the CORBA communication among the application objects. The diagram below depicts the overall functionality of the IIOP Tracer in a simplified fashion. It shows a CORBA application with objects running on several networked nodes. The communication between client and server is monitored and decoded by by the IIOP Tracer. Subsequently, the resulting information can be visualized by the backends provided or can be fed to existing management environments.
Image preview: overall architecture
Process structure At the process level, the entire system is divided into two parts: the Sniffer and the TraceServer. The Sniffer encapulates the netwaork access while the TraceServer is responsible for the decoding and processing of the IIOP messages.
Components Next is a short overview of the functional structure. All components will be described in detail later in this document. This section is only meant to help you indentify the context of the existing components. The IIOP Tracer consists of the following components:
The job of a packet sniffer is to collect all data packets that are transmitted over the network. It then checks for the packet type. If the current packet is not an IIOP packet, it can be discarded immediately and the next packet is read. The sniffer also reassembles packets that have been fragmented in the network level and passes them to the decoder as a complete message. Since GIOP does not contain any information about connections which is needed by the decoder, this must be provided by the packet sniffer as well.
The decoder is the core component of the IIOP Tracer. It utilizes the functionality offered by the other components and combines the data accordingly. It receives raw data output from the packet sniffer, decodes it using information provided by the frontends and passes the refined data on to the backends for final processing.
The information necessary to decode IIOP messages is provided by a frontend. It consists of interface descriptions and typecodes (type descriptions) of the parameters passed within the messages exchanged. The necessity to feed the decoder with additional data arises from the specification of GIOP, since for single elements of the message body the type information is not part of the message proper.
The job of the backend is to generate a final presentation of the data processed by the the decoder. Examples are simple log files or a graphical representation.
In addition, a coordinator is introduced which must take care of the initialization and integration of the constituent components of the TraceServer (Decoder, Frontend, Backend) and Sniffer (Packet Sniffer). TThe coordinator is the central component which also controls initialization and parameterization of the components under its management. |