next up previous
Next: 3.2 Dienste und Entwicklungswerkzeuge Up: 3 Java Dynamic Management Previous: 3 Java Dynamic Management

3.1 Architektur

JDMK stellt ein Framework und entsprechende Entwicklungswerkzeuge zur Verfügung, um eine auf dem JavaBeans Konzept [19] basierende Managementanwendung bzw. Managementagenten zu entwickeln. Die Basiskomponenten der Architektur sind in Abb. 1 zusammengefaßt. Die zentralen Bestandteile sind dabei das Core Management Framework, M- und C-Beans sowie verschiedene Adapter und Services.


  
Abbildung 1: JDMK-Architektur
\begin{figure}
 \begin{center}
 \centering 
\includegraphics [width=0.5\textwidth]{JDMKarch.eps}
 \end{center}\end{figure}

M-Beans (Managed Beans) sind Java Objekte, die die Intelligenz und die Funktionalität des Agenten implementieren. Ein M-Bean steht stellvertretend für ein oder mehrere Managed Objects (MOs) oder implementiert gewisse Funktionen eines Managers, z.B. die Vorverarbeitung von Daten. M-Beans werden nach dem JavaBeans Komponentenmodell entwickelt. Sie werden über ihre Objektnamen adressiert und eindeutig identifiziert. Ein solcher Objektname hat folgende Form: domainPart:classPart[.attribute=value[, attribute=value]*]. Die Namensteile können frei vergeben werden, insbesondere muß der classPart nicht mit den Namen der Implementierungsklasse übereinstimmen. Die optionalen attribute=value Paare können dazu verwendet werden, ein Bean näher zu klassifizieren. Für alle Teile des Namens können Filterregeln definiert werden, um bestimmte M-Beans zu selektieren (vgl. Filtering Service in Abschnitt 3.2).

Das Core Management Framework (CMF) stellt die BeanBox, d.h. eine Rahmenstruktur dar, in der die M-Beans registriert werden müssen, um auf JDMK-Dienste oder Kommunikationsmechanismen zugreifen bzw. von außen angesprochen werden zu können. Zur Registrierung wird der Objektname des M-Beans verwendet. Falls kein Name gesetzt wurde, generiert das CMF einen Namen für das M-Bean. Das CMF mit seinen M-Beans repräsentiert einen Management Agenten. Das CMF stellt also eine zentrale Schnittstelle bereit und die Objekte (M-Beans, Services, u.a.) können entweder vom Agenten selbst oder durch einen Manager im CMF registriert werden.

Aus den M-Beans (bzw. aus den .class-Files, die die M-Beans implementieren) lassen sich durch einen Compiler (mogen) C-Beans generieren. Die C-Beans (Client Beans) sind Proxy-Objekte für M-Beans. Die Daten und Funktionen eines entfernten M-Beans können durch den Aufruf von Operationen des lokalen C-Beans genutzt werden. C-Beans verwenden Adapter, um mit ihrem entsprechenden M-Bean zu kommunizieren. C-Beans und Adapter bilden, zusammen mit Objekten, die spezielle Managementfunktionen implementieren, die Manager-Seite der Anwendung. Auch ein Agent kann C-Beans in seinem CMF registrieren und wird dadurch zum Manager für einen anderen Agenten, der die entsprechenden M-Beans implementiert. Mit JDMK wird also die strenge Trennung zwischen Manager- und Agentenrolle aufgehoben.

Ein Adapter implementiert ein bestimmtes Protokoll und stellt eine Schnittstelle zum CMF dar. Damit lassen sich Agenten und Manager untereinander oder mit externen Anwendungen verbinden. Adapter sind ebenfalls als Beans realisiert und können sehr einfach in einem CMF registriert werden. Im Moment werden Adapter für die Protokolle RMI, HTTP, HTTP über SSL (HTTPS), IIOP und SNMP zur Verfügung gestellt. Daneben wird auch ein sogenannter HTML-Adapter angeboten. Dabei handelt es sich um einen Web-Server, der automatisch HTML-Seiten, als Zugriffsschnittstelle für die M-Beans im entsprechenden Agenten, erzeugt. Durch das Adapter Konzept kann ein JDMK-Agent über ein beliebiges Protokoll angesprochen werden. Dazu ist es nicht nötig, die Funktionalität oder den Code des Agenten zu ändern, sondern es muß lediglich ein entsprechender Adapter registriert werden. Soll bspw. über einen Standard Web-Browser auf einen Agenten zugegriffen werden, so muß im CMF des Agenten nur der HTML-Adapter registriert werden, der dann entsprechende HTML-Seiten für die registrierten M-Beans generiert. Natürlich ist es auch möglich, mehrere verschiedene Adapter gleichzeitig zu verwenden.


next up previous
Next: 3.2 Dienste und Entwicklungswerkzeuge Up: 3 Java Dynamic Management Previous: 3 Java Dynamic Management
Copyright Munich Network Management Team