next up previous
Next: Überführung bereits existierender Managementfunktionalität Up: Implementierung multiarchitektureller Agenten Previous: Implementierung multiarchitektureller Agenten

Transformation von SNMP-MIBs in CORBA-Objektbeschreibungen

  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 Allomorphie kennt, werden im CORBA-Objektmodell Agenten in Form von Objektklassen sowie den dazugehörigen Attributen und Methoden definiert. Die Konsequenzen dieser Unterschiede sind nachfolgend skizziert.

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 [15], der sich zur Zeit in der Standardisierungsphase befindet und die Transformation der in SNMPv2 vorhandenen Datentypen, Makros und asynchronen Ereignismeldungen in die CORBA-Entsprechungen vornimmt:

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 Objektklasse.

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 maschinell zu einem einfachen Attribut würde. Auch in diesem Fall zeigt sich, daß das CORBA-Objektmodell dem betrachteten Problembereich angemessener ist als die Internet-Variante.


next up previous
Next: Überführung bereits existierender Managementfunktionalität Up: Implementierung multiarchitektureller Agenten Previous: Implementierung multiarchitektureller Agenten
Copyright Munich Network Management Team