サポートするデータと処理、およびそれらの物理的な実装についての情報を公開するため、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(); }; |