next up previous
Next: 4 Management des Telephony Up: 3 Java Dynamic Management Previous: 3.1 Architektur

3.2 Dienste und Entwicklungswerkzeuge

  Neben den beschriebenen Basiskomponenten, bietet JDMK eine Reihe von Diensten und Werkzeugen, um die Entwicklung von Managementanwendungen zu vereinfachen (vgl. Abb. 2).


  
Abbildung 2: JDMK-Dienste und Entwicklungswerkzeuge
\begin{figure}
 \begin{center}
 \centering 
\includegraphics [width=0.5\textwidth]{JDMKserv.eps}
 \end{center}\end{figure}

Der Repository Service wird im Zusammenhang mit der Registrierung von Beans im CMF verwendet. Er dient dazu, Beans persistent oder flüchtig im CMF zu registrieren.

Mit Hilfe des Filtering Service können für die bei einem CMF registrierten M-Beans Filterregeln angegeben werden, um alle M-Beans, die der jeweiligen Filterregel entsprechen, auszuwählen. Regeln können über Methoden, Attribute und deren konkrete Belegung sowie über Objektnamen oder Bestandteile davon definiert werden.

Um die Eigenschaften und Methoden, die ein M-Bean unterstützt, zu ermitteln, wird der Metadata Service verwendet, der sich auf die Java Reflection API abstützt. Dieser Dienst ist neben dem Repository- und dem Filtering Service ein sogenannter Basisdienst des CMF.

Um alle aktiven CMFs ermitteln zu können, kann der Discovery Service verwendet werden. Dieser Dienst sendet einen IP-Broadcast, auf den alle CMFs antworten, die einen sogenannten Discovery Responder registriert haben.

Agent und Manager können verschiedene Class Loader -- sogar parallel -- verwenden, um Implementierungsklassen, lokal oder von entfernten Quellen, zu laden. Der Library Loader Service ermöglicht es, plattformspezifische, nicht in Java implementierte Bibliotheken (dynamisch gebundene Libraries) innerhalb eines M-Beans zu verwenden. Als Repository für Class-Files und Bibliotheken kann ein lokaler oder entfernter Class and Library Server verwendet werden. Dieser Server kann sowohl als eigenständige Anwendung laufen, da er jedoch als M-Bean realisiert ist, kann er auch innerhalb eines CMF registriert werden.

Für das Nachladen von Code, für Update-Mechanismen und das Bootstrapping, werden M-Let und Launcher Service sowie der Bootstrap Service zur Verfügung gestellt.
Der M-Let Service (Management Applet Service) ist ein Dienst, um dynamisch M-Beans zu laden und zu konfigurieren. Dazu wurde ein neues HTML-Tag (<MLET>) definiert. Der M-Let Service arbeitet wie folgt (vgl. Abb. 3):

1.
Der M-Let Service lädt über eine URL eine HTML-Datei, der er alle Informationen über zu ladende M-Beans (z.B. Namen, Objekte, Code Repository) entnehmen kann.
2.
Mit Hilfe dieser Informationen kann er die Implementierungen der entsprechenden M-Beans laden und instantiieren.
3.
Danach müssen die M-Beans noch im CMF registriert werden.
Im (<MLET>)-Tag können auch Versionsnummern angegeben werden. Damit kann der M-Let Service dann auch zur Versionsverwaltung verwendet werden.
  
Abbildung 3: Funktionsweise des M-Let Service
\begin{figure*}
 \begin{center}
 \centering 
\includegraphics [width=0.95\textwidth]{MLet.eps}
 \end{center}\end{figure*}

Der Bootstrap Service ist eine standalone Java Anwendung, die die Verteilung und Instantiierung von JDMK-Agenten vereinfacht. Dieser Dienst kann Agenten von einem entfernten oder lokalen Server laden. Dazu initialisiert er das CMF, startet den M-Let Service, lädt die notwendigen Klassen und initialisiert, registriert und startet alle notwendigen M-Beans und Services des Agenten.

Der Cascading Service ermöglicht die Entwicklung von hierarchischen Master- und Subagentenstrukturen. Der Master Agent stellt dabei die zentrale Zugriffsschnittstelle für den Manager dar und macht die tatsächliche Lokation der Subagenten transparent.

Daneben stellt JDMK auch vordefinierte Managementbasisdienste zur Verfügung. Der Event Service ermöglicht eine asynchrone Kommunikation über Unicast- und Multicast-Events. Ein Timer und Scheduler Service ermöglichen es, Events, Alarme oder Aktionen zu bestimmten Zeitpunkten oder in bestimmten Intervallen auszulösen. Daneben werden Monitore zur Überwachung von Zählern (Counter-Monitor) und Schwellwerten (Gauge-Monitor) zur Verfügung gestellt.

Bei den Entwicklungswerkzeugen sind die beiden Compiler mogen und mibgen zu erwähnen; mogen wird verwendet, um aus M-Bean .class Dateien C-Beans zu generieren.
Sind für die zu managende Komponente bereits SNMP-MIB Beschreibungen vorhanden, so können mit dem mibgen Compiler daraus M-Beans erzeugt werden, die eine Rahmenstruktur implementieren, die die MIB repräsentiert. Diese M-Beans müssen um Funktionen, die den Zugriff auf das zu managende System implementieren, erweitert werden. Mit Hilfe von JDMK lassen sich standalone SNMP-Agenten sowie integrierte SNMP-Agenten, die innerhalb des CMF laufen, implementieren. Integrierte Agenten können über die Adapter des CMF, neben SNMP auch über andere Protokolle (z.B. RMI, IIOP, usw.) angesprochen werden. Standalone Agenten sind nur über SNMP zugreifbar, sie sind von außen nicht von einem gewöhnlichen SNMP-Agenten zu unterscheiden.


next up previous
Next: 4 Management des Telephony Up: 3 Java Dynamic Management Previous: 3.1 Architektur
Copyright Munich Network Management Team