Next: 3.3 Anlegen neuer JMAPI
Up: 3 Der JMAPI Managed
Previous: Verfügbare Dienste
JMAPI Managed Objects dienen der Modellierung des managementrelevanten
Verhaltens und Zustands realer Ressourcen. Sie haben die folgenden
zwei Aufgaben:
- Sie stellen Attribute bereit, die den Zustand der zu managenden
Ressource charakterisieren. Die Ermittlung der jeweils aktuellen
Attributwerte erfolgt auf zwei unterschiedliche Arten: Der
Attributwert wird entweder in der Datenbank auf dem Managed Object
Server gespeichert und bei einer Anfrage entsprechend aus der
Datenbank abgefragt, oder er wird auf der Basis einer Operation auf
einem Agenten berechnet. Bei Attributen letzteren Typs handelt es
sich zumeist um Größen, die einer großen Änderungsdynamik
unterworfen sind und deren Speicherung in der Datenbank deswegen
nicht sinnvoll ist. Als Beispiel hierfür sei die Anzahl der gerade
laufenden Prozesse auf einer Workstation genannt. Die Attribute von
Managed Objects werden in der Regel in der JMAPI Datenbank
gespeichert, es sei denn sie werden extra durch das Schlüsselwort
transient gekennzeichnet. Änderungen von Attributen erfolgen
im Rahmen einer Session, welche einen Transaktions- und
Security-Kontext definiert. Für die Mehrbenutzersynchronisation
wird ein Algorithmus der Optimistic Concurrency Control verwendet
[Gio98a]. Wenn sich der Zustand eines Objekts der Klasse
ManagedObject ändert, werden asynchrone Ereignismeldungen
(Notifications) erzeugt, für die sich interessierte Observer
mittels des JMAPI Event-Mechanismus registrieren können
(vgl. Kapitel 5).
- Managed Objects stellen mittels der von ihnen definierten Methoden
Operationen zur Verfügung, über die Client-Applikationen
Steuerungsaktionen ausführen können. Zum einen gibt es die Möglichkeit,
Methoden zu definieren, die von Clients explizit aufgerufen werden. Zum
anderen existieren drei besondere vordefinierte Methoden (
performAddActions, performModifyActions und
performDeleteActions), die beim Ändern, Löschen und Anlegen neuer
Managed Objects selbsttätig zur Ausführung gelangen (vgl. Abschnitt
6.6). Neben der Möglichkeit, diese speziellen
Methoden zum Ausführen von Aktionen auf den Agenten zu nutzen, können sie
beispielsweise auch dazu verwendet werden, im Falle des Hinzufügens oder
Änderns von Managed Objects Konsistenzprüfungen der Attributwerte vor der
Datenbanktransaktion vorzunehmen.
Das Anlegen neuer MO Instanzen erfolgt über die Methode newObj der
Klasse sunw.admin.arm.MOFactory. Modifikationen von Attributwerten
werden durch Aufruf der für jedes Attribut vorhandenen set-Methode des
entsprechenden Managed Objects erzielt. Durch den Aufruf der Methode
deleteObject kann ein MO zum Löschen markiert werden. Es ist zu beachten,
daß sich sämtliche der hier aufgezählten Operationen stets innerhalb eines
Update-Kontexts vollziehen müssen. Ob die Operation dann tatsächlich
ausgeführt wird, hängt vom erfolgreichen Commit der Transaktion ab (vgl.
Abschnitt 6.6).
JMAPI Managed Objects werden auf dem Managed Object Server instantiiert und
von Clienten über die Java RMI Schnittstelle angesprochen. Zum Lieferumfang
von JMAPI gehört eine Reihe von MO-Basisklassen (Base Managed Object
Classes), die als Ausgangspunkt für die Entwicklung eigener
Managementapplikationen dienen sollen. In der endgültigen Version sollen
diese Klassen eine Implementierung der CIM Klassen sein. Wurzel der
Klassenhierarchie ist die Klasse ManagedObjectImpl mit dem Remote
Interface ManagedObject.
Da die MO-Basisklassen sehr allgemeiner Natur sind, wird es für die
Anwendungsentwicklung nötig sein, sie zu spezialisieren. Bei der Arbeit mit
MO Klassen sollten Applikationen soweit oben wie möglich in der
Vererbungshierarchie ansetzen, um zu gewährleisten, daß die Anwendung für
eine Vielzahl von Managed Objects einsetzbar ist.
Next: 3.3 Anlegen neuer JMAPI
Up: 3 Der JMAPI Managed
Previous: Verfügbare Dienste
Copyright Munich Network Management Team