next up previous contents
Next: 4.1.1 Schritt 1: Das Up: 4 JMAPI, CIM und Previous: 4 JMAPI, CIM und

4.1 Umwandlung von MOF in .mo-Dateien

Im folgenden soll demonstriert werden, wie aus den MOF-Dateien der CIM Schemata mit Hilfe spezieller Skripten .mo-Dateien generiert werden können, die dann unter Verwendung des mit JMAPI mitgelieferten Managed Object Compilers Moco zur Erzeugung entsprechender JMAPI Managed Object Klassen dienen können.

Ausgangspunkt sei eine Datei in MOF Syntax, file.mof. Diese Datei beschreibt u.a. die Klassen, die als Basisklassen für JMAPI Managed Objects dienen sollen, und die im folgenden zu extrahieren und in eine vom JMAPI Managed Object Compiler akzeptierte Form zu transformieren sind. Neben diesen Klassen enthält die Datei allerdings auch Klassen, die keine Managed Objects modellieren, wie etwa die Associations zwischen Managed Objects. Associations werden in JMAPI über spezielle Association-Objekte verwaltet. Die Klasse ManagedObjectImpl stellt Methoden zur Verwaltung aller mit einem gegebenen Managed Object assoziierten MOs zur Verfügung. Aus diesem Grund kann in der weiteren Vorgehensweise auf eine Behandlung von Associations verzichtet werden[*].

Die Umwandlung der MOF-Datei erfolgt in mehreren Schritten. Nach einer kurzen Auflistung dieser Schritte folgen hierzu nähere Einzelheiten:

1.
Entfernen der Kommentare, Pragmas, Qualifier-Definitionen sowie fast aller Qualifier. Pragmas und Qualifier-Definitionen können für das .mo-Format außer acht gelassen werden. Von den Qualifiern werden nur der Abstract-Qualifier und der Association-Qualifier berücksichtigt. Der Abstract-Qualifier kennzeichnet abstrakte Klassen, die auch im Java-Code als solche gekennzeichnet werden müssen. Der Association-Qualifier wird zur Aussonderung von Associations benötigt.
2.
Konvertierung in eine Datei mit Java-Syntax, die bereits alle Managed Object Klassen samt ihrer Attribute beinhaltet, aber noch keine get- und set-Methoden für die Attribute enthält.
3.
Einfügen der entsprechenden get- und set-Methoden für die Attribute.
4.
Aufspalten der Datei in eine Reihe von .mo-Dateien, von denen jede ein Managed Object enthält, und die dann vom JMAPI Managed Object Compiler bearbeitet werden können.
Abbildung 4.1 zeigt den Ablauf der Konvertierung im Überblick.


  
Abbildung 4.1: Schematischer Ablauf der Konvertierung von MOF nach .mo
\begin{figure}
 \begin{center}
 \leavevmode
 
\epsffile {Bilder/mofConv.eps}

 \end{center}\end{figure}

Für die Ausführung obiger Schritte wurden vier Perl-Skripten entwickelt (siehe Anhang A). pass1.pl nimmt die Datei file.mof als Eingabe und erzeugt die Datei _file.mof als Ausgabe. Diese wird in einem weiteren Schritt von pass2.pl weiterverarbeitet zur Datei _file.mo, die bereits Java-Syntax besitzt. Als nächstes fügt pass3.pl die get- und set-Methoden für die Attribute hinzu. Im letzten Schritt spaltet break-it-up.pl die Datei in eine Reihe von kleineren Dateien auf, von denen jede eine JMAPI Managed Object Klasse beschreibt. Dies ist nötig, da alle Klassen in Java als public deklariert werden, und eine Java-Quellcode-Datei nur jeweils eine als public deklarierte Klasse enthalten darf.

Nachfolgend soll die Vorgehensweise anhand der Umwandlung der Datei CIM_CoreSchema20.mof, die das CIM Core Schema beschreibt, näher erläutert werden.



 
next up previous contents
Next: 4.1.1 Schritt 1: Das Up: 4 JMAPI, CIM und Previous: 4 JMAPI, CIM und
Copyright Munich Network Management Team