Next: Ergebnis der algorithmischen Transformation:
Up: Ausgangssituation
Previous: Ein SNMP-Agent für das
Die Abbildung bestehender Objektbeschreibungen in das
CORBA-Objektmodell bedingt die algorithmische Überführung der
Spezifikationssprachen, in denen die Managementobjekte beschrieben
sind. In unserem Fall handelt es sich um eine Übersetzung der in der
Internet-Managementarchitektur verwendeten ASN.1-Templatesprache
in die OMG Interface Definition Language (IDL).
Für diesen Zweck existiert ein Algorithmus [16], der im
Rahmen der Aktivitäten der Joint X/Open NM-Forum Inter-Domain
Management Task Force (JIDM) entworfen wurde und sich zur Zeit in
der Standardisierungsphase befindet. Wichtigster Gesichtspunkt bei der Überführung von Agenten einer
Managementarchitektur in eine andere Architektur ist
die unterschiedliche Mächtigkeit der jeweiligen
Informationsmodelle. Während das Internet-Informationsmodell
sämtliche Aspekte eines Agenten (Parameter und Aktionen) in Form von
skalaren Datentypen bzw. Tabellen beschreibt und - im Gegensatz zu
CORBA - keine Mechanismen wie Vererbung und Polymorphie kennt, werden
im CORBA-Objektmodell Agenten in Form von Objektklassen sowie deren
zugehörigen Attributen und Methoden definiert. Die Transformation der in SNMPv2
vorhandenen Datentypen, Makros und asynchronen Ereignismeldungen in
die CORBA-Entsprechungen geschieht folgendermaßen:
- Für jede Gruppe einer SNMP-MIB wird eine Objektklasse erzeugt; die
darin enthaltenen einfachen skalaren Datentypen werden zu
Attributen der Objektklasse. So werden zum Beispiel Integer32
bzw. TimeTicks auf die IDL-Datentypen long
bzw. unsigned long abgebildet; DisplayString und
IpAddress werden einer Sequenz von Octets zugeordnet.
- SNMP-Tabellen werden durch den Algorithmus ebenfalls zu Objektklassen
transformiert: Jede Zeile einer Tabelle wird damit zu einer Instanz
einer Objektklasse, die durch eine IDL-Schnittstelle festgelegt
ist. Ein Beispiel soll dies erläutern: Enthält ein
System drei Festplatten, so wird dies auf der SNMP-Seite durch das
Anlegen von drei Zeilen der Tabelle stoTable
dargestellt. CORBA-seitig würden stattdessen drei Instanzen
der Objektklasse StorageDevice erzeugt. Das CORBA-Objektmodell
ist hierbei dem intuitiven Verständnis näher als das
entsprechende Internet-Informationsmodell.
- Variablen, die einzelne Felder der Tabelle spezifizieren,
werden im Falle einfacher Datentypen zu Attributen der entsprechenden
Objektklasse.
- SNMP-Traps werden in CORBA-Events, asynchrone Ereignismeldungen,
transformiert, die durch den Object Event Service
([9]) bereitgestellt werden.
Obwohl mit dem Übersetzungsalgorithmus dem Entwickler ein mächtiges
Werkzeug zur syntaktischen Überführung von SNMP-Objektbeschreibungen in das
CORBA-Objektmodell zur Verfügung steht, sind manuelle Eingriffe
erforderlich, da Managementsemantik im Internet-Informationsmodell oft
nur implizit definiert
ist: So wird das Auslösen von Aktionen auf Managementobjekten,
für das in der Internet-Managementarchitektur kein explizites
Sprachmittel vorgesehen ist, durch das
Setzen entsprechender MIB-Variablen (sogenannter
Pushbutton-Variablen) simuliert. Das CORBA-Analogon
hierzu besteht im Aufruf einer Methode auf dem jeweiligen
Managementobjekt. Der Übersetzungsalgorithmus, der die Abbildung der
SNMP-Datentypen in äquivalente IDL-Konstrukte vornimmt, müßte also
eine Pushbutton-Variable auf eine Methode des Managementobjektes
abbilden. Da Pushbutton-Variablen jedoch nicht syntaktisch erkennbar
sind, muß diese Transformation manuell durch den Entwickler
erfolgen. Eine MIB-Variable stoFormat, deren Setzen die
Formatierung einer Festplatte veranlaßt, muß daher manuell auf eine
Methode storage_format der Objektklasse Storage
abgebildet werden, da sie ansonsten durch algorithmische Umsetzung zu
einem einfachen Attribut würde.
Next: Ergebnis der algorithmischen Transformation:
Up: Ausgangssituation
Previous: Ein SNMP-Agent für das
Copyright Munich Network Management Team