Sun WBEM 開発ガイド

第 5 章 アプリケーションプログラミングインタフェース

Sun WBEM SDK アプリケーションは、アプリケーションプログラミングインタフェース (API) を介して Common Information Model (CIM) Object Manager に情報またはサービスを要求します。この章で説明する内容は、次のとおりです。

CIM と クライアント API の詳細は、Javadoc リファレンスページを参照してください。

API について

API により CIM オブジェクトが記述され、処理されます。これらの API により、CIM オブジェクトが Java クラスとして記述されます。オブジェクトとは、プリンタ、ディスクドライブ、CPU などの管理対象リソースをコンピュータ用に記述したモデルです。CIM Object Manager は、Common Information Model (CIM) 2.1 の仕様に準拠しています。そのため、API によってモデル化されるオブジェクトは、標準の CIM オブジェクトに準拠しています。

プログラマは、これらのインタフェースを使用して管理対象オブジェクトを記述したり、特定のシステム環境内の管理対象オブジェクト情報を取り出すことができます。CIM を使用して管理対象オブジェクトをモデル化する場合の利点は、CIM に準拠するシステム間でそれらのオブジェクトを共有できることです。

API パッケージ

API は、次の 3 つのカテゴリに分類できます。

CIM API パッケージ (com.sun.wbem.cim)

次の表で、CIM API パッケージ内のインタフェースについて説明します。

表 5-1 CIM クラス

クラス 

説明 

CIMClass

CIM クラス。共通の型をサポートする CIM インスタンスの集まり (プロパティとメソッドのセットなど) を記述するオブジェクト。このインタフェースは、開発者が作成するオブジェクトグループに必要な CIM 値を入力するテンプレートを作成する 

CIMDataType

CIM のデータ型 (CIM 仕様の定義にもとづく) 

CIMDateTime

CIM の日時表記 

CIMElement

CIM 要素。管理されるシステム要素の基底クラス 

CIMFlavor

CIM 修飾子フレーバ。修飾子の特性の 1 つであり、修飾子を派生クラスまたは派生インスタンスに伝達できるかどうか、および派生クラスまたは派生インスタンスが修飾子の本来の値をオーバーライドできるかどうかを指定する規則を記述する 

CIMInstance

CIM データの単位。このインタフェースは、特定のクラスに属する管理対象オブジェクトの記述に使用される。インスタンスには実際のデータが含まれる 

CIMMethod

メソッド名、戻り値のデータ型、およびパラメータを含む宣言 

CIMNameSpace

CIM ネームスペース。ほかのネームスペース、クラス、インスタンス、修飾子のデータ型、および修飾子を含むことができるディレクトリに似た構造を持つ 

CIMObjectPath

CIM オブジェクトのパス名。オブジェクト名は、2 つの部分、ネームスペースとモデルパスから構成される。モデルパスは、ネームスペース内のオブジェクトを個々に識別する 

CIMParameter

CIM パラメータ。呼び出し側メソッドから CIM メソッドに渡される値 

CIMProperty

CIM クラスのインスタンスの特性を示す値。プロパティは、プロパティ値を設定する機能と、そのプロパティ値を返す機能の組み合わせと考えることができる。プロパティは、名前と 1 つのドメイン (そのプロパティを所有するクラス) を持つ 

CIMQualifier

クラス、インスタンス、メソッド、またはプロパティを記述する修飾子。このクラスは、管理対象オブジェクトの属性の変更に使用される (たとえば、ディスクに読み取り権だけを追加するなど)。修飾子は、2 つのカテゴリ、Common Information Model (CIM) によって定義されるものと、開発者によって定義されるものに分類される 

CIMQualifierType

CIM 修飾子の型。CIM 修飾子を作成するテンプレート 

CIMQuery

CIM クエリ。インジケーション登録のフィルタ、および CIM Object Manager からの CIM 要素検出のフィルタを指定する 

CIMScope

CIM スコープ。これは、修飾子を使用できる CIM オブジェクトを示す修飾子属性である。たとえば、修飾子 ABSTRACT は Scope (Class Association Indication) を持つが、これは、ABSTRACT がクラス、関連、およびインジケーションにだけ使用できることを意味する 

CIMValue

CIM 値。これはプロパティ、参照、および修飾子に割り当てることができる値である。CIM 値は、データ型 (CIMDataType) と実際の値を持つ

UnsignedInt8

符号なし 8 ビット整数 

UnsignedInt16

符号なし 16 ビット整数 

UnsignedInt32

符号なし 32 ビット整数 

UnsignedInt64

符号なし 64 ビット整数 

例外クラス

例外クラスは、Sun WBEM SDK クラスで起こり得るエラー状態を記述します。CIMException クラスは、CIM 例外の基底クラスです。CIM のほかの例外クラスはすべて、CIMException クラスのサブクラスです。

次の表で、CIM の例外クラスについて説明します。

表 5-2 例外クラス

クラス 

説明 

CIMClassException

CIM クラスで発生する意味上の例外。MOF コンパイラ (mofcomp) は、このクラスを使用してコンパイル時に見つかる意味上のエラーを処理する

CIMException

例外的な CIM の状態。これは、CIM 例外の基底クラスである 

CIMInstanceException

CIM インスタンスで発生する意味上の例外 

CIMMethodException

CIM メソッドで発生する意味上の例外 

CIMNameSpaceException

CIM ネームスペースで発生する意味上の例外 

CIMPropertyException

CIM プロパティで発生する意味上の例外 

CIMProviderException

CIM Object Manager のプロバイダで発生し得る例外状態 

CIMQualifierTypeException

CIM 修飾子のデータ型で発生し得る例外状態 

CIMRepositoryException

CIM レポジトリで発生し得る例外状態 

CIMSemanticException

CIM 要素で発生し得る意味上の例外。この例外は、通常、CIM Object Manager が CIM 要素の追加、変更、または削除を試みる場合と、CIM の仕様に準拠しない不正な状況が発生する場合に送出される 

CIMTransportException

CIM トランスポートインタフェース (RMI と XML) で発生する例外状態 

クライアント API パッケージ (com.sun.wbem.client)

クライアント API パッケージには、クライアントアプリケーションと CIM Object Manager 間でデータを転送するクラスとメソッドが含まれています。アプリケーションは、CIMClient クラスを使用して CIM Object Manager に接続します。また、次の表に示す、CIMClient クラスのメソッドを使用して、CIM Object Manager との間でデータ転送を行います。

表 5-3 Client メソッド

メソッド 

説明 

close

CIM Object Manager へのクライアント接続を閉じる。このインタフェースは、クライアントセッションに使用されているリソースを解放する 

createNameSpace

CIM ネームスペース (クラスとインスタンスが入ったディレクトリ) を作成する。クライアントアプリケーションは、CIM Object Manager に接続する場合、ネームスペースを指定する。その後の処理はすべて、CIM Object Manager ホスト上のそのネームスペース内で発生する 

deleteNameSpace

指定されたホスト上の指定されたネームスペースを削除する 

deleteClass

指定されたクラスを削除する 

deleteInstance

指定されたインスタンスを削除する 

deleteQualifierType

指定された、修飾子のデータ型を削除する 

enumClass

CIM Object Manager から指定されたクラス (1 つまたは複数) を検出する 

enumInstances

指定されたクラス (1 つまたは複数) のインスタンスのリストを取得する 

enumNameSpace

ネームスペースのリストを取得する 

enumQualifierTypes

指定されたクラス (1 つまたは複数) の、修飾子のデータ型を取得する 

getClass

指定された CIM オブジェクトパスの CIM クラスを取得する 

getInstance

指定された CIM オブジェクトパスの CIM インスタンスを取得する 

getQualifierType

指定された CIM オブジェクトパスの修飾子型を取得する 

invokeMethod

指定されたオブジェクトに対して指定されたメソッドを実行する。メソッドは、メソッド名、戻り値のデータ型、およびメソッド内のパラメータを含む宣言である 

setClass

指定されたネームスペースに指定された CIM クラスを追加するため、このクライアント上で CIM Object Manager を起動する 

setInstance

指定されたネームスペースに指定された CIM インスタンスを追加、あるいは更新するため、CIM Object Manager を起動する 

setQualifierType

指定されたネームスペースに指定された修飾子型を追加するため、CIM Object Manager を起動する 

プロバイダ API パッケージ (com.sun.wbem.provider)

プロバイダ API は、CIM Object Manager とオブジェクトプロバイダが相互通信のために使用するインタフェースです。プロバイダは、これらのインタフェースを使用して CIM Object Manager に対し動的データを提供できます。

クライアントアプリケーションが CIM Object Manager に動的なデータを要求する場合、CIM Object Manager はこれらのインタフェースを使用して要求をプロバイダに渡します。プロバイダは、CIM Object Manager の要求に応答して次に示す機能を実行するクラスです。

次の表で、Provider パッケージ内のインタフェースについて説明します。

表 5-4 Provider インタフェース

インタフェース 

説明 

CIMProvider

すべてのプロバイダによって実装される基底インタフェース 

InstanceProvider

インスタンスプロバイダによって実装される基底インタフェース。インスタンスプロバイダは、クラスの動的インスタンスを提供する 

MethodProvider

メソッドプロバイダによって実装されるインタフェース。メソッドプロバイダは、CIM クラスの全メソッドの実装を提供する 

PropertyProvider

プロパティプロバイダによって実装されるインタフェース。プロパティプロバイダは、動的プロパティの検出と更新に使用される。動的データは、CIM Object Manager Repository には格納されない