サンプルプロバイダプログラムは、/usr/demo/wbem/provider サブディレクトリにあります。次の表では、このプログラムについて説明します。
表 6-2 サンプルプロバイダプログラム
ファイル名 |
目的 |
---|---|
NativeProvider.java |
CIM Object Manager からの要求に応答し、それらを Native_Example プロバイダに配信する最上位のプロバイダプログラム。このプログラムは、instanceProvider API と method Provider API を実装し、Native_Example クラスのインスタンスを列挙するメソッドと、取得するメソッドを宣言するこのプログラムは、文字列「Hello World」を出力するメソッドを呼び出すメソッドも宣言する |
Native_Example.mof |
NativeProvider プロバイダを CIM Object Manager に登録するクラスを作成する。この 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 Object Manager を停止します。
# /etc/init.d/init.wbem stop |
シェルに LD_LIBRARY_PATH 環境変数を設定する場合は、設定した新しい値を認識させるために、そのシェルで CIM Object Manager の停止と再起動を行なってください。
CIM Object Manager を起動します。
# /etc/init.d/init.wbem start |
スーパーユーザー状態から抜けます。
CIM Object Manager の適切なクラスを読み込んでプロバイダを識別するためにプログラムに関連した .mof ファイルをコンパイルします。
% mofcomp -u root -p root_password Native_Example.mof |
CIM Workshop を起動します。
% /usr/sadm/bin/cimworkshop |
CIM Workshop ツールバーの「クラスを検索 (Find Class) 」アイコンをクリックします。
「入力 (Input) 」ダイアログボックスで、表示したいクラス名を入力して「了解 (OK) 」をクリックします。
CIM Workshop にクラスが表示されます。