プロバイダは、データにアクセスするために管理対象オブジェクトと通信するクラスです。プロバイダは、統合と解釈を行うために情報を CIM Object Manager に送ります。CIM Object Manager Repository に存在しないデータの要求を管理アプリケーションから受け取る場合、CIM Object Manager はその要求をプロバイダに送ります。
オブジェクトプロバイダは、CIM Object Manager と同じマシンにインストールされている必要があります。CIM Object Manager は、オブジェクトプロバイダ API を使用して、ローカルマシンにインストールされているプロバイダと通信します。
アプリケーションが CIM Object Manager に動的データを要求した場合、CIM Object Manager はプロバイダインタフェースを使用してその要求をプロバイダに渡します。
プロバイダは、CIM Object Manager からの要求に応答して次の機能を実行します。
プロバイダは扱うことができるサービスの要求タイプによって分類されます。Sun WBEM SDK では、次の 3 種類のプロバイダをサポートしています。
インスタンス – 指定されたクラス (Solaris パッケージなど) の動的インスタンスを提供します。インスタンスプロバイダは、次に示す処理の 1 つ以上をサポートします。
インスタンス検出
列挙
変更
削除
メソッド – 1 つ以上のクラスのメソッドを提供します。メソッドは、クラスの動作を表現する関数です。メソッドは、プロバイダによって実装される必要があります。
関連付け – 動的関連クラスのインスタンスを提供します。
イベント — CIM イベントの発生を処理します。イベントプロバイダについては、第 6 章「CIM イベントの処理」を参照してください。
プロバイダ 1 つでインスタンス、プロパティ、メソッド、関連を提供できるため便利です。
ほとんどのプロバイダは、プルプロバイダです。つまり、必要に応じてデータを動的に生成することによりそれ自体のデータを管理します。プルプロバイダは、CIM Object Manager および CIM Repository と最小限の対話しか行いません。プルプロバイダによって管理されるデータは、通常、頻繁に変化します。そのため、プロバイダはアプリケーションから要求が出るたびにデータを動的に生成するか、あるいはローカルキャッシュからデータを取り出す必要があります。
プロバイダは、単体でインスタンスプロバイダ、プロパティプロバイダ、およびメソッドプロバイダの役割を同時に果たすことができます。このためには、関連するすべてのメソッドを適切に登録、実装する必要があります。