next up previous
Next: JDMK Services and Development Up: Framework and Development Tools Previous: Framework and Development Tools

Architecture of JDMK

JDMK represents a framework with corresponding tools, based on the JavaBeans specification [17], for the development of management applications and management agents. The base components of the architecture are summarized in figure 2. The Core Management Framework, M-Beans, C-Beans and different kinds of adaptors and services are the essential parts of JDMK.


  
Figure 2: JDMK Architecture
\begin{figure}

 \begin{center}

 \centering 
\includegraphics [width=0.5\textwidth]{JDMKarch.eps}

 \end{center}
\end{figure}

M-Beans (Managed Beans) are Java objects implementing the intelligence and the functionality of an agent. An M-Bean acts as a representative for one or more managed objects (MOs). M-Beans are developed using a design pattern which is based on the JavaBeans component model. They are addressed with and uniquely identified by their object name. Names of M-Beans consist of the following parts: classPart[.attribute=value[, attribute=value]*]. Each of the parts can be set with user-defined values, especially the classPart does not need to be the same as the name of the class implementing the M-Bean. The optional attribute=value pairs may be used to characterize M-Beans more precisely. All parts of the name can be used to define filtering rules for selecting special M-Beans (see also Filtering Service in Section 3.2).

In order to use JDMK services or communication resources the M-Beans have to be registered at the so called Core Management Framework (CMF). Only registered Beans can be accessed from outside the CMF. The name of the M-Bean is used for the registration. The CMF generates the name if it was not set explicitly. The CMF together with its M-Beans represents the management agent. It is therefore the central interface for objects (M-Beans, services, $\ldots$) which may be registered from the agent itself or from a manager.

C-Beans (Client Beans) can be generated from M-Beans (or rather from the .class-files implementing the M-Beans) using a special compiler (mogen). C-Beans are proxy objects for remote M-Beans. M-Bean functions and data can be accessed by performing operations on C-Beans which are then propagated to the M-Bean. C-Beans use adaptors to communicate with their corresponding M-Bean. Together with their adaptors and additional management functionality they form the manager. An agent is also able to register C-Beans with its CMF. By doing this, the agent becomes a manager for that agent which implements the corresponding M-Beans. The strict separation between the manager and the agent role in protocol-based management architectures is therefore abolished in JDMK.

An Adaptor implements a special kind of a protocol, it is an interface for the CMF and hence for the agent. It is also realized as a Bean and therefore it is very easy to register adaptors at a CMF. With adaptors, manager and agent may be connected to each other or to other applications. At present RMI, HTTP, HTTP over SSL (HTTPS), IIOP, SNMP and a so called HTML adaptor, which represents a web server, are available. This concept allows to communicate with the same JDMK agent by means of different protocols. It is not necessary to change the functionality or the code of the agent, the only thing to do is to register another adaptor. Should e.g., a web browser be used to connect to an agent the HTML adaptor must be registered at the CMF of the agent. This adaptor generates HTML pages for all M-Beans which are registered at the CMF. Of course it is possible to use more than one adaptor at the same time.


next up previous
Next: JDMK Services and Development Up: Framework and Development Tools Previous: Framework and Development Tools
Helmut Reiser
7/16/1999