next up previous contents
Next: 2.4.1 Vorteile von CORBA Up: 2 Vorgehensmodell Previous: Abbildung auf Managementarchitekturen

2.4 Realisierung des Prototypen

  Agenten realisieren ein Managementmodell, indem sie Objektklassen des Modells instantiieren und somit Managed Objects bereitstellen, welche Abstraktionen von realen Ressourcen für eine Managementanwendung sind. Die Anwendung kommuniziert mit dem Agenten, um Informationen über eine Ressource zu erlangen oder auf diese einzuwirken. Die Low-Level-Interaktionen zwischen dem Agenten und der Ressource bleiben der Anwendung verschattet, die nur über die Attribute und Methoden der Managed Object Boundary auf das Objekt zugreifen kann. In diesem Abschnitt wird die prinzipielle Vorgehensweise vorgestellt, die in dieser Arbeit zu einem Prototypen für einen Agenten führt, der Teile des Objektmodells implementiert. Abbildung 2.4 illustriert sowohl die Erzeugung des Modells (linke Hälfte), die Implementierung der Agenten (untere Hälfte) und die Verwendung des Modells und der Agenten in einer Managementlösung (rechte, obere Hälfte).


 
Abbildung:  Vorgehensmodell für die Realisierung des Agentenprototyps
7#7

Die Top-Down-Modellierung beginnt, wie bereits beschrieben, mit der Suche nach relevanten Managementobjektklassen. Hierzu werden Konzepte aus den RM-ODP Viewpoint Languages - vor allem aus dem Computational und Engineering Viewpoint - für die Belange des Managements herangezogen. Die weitere Modellierung gemäß Kapitel 2.3 wird durch das CASE-Tool Software through Pictures (StP) [Int96b] unterstützt. Der Einsatz dieses Werkzeugs wird in Kapitel 6.1.1 beschrieben. Das OMT-Modell wird im Object Model Editor von StP bearbeitet.

Der Agent soll auf Basis von OMG CORBA (siehe Kapitel 3.6) implementiert werden. Zur Beschreibung von Objektklassen benutzt CORBA die von konkreten Programmiersprachen unabhängige Interface Definition Language. Mittels IDL werden die Attribute und Methoden einer Klasse durch Typisierung und Angabe von Parametern festgelegt. IDL unterstützt Vererbung und die Definition komplexer Typen.

StP kann für die Klassen des Objektmodells Code in den Sprachen Ada, C++, IDL, Java und Smalltalk erzeugen. Hierzu ist es erforderlich, daß in der Klassentabelle von StP alle Attributtypen sowie die Argumente, Rückgabewerte und Ausnahmen der Methoden deklariert werden.

Aus den IDL-Objektbeschreibungen generiert ein IDL-Compiler im nächsten Schritt Server skeletons und Client stubs für eine konkrete Programmiersprache. Der IDL-Compiler ist Bestandteil der CORBA-Entwicklungsumgebung. Die Abbildung von IDL auf eine Programmiersprache wird von der OMG durch sog. Language Mappings standardisiert. Der hier eingesetzte IDL-Compiler idl2java gehört zum Produkt VisiBroker for Java V3.0 der Firma Visigenic Software, Inc. und erzeugt Code-Gerüste für die Sprache Java (siehe Kapitel 6.3.1).

Der nächste Schritt ist die Implementierung der Server-Objekte, die einen CORBA-Agenten bilden. Hierzu werden die Code-Gerüste des IDL-Compilers mit Java-Code ergänzt, welcher die Attribute und Methoden der MOCs implementiert. Dieser Code beschafft die managementrelevante Information bzw. realisiert die Manipulationsmöglichkeiten der Ressource durch eine Anwendung. Eine Wiederverwendung von bestehendem C-Code eines SNMP-Agenten ist möglich, falls dieser in einzelne Prozeduren bzw. Module für das Lesen und Schreiben von Attributen gegliedert ist. Die Module können durch das Java Native Interface (siehe Kapitel 6.3.4) in die Server-Objekte integriert werden. Dadurch geht natürlich die Plattformunabhängingkeit des Java-Codes verloren. Da aber der Code eines Agenten für das Systemmanagement durch die Heterogenität der Systeme in den seltensten Fällen plattformunabhängig ist, wird der Verlust durch die Einsparung der Neuimplementierung aufgewogen. Eine Kapselung des SNMP-Codes in Objektklassen eignet sich prinzipiell auch für die Migration von Altsystemen (legacy systems) sowie zur Realisierung eines multiarchitekturellen Agenten [HKN96].

Nach Abschluß der Implementierung und Übersetzen der Server-Objekte durch einen Java-Compiler liegt der Prototyp eines CORBA-Agenten vor. Die Laufzeitumgebung von VisiBroker for Java V3.0 besteht aus einem Object Request Broker (ORB) nach der CORBA-Spezifikation 2.0 und den CORBA-Services Naming und Event. Asynchrone Meldungen der Managed Objects werden über den Event-Service den Managementanwendungen zugestellt.

Um eine graphische Oberfläche für den Zugriff auf die Managed Objects bereitzustellen, wird für den Prototypen eine Anwendung in Form eines Java-Applet implementiert. Das Management-Applet ruft als Client Methoden der Server-Objekte des Agenten auf. Der ORB realisiert die Kommunikation zwischen den verteilten Objekten. Die Implementierung des Managers als Java-Applet hat den Vorteil, daß die Anwendung system- und ortsunabhängig in jedem Web-Browser, der Java unterstützt, ausgeführt werden kann. Weiterhin sind Änderungen und Erweiterungen leicht möglich, da sie keine Neuinstallationen der Software auf den Managersystemen nach sich ziehen. Der Navigator der Firma Netscape integriert seit Version 4.0 zudem den ORB - allerdings in der alten Version 2.5 - von Visigenic.



 
next up previous contents
Next: 2.4.1 Vorteile von CORBA Up: 2 Vorgehensmodell Previous: Abbildung auf Managementarchitekturen
Copyright Munich Network Management Team