Solaris WBEM 開発ガイド

MOF コンパイラについて

MOF (Managed Object Format) は、Distributed Management Task Force (DMTF) によって開発されたコンパイラ言語です。MOF 言語は、CIM と WBEM の静的クラス、動的クラス、およびインスタンスを定義します。Solaris WBEM サービス付属の CIM および Solaris MOF ファイルを使用できます。また、独自の MOF ファイルを作成することもできます。DMTF の MOF 言語を使用して独自の MOF ファイルを作成する方法の詳細については、DMTF の Web サイト (http://www.dmtf.org) を参照してください。

MOF コンパイラ (mofcomp(1M)) は、次のタスクを実行します。

MOF ファイルは、簡単に Java プログラミング言語に変換できます。その結果、Java テクノロジベースのアプリケーションは、Java 仮想マシンを実行する任意のマシン上で MOF ファイル内のデータを解釈したり、交換したりできます。

Solaris OS のインストール時に、MOF コンパイラは、CIM スキーマおよび Solaris プラットフォームスキーマを記述する MOF ファイルをコンパイルし、これらのファイルを CIM オブジェクトマネージャリポジトリに追加します。

mofcomp を使用した JavaBeans 構成要素の生成

JavaBeans 構成要素 (Bean) は、WBEM のコンテキストで、CIM クラスおよびデータにアクセスしたり、これらを操作したりするためのメソッドを定義します。開発作業の効率化のため、mofcomp コマンドに -j オプションを指定して、MOF ファイル内の CIM クラスから Bean を生成できます。これらの自動生成された Bean はインタフェースを定義します。実装コードは追加する必要があります。


注 –

プログラムが、基盤となる JavaBeans 実装に対して行なった変更の影響を受けないようにするため、元の JavaBeans 構成要素の代わりにインタフェースを使用します。


mofcomp コマンドに -j オプションを指定した場合、Java インタフェース CIMBean.java と、このインタフェースを実装する Bean、CIMBeanImpl.java が生成されます。CIMBeanImpl.java には、生成された Bean に共通するすべてのコードが含まれます。生成されるすべての Java インタフェースは、CIMBean.java から拡張されます。生成されるすべての Bean は、CIMBeanImpl.java から拡張され、元となる実装を継承します。

MOF コンパイラの JavaBeans 生成機能では、MOF ファイルに定義された各 CIM クラスに対して、次のメソッドを含む Java プログラミング言語インタフェースを生成します。

Java インタフェースには、CIMClassBean.java という名前が付けられます。これらの Java インタフェースを実装した Bean クラス名は、CIMClassBeanImpl.java です。また CIM DisplayNameUnits、および Version 修飾子を含むプロパティのアクセス用メソッドも生成されます。

CIM クラスの OUT 修飾子パラメータを含む invokeMethod 用に、メソッドの呼び出し生成出力を保持するコンテナインタフェースが生成されます。これらのインタフェースには、CIMClass_MethodNameOutput.java という名前が付けられます。この CIMClass_MethodNameOutput.java コンテナインタフェースのインスタンスは、Bean メソッドの最後のパラメータとして必要です。オブジェクトデータ型や Bean メソッドのパラメータのデータ型は変更できないのでこのコンテナインタフェースは必須です。よってこれらのデータ型は、データの入出力には使用できません。

MOF ファイル要素

-j オプションを利用するには、MOF ファイルに PACKAGE 要素を含める必要があります。また次の形式で IMPORTS および EXCEPTIONS 要素も指定できます。

PACKAGE=NameOfJavaPackage
IMPORTS=JavaClassName1:JavaClassName2:...
EXCEPTIONS=Exception1:Exception2:...

次の表では、これらの要素について説明します。

表 7–1 MOF ファイル要素

要素 

説明 

PACKAGE

必須。MOF コンパイラによって生成されたソースファイルを含む Java パッケージ名を指定する 

IMPORTS

任意。生成されたソースファイルにインポートする Java クラスの名前を指定する。複数のクラスを指定する場合はコロン (:) で区切る。必要な数の Java クラスを複数行にわたって指定できる 

EXCEPTIONS

任意。生成されたソースファイルに追加する Java 例外の名前を指定する。複数の例外を指定する場合はコロン (:) で区切る。必要な数の Java クラス例外を複数行にわたって指定できる 


注 –

EXCEPTIONS を指定する場合、IMPORTS を指定する必要がある