サンプルプロバイダプログラムは、/usr/demo/wbem/provider サブディレクトリにあります。次の表では、このプログラムについて説明します。
表 3–2 サンプルプロバイダプログラム
ファイル名 |
目的 |
---|---|
NativeProvider.java |
CIM オブジェクトマネージャからの要求に応答し、この要求を Native_Example プロバイダに配信する最上位のプロバイダプログラム。このプログラムは、instanceProvider および methodProvider API を実装する。また、インスタンスを列挙するメソッドや、Native_Example クラスのインスタンスを取得するメソッドを宣言する。このほか、「Hello World」という文字列を出力するメソッドを呼び出すメソッドも宣言する |
Native_Example.mof |
NativeProvider プロバイダを CIM オブジェクトマネージャに登録するクラスを作成する。この MOF ファイルは、NativeProvider を、Native_Example クラスの動的データ要求に答えるプロバイダと見なす。NativeProvider によって実装されるプロパティとメソッドの宣言も行う |
Native_Example.java |
NativeProvider プログラムは、インスタンスを列挙したり、Native_Example クラスのインスタンスを取得したりする場合に、このプロバイダを呼び出す。Native_Example プロバイダは、API を使用してオブジェクトを列挙したり、オブジェクトインスタンスを作成したりする。Native_Example クラスはネイティブメソッドを宣言する。このメソッドは、native.c ファイル内の C 関数を呼び出し、システム固有の値を取得する。システム固有の値には、ホスト名、シリアル番号、リリース、マシン、アーキテクチャ、製造元などがある |
native.c |
Native_Example Java プロバイダのメソッドをネイティブ C コードで実装する C プログラム |
Native_Example.h |
Native_Example クラスに対して自動的に生成されるヘッダーファイル。Java プログラミング言語で作成されたネイティブメソッドの名前と、これらのメソッドを実行するネイティブ C 関数の対応関係を定義する |
libnative.so |
native.c ファイルからコンパイルされるバイナリネイティブ C コード |
サンプルプロバイダプログラムを実行する前に環境を設定する必要があります。
LD_LIBRARY_PATH 環境変数を、プロバイダクラスファイルの位置に設定します。
C シェルを使用して、次のように入力します。
% setenv LD_LIBRARY_PATH /usr/sadm/lib/wbem |
Bourne シェルを使用して、次のように入力します。
$ LD_LIBRARY_PATH=/usr/sadm/lib/wbem $export LD_LIBRARY_PATH |
libnative.so 共有ライブラリファイルを、LD_LIBRARY_PATH 環境変数によって指定されているディレクトリにコピーします。
% cp libnative.so /usr/sadm/lib/wbem |
プロバイダクラスファイルを、これらのパッケージと同じパスに移動します。
% mv *.class /usr/sadm/lib/wbem |
スーパーユーザーになります。
LD_LIBRARY_PATH 環境変数を設定したシェルと同じシェルの CIM オブジェクトマネージャを停止します。
# /etc/init.d/init.wbem stop |
シェルに LD_LIBRARY_PATH 環境変数を設定する場合は、設定した新しい値を認識させるために、そのシェルで CIMOM の停止と再起動を行なってください。
CIM オブジェクトマネージャを起動します。
# /etc/init.d/init.wbem start |
スーパーユーザー状態から抜けます。
CIMOM の適切なクラスを読み込んでプロバイダを識別するためにプログラムに関連した .mof ファイルをコンパイルします。
% mofcomp -u root p root-password Native_Example.mof |
CIM Workshop を起動します。
% /usr/sadm/bin/cimworkshop |
CIM Workshop ツールバーの「クラスを検索 (Find Class)」アイコンをクリックします。
「入力 (Input) 」ダイアログボックスで、表示したいクラス名を入力して「了解 (OK) 」をクリックします。
CIM Workshop にクラスが表示されます。