Sun WBEM SDK 開発ガイド

プロバイダの登録

サポートするデータと処理、およびそれらの物理的な実装についての情報を公開するため、CIM Object Manager にプロバイダを登録します。CIM Object Manager は、この情報を使用してプロバイダのロードと初期化、および特定のクライアント要求に適切なプロバイダを決定します。すべてのタイプのプロバイダについて、同じ方法で登録します。

プロバイダを登録する方法
  1. CIM クラスを定義する MOF ファイルを作成します。

  2. そのクラスに、provider 修飾子を割り当てます。provider 修飾子には、プロバイダ名を割り当てます。

    プロバイダ名により、そのクラスのプロバイダとしての役目をする Java クラスが識別されます。クラス名は、完全に指定する必要があります。次に例を示します。

    [Provider("com.kailee.wbem.providers.provider_name")]
    Class_name {
    …
    };


    注 –

    プロバイダ名が固有になるように、Java クラスおよび Java パッケージの命名規則に従うことを推奨します。固有のパッケージ名の接頭辞は小文字の ASCII 文字で、トップレベルのドメイン名にする必要があります。現在は、comedugovmilnetorg、または、ISO 標準 3166、1981 で指定されている国名を識別する 2 文字コードなどです。

    パッケージ名の後に続く名前は、組織内部の命名規則によって異なります。たとえば、あるディレクトリ名のコンポーネントは、部名、課名、プロジェクト名、マシン名、あるいはログイン名などになります (例 : com.mycompany.wbem.myprovider)。


  3. MOF ファイルをコンパイルします。次に例を示します。


    % mofcomp class_name
    

MOF コンパイラを使って MOF ファイルをコンパイルする方法については、『Solaris WBEM Services の管理』を参照してください。

MOF ファイルの変更

コンパイル済みの MOF ファイルに入っているクラス定義を変更する場合は、MOF ファイルをコンパイルし直す前に、そのクラスを CIM Object Manager Repository から削除する必要があります。削除しないと、クラスがすでに存在するためエラーになり、新しい情報が CIM Object Manager に伝達されません。クラスとクラス属性の削除で説明しているように、CIM WorkShop を使用してクラスを削除することができます。

例 — プロバイダの登録

次の例は、SimpleInstanceProvider によって提供される Ex_SimpleInstanceProvider クラスを CIM Object Manager に宣言する MOF ファイルを示したものです (例 5–1) 。MOF ファイルのプロバイダ名とクラス名は、次の規則に従っていなければなりません。


例 5–5 SimpleInstanceProvider MOF ファイル

// ===================================================================
// Title:       SimpleInstanceProvider
// Filename:    SimpleInstanceProvider.mof
// Description:
// ===================================================================

// ==================================================================
// Pragmas
// ==================================================================
#pragma Locale ("en-US")

// ==================================================================
//   SimpleInstanceProvider
// ==================================================================
[Provider("SimpleInstanceProvider")]
class Ex_SimpleInstanceProvider
{
   // プロパティ
      [Key, Description("First Name of the User")]
   string First;
      [Description("Last Name of the User")]
   string Last;
};