Sun WBEM SDK 開発ガイド

CIM イベントモデル

イベントとは、1 つの事象 (発生したもの) を表す言葉です。プログラミング用語では、イベントはコンピュータシステム内での 1 つの事象を意味します。そして、通常アプリケーションは、これに応答する必要があります。たとえば、GUI 上のマウスクリックに応じてダイアログボックスを開く場合です。CIM イベントは、管理環境において目的の事象に変化があったことを意味します。

CIM イベントモデル (CIM イベントを処理するフレームワーク) は、DMTF (Desktop Management Task Force) によって公表された CIM (Common Information Model) Indications Specification に準拠しています。CIM イベントモデルでは、イベントとそのイベントの通知 (インジケーション) は区別されます。CIM では、発行されるのはインジケーションであり、イベントではありません。

CIM イベントは、内部イベントと外部イベントに分類されます。内部イベントとは、ネームスペース、クラス、クラスインスタンスの、作成、変更、削除といったデータの変更に対応して発生する組み込み型の CIM イベントです。外部イベントとは、内部イベントによって記述されていないユーザー定義型のイベントです。

現在は、CIM インスタンスの作成、変更、削除に対応する内部イベントだけが処理されます。内部イベントを報告するクラスには、次のものがあります。

イベントインジケーションの生成方法

デフォルトでは、CIM Object Manager は、内部イベントのインジケーションを一定間隔でポーリングします。イベントポーリングの間隔や CIM Object Manager のデフォルトのポーリング動作を変更するには、cimom.properties ファイルのプロパティを編集します。cimom.properties ファイルの編集方法については、『Solaris WBEM Services の管理』を参照してください。

CIM Object Manager は、指定されたポーリング間隔でインスタンスを列挙し、列挙された 2 つのインスタンスセットの間にインスタンスの追加や変更、削除があったかどうかを判定します。プロバイダがイベントのインジケーションを生成する場合には、CIM Object Manager はこのプロバイダをポーリングしません。プロバイダは、可能な場合は、サポートするクラスの動的インスタンスで発生する内部イベントのインジケーションを生成する必要があります。これによって、CIM Object Manager がイベントをポーリングすることによるパフォーマンスの低下を避けることができます。

CIM Object Manager Repository は、内部インスタンスが作成、変更、または削除されると、インジケーションを生成します。

予約の作成方法

クライアントアプリケーションでは、CIM イベント発生が通知されるように予約することができます。予約は、1 つまたは複数の目的のインジケーションを宣言することによって行います。現在は、プロバイダがイベントインジケーションを予約することはできません。

CIM イベントのインジケーションの通知予約するアプリケーションには、次の指定が必要です。

イベントの発生は、CIM_Indication クラスのいずれかのサブクラスのインスタンスとして表されます。インジケーションは、そのイベントがクライアントによって予約されているときだけ生成されます。クライアントが予約しようとするイベントをどのプロバイダも生成しない場合には、その予約は失敗します。