Solaris WBEM 開発ガイド

プロバイダの作成

次の手順に従ってプロバイダを作成します。

  1. プロバイダプログラムを作成または編集します。

  2. Java プログラムをコンパイルしてクラスファイルを作成します。

  3. 共有オブジェクトファイル (.so) を /usr/sadm/lib/wbem にコピーします。

  4. CLASSPATH.class および .jar ファイルがある場所に設定します。

  5. プロバイダを登録します。

Procedureプロバイダの CLASSPATH を設定する方法

プロバイダの CLASSPATH を設定して、CIM オブジェクトマネージャに .class および .jar ファイルの保存場所を知らせます。

手順
  1. Solaris_ProviderPath クラスのインスタンスを作成します。

    次に例を示します。

    /*  root\system 
    
    (名前空間名) で初期化された名前空間オブジェクトを
    
    ローカルホスト上に作成する */
    
    CIMNameSpace cns = new CIMNameSpace("", "root\system"); 
    
    
    
    // root\system 名前空間にスーパーユーザーとして接続する 
    
    cc = new CIMClient(cns, "root", "root_password");
    
    
    
    //  Solaris_ProviderPath クラスを取得する 
    
    cimclass = cc.getClass(new CIMObjectPath("Solaris_ProviderPath");
    
    
    
    //  Solaris_ProviderPath の新しいインスタンスを作成する 
    
    class ci = cimclass.newInstance();
  2. 標準的な URL 形式を使用して、pathurl プロパティにファイルの場所を設定します。

    次に例を示します。

    /* プロバイダの CLASSPATH に /myhome/myproviders を設定する */ 
    
    ci.setProperty("pathurl", new CIMValue(new String 
    
                             ("file:///myhome/myproviders/"))); 

    次の表に、標準的な URL 形式を示します。

    プロバイダの CLASSPATH

    標準 URL 形式 

    ディレクトリへの絶対パス 

    file:///a/b/c/

    .jar ファイルへの絶対パス

    file:///a/b/my.jar

  3. インスタンスを作成します。

    次に例を示します。

    // 更新されたインスタンスを CIM オブジェクトマネージャに渡す 
    
    cc.createInstance(new CIMObjectPath(), ci);  

Procedureプロバイダを登録する方法

新しいプロバイダ、または変更されたプロバイダを CIM オブジェクトマネージャに登録して、プロバイダがサポートするデータおよび操作に関する情報を送受信できるようにします。また、CIMOM にプロバイダの場所を通知するためにプロバイダを登録します。CIM オブジェクトマネージャは、この情報を使用してプロバイダの読み込みと初期化、および特定のクライアント要求に適切なプロバイダを決定します。

手順
  1. プロバイダがサポートするクラスを定義するファイルを作成します。


    注 –

    MOF ファイルの詳しい作成方法については、DMTF の Web サイト http://www.dmtf.org を参照してください。


  2. MOF ファイルにプロバイダ修飾子を含めて、CIMOM のプロバイダの種類と場所を指定します。

    次に例を示します。

    [Provider("java:com.sun.providers.myprovider")]
    
    Class_name {
    
    …
    
    };

    この修飾子は、次の情報を示します。

    • java: – Java 言語で記述され、javax.wbem.provider インタフェースを実装するプロバイダ

    • com.sun.providers.myprovider – プロバイダを実装する Java クラス名

  3. mofcomp(1M) コマンドを使用して、MOF ファイルをコンパイルします。


例 6–4 プロバイダの登録

次の MOF ファイルには、Ex_SimpleCIMInstanceProvider クラスのプロバイダとして SimpleCIMInstanceProvider が宣言されています。

// ========================================================

// タイトル:       SimpleCIMInstanceProvider

// ファイル名:    SimpleCIMInstanceProvider.mof

// 説明:

// ==================================================================



// ==================================================================

// Pragmas

// ==================================================================

#pragma Locale ("en-US")



// ==================================================================

//   SimpleCIMInstanceProvider

// ==================================================================

[Provider("java:SimpleCIMInstanceProvider")]

class Ex_SimpleCIMInstanceProvider

{

   // プロパティ

      [Key, Description("First Name of the User")]

   string First;

      [Description("Last Name of the User")]

   string Last;

};