Sun WBEM SDK 開発ガイド

API パッケージ

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

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

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

表 3–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 つのカテゴリ、CIM (Common Information Model) によって定義されるものと、開発者によって定義されるものに分類される。 

CIMQualifierType

CIM 修飾子の型。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 の例外クラスについて説明します。

表 3–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 との間でデータ転送を行います。

表 3–3 クライアントメソッド

メソッド 

説明 

associators

指定された CIM クラスまたはインスタンスに関連付けられている CIM クラスまたはインスタンスを取得する。 

associatorNames

指定された CIM クラスまたはインスタンスに関連付けられている CIM クラスまたはインスタンスの名前を取得する。 

close

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

createClass

CIM クラスを、指定されたネームスペースに追加する。 

createInstance

指定されたインスタンスが存在しない場合は、それを作成する。その CIM インスタンスがすでにある場合は、ID が CIM_ERR_ALREADY_EXISTSCIMInstanceException をスローする。

createNameSpace

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

createQualifierType

指定された CIM 修飾子型を、指定されたネームスペースに追加する。 

deleteNameSpace

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

deleteClass

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

deleteInstance

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

  

enumClass(CIMObjectPath path, boolean deep)

Path で指定されたクラスを列挙する。このメソッドは、CIMObjectPath オブジェクトの列挙として 、各クラスの (内容ではなく) 名前を返す。deep が指定されていると、メソッドは、列挙されるクラスから派生したすべてのクラスの名前を列挙する。shallow が指定されていると、列挙するクラスの第一レベルの子の名前だけを列挙する。

enumClass(CIMObjectPath path, boolean deep, boolean localonly)

Path で指定されたクラスを列挙する。このメソッドは、CIMClass オブジェクトの列挙として、クラスの名前だけでなく、クラスの内容全体を返す。deep が指定されていると、メソッドは、列挙されるクラスから派生したすべてのクラスを列挙する。shallow が指定されていると、列挙するクラスの第一レベルの子だけを列挙する。localOnly が真の場合は、継承されたプロパティやメソッド以外のプロパティやメソッドだけを返し、真でない場合は、すべてのプロパティとメソッドを返す。

enumInstances(CIMObjectPath path, boolean deep)

Path で指定されたクラスのインスタンスを列挙する。このメソッドは、CIMObjectPath オブジェクトの列挙として、path で指定されたクラスのインスタンスの名前を返す。deep が真の場合は、指定されたクラスとこのクラスのすべての派生クラスのすべてのインスタンスの名前を返す。真でない場合は、指定されたクラスに属するインスタンスの名前だけを返す。

enumInstances(CIMObjectPath path, boolean deep, boolean localOnly)

Path で指定されたクラスのインスタンスを列挙する。このメソッドは、CIMInstance オブジェクトの列挙として、指定されたクラスのインスタンス (インスタンスの名前だけでなく、インスタンス全体) を返す。

enumNameSpace

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

enumQualifierTypes

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

execQuery(CIMObjectPath relNS, java.lang.String query, int ql)

照会に指定されたプロパティ値と同じプロパティを持つインスタンスの列挙を返す。照会言語には ql を使用する。現在は、WQL (WBEM Query Language) だけがサポートされる。この照会言語は、CIM オブジェクトモデルを SQL テーブルにマップする。 

getClass

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

getInstance

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

getProperty

指定されたプロパティの値を返す。 

getQualifierType

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

invokeMethod

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

references

指定された CIM クラスまたはインスタンスを参照する関連を取得する。 

referenceNames

指定された CIM クラスまたはインスタンスを参照する関連の名前を取得する。 

setClass

指定された CIM クラスが存在する場合は、それを更新する。その CIM クラスが存在しない場合は、エラーを返す。 

setInstance

指定された CIM インスタンスが存在する場合は、それを更新する。その CIM インスタンスが存在しない場合は、エラーを返す。 

setProperty

指定されたプロパティに、指定された値を設定する。 

次の表で、com.sun.wbem.client パッケージに含まれているインスタンスについて説明します。

表 3–4 com.sun.wbem.client パッケージに含まれているインスタンス

インタフェース 

説明 

CIMOMHandle

CIM Object Manager への参照をクライアントに提供する。このインタフェースには、クライアントが CIM Object Manager との間でデータを転送するときに使用するメソッドが含まれている。

ProviderCIMOMHandle

CIM Object Manager への参照をプロバイダに提供する。このインタフェースには、プロバイダが CIM Object Manager との間でデータを転送するときに使用するメソッドが含まれている。 

次の表で、ProviderCIMOMHandle インタフェースに含まれているメソッドについて説明します。

表 3–5 ProviderCIMOMHandle インタフェースのメソッド

メソッド 

説明 

decryptData

指定された文字列の値を認証セッションキーを使って復号化する (暗号化されている場合)。 

getCurrentAuditId

リモートクライアント接続を識別するためのレコードを監査するときに使用されるセッション識別子 (一般には固有のもの) を返す。 

getCurrentRole

現在の認証済みユーザーが担う現在の役割を返す。 

getCurrentUser

プロバイダが呼び出される原因になった現在のユーザーを返す。 

getInternalProvider

内部インスタンスプロバイダへの参照を返す。この参照を使えば、プロバイダの静的インスタンスの情報を格納できる。 

プロバイダ API パッケージ

プロバイダ API パッケージ (com.sun.wbem.providercom.sun.wbem.provider20) には、CIM Object Manager とオブジェクトプロバイダが相互に通信するときに使用するインタフェースが含まれています。プロバイダは、これらのインタフェースを使って CIM Object Manager の動的データを提供することができます。

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

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

表 3–6 com.sun.wbem.provider インタフェース

インタフェース 

説明 

CIMProvider

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

InstanceProvider

インスタンスプロバイダによって実装されるインタフェース。インスタンスプロバイダは、クラスの動的インスタンスを提供する。このインタフェースは非推奨。代わりに com.sun.wbem.provider20InstanceProvider インタフェースを使用してください。

MethodProvider

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

PropertyProvider

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

次の表で、com.sun.wbem.provider20 パッケージに含まれているインタフェースについて説明します。

表 3–7 com.sun.wbem.provider20 のインタフェース

インタフェース 

説明 

AssociatorProvider

動的関連のプロバイダによって実装されるインタフェース。 

Authorizable

CIM Object Manager にユーザー認証を依頼するのではなく、認証検査を独自に行うプロバイダによって実装されるインタフェース。 

InstanceProvider

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