サポートするデータと処理、およびそれらの物理的な実装についての情報を公開するため、CIM Object Manager にプロバイダを登録します。CIM Object Manager は、この情報を使用してプロバイダのロードと初期化、および特定のクライアント要求に適切なプロバイダを決定します。プロバイダはすべて同じ方法で登録します。登録時に CIM Object Manager、プロバイダとも動作している必要はありません。
CIM クラスを定義する MOF ファイルを作成します。
そのクラスに、provider 修飾子を割り当てます。provider 修飾子には、プロバイダ名を割り当てます。
プロバイダ名により、そのクラスのプロバイダとしての役目をする Java クラスが識別されます。クラス名は、完全に指定する必要があります。次に例を示します。
プロバイダについては、プロバイダ名が固有になるように、Java クラスおよびパッケージ命名規則に従うことを推奨します。固有のパッケージ名の接頭辞は小文字の ASCII 文字で、トップレベルのドメイン名にする必要があります。現在は、com、edu、gov、mil、net、org、または、ISO 標準 3166、1981 で指定されている国名を識別する 2 文字コードなどです。
パッケージ名のあとの名前は、組織内部の命名規則によって異なります。たとえば、あるディレクトリ名のコンポーネントは、部名、課名、プロジェクト名、マシン名、あるいはログイン名などになります (例 : com.mycompany.wbem.myprovider)。
[Provider("com.kailee.wbem.providers.provider_name")]
Class_name {
...
};
MOF ファイルをコンパイルします。次に例を示します。
mofcomp class_name
例 7-5 のサンプル MOF ファイルは、インスタンスプロバイダ (fruit_class_provider)、プロパティプロバイダ (fruit_prop_provider)、およびメソッドプロバイダ (fruit_method_provider) を登録する Fruit というクラスを作成します。
// fruit_class_provider を Fruit クラスのプロバイダとして登録
[Provider("com.food.fruitprovider.fruit_class_provider")]
Fruit {
// fruit_prop_provider は、プロパティ a のプロバイダである。
[Provider("com.food.fruitprovider.fruit_class_provider")]
- string a;
// fruit_prop_provider は、プロパティ b のプロバイダでもある。
[Provider("com.food.fruitprovider.fruit_class_provider")]
string b;
// fruit_method_provider は、メソッド b のプロバイダである。
[Provider("com.food.fruitprovider.fruit_class_provider")]
int b();
};
|