Solaris WBEM サービスは、WBEM および CIM 標準を Solaris に実装したものです。Solaris WBEM サービスには、次のコンポーネントが含まれます。
Solaris WBEM サービスは、Solaris オペレーティング環境で、管理データのセキュリティ保護されたアクセスと操作などの、WBEM サービスを提供するソフトウェアです。製品には Solaris プロバイダが組み込まれているため、管理アプリケーションから Solaris オペレーティング環境の管理リソース (デバイスおよびソフトウェアなど) の情報にアクセスできます。
CIMOM (CIM オブジェクトマネージャ) は、Remote Method Invocation (RMI) プロトコルまたは XML over HTTP プロトコルを使用する管理アプリケーションからの接続を受け入れ、接続されたクライアントに次のようなサービスを提供します。
管理サービス – CIMOM の形式をとります。CIMOM は、CIM データのセマンティクスと構文をチェックし、複数のアプリケーション、CIM オブジェクトマネージャリポジトリ (CIM Object Manager Repository)、管理対象のリソースにデータを分配します。
セキュリティサービス – これらのサービスは、Solaris 管理コンソールのユーザーツールによって WBEM に指定します。これらのサービスについては、『Solaris のシステム管理 (セキュリティサービス)』を参照してください。
SunTM WBEM ユーザーマネージャ (Sun WBEM User Manager) – このツールを使用して、WBEM サーバー上の特定の名前空間 (ネームスペース) のアクセス制御リスト (ACL) を確立します。Sun WBEM ユーザーマネージャでは、承認されたユーザーの追加と削除、承認されたユーザーに対するアクセス特権の設定、および WBEM 対応システム上の CIM オブジェクトに対するユーザー認証とアクセスの管理を実行できます。ACL ベースのセキュリティは、Solaris WBEM サービスによって提供される固有の機能です。
ロギングサービス – このサービスを構成するクラスを使えば、開発者は、イベントデータを動的に記録したり取得したりできるアプリケーションを作成できます。管理者はこのデータを使ってイベントの原因を追跡したり、判定したりすることができます。ロギングサービスの詳細については、第 9 章「問題発生時の解決方法」を参照してください。
XML サービス – XML データを CIM クラスに変換します。XML/HTTP ベースの WBEM クライアントが CIM オブジェクトマネージャと通信できるようにします。
Solaris WBEM サービスソフトウェアは、アプリケーション、管理、およびプロバイダという 3 つの層で機能するソフトウェアコンポーネントで構成されます。これらのコンポーネントはオペレーティングシステムやハードウェアとデータを送受信します。次の図に、各ソフトウェアコンポーネントと、それぞれの送受信方法を示します。
アプリケーション層 – WBEM クライアントが管理リソースからのデータを処理したり、表示したりします。Solaris WBEM サービスには、次のアプリケーションがあります。
Sun WBEM ユーザーマネージャおよび Solaris 管理コンソールユーザーツール – これらのアプリケーションでは、システム管理者が、承認されたユーザーの追加や削除を実行したり、それらのユーザーの管理リソースへのアクセス特権を設定したりできます。
Solaris 管理コンソールログビューア – ログファイルを表示するアプリケーションです。ログに残ったコマンドを実行したユーザーの名前や、ログに残ったイベントが発生したクライアントコンピュータなど、ログレコードの詳細を表示できます。
Managed Object Format (MOF) コンパイラ – このプログラムは、MOF 文を含むファイルを解析し、そのファイルで定義されているクラスやインスタンスを Java クラスに変換し、その Java クラスを CIM オブジェクトマネージャリポジトリ (管理データを一元的に格納する場所) に追加します。
MOF は、CIM のクラスやインスタンスを定義する言語です。MOF ファイルは、MOF 言語を使って CIM オブジェクトを記述する ASCII テキストファイルです。CIM オブジェクトは、プリンタ、ディスクドライブ、CPU などの管理リソースを表したモデルです。MOF ファイルは /usr/sadm/mof にあります。
管理リソースの情報は MOF ファイルに格納されることがあります。MOF は Java に変換できるため、Java 仮想マシン (JVM) を持つシステムで動作するアプリケーションならこの情報の解釈や交換を行うことができます。さらに、インストールの後で、mofcomp コマンドを使って MOF ファイルをいつでもコンパイルできます。MOF については、DMTF の Web ページ http://www.dmtf.org を参照してください。
管理層 – この層のコンポーネントは、接続された WBEM クライアントに次のサービスを提供します。
Common Information Model (CIM) オブジェクトマネージャ – WBEM システム上の CIM オブジェクトを管理するソフトウェアです。CIM オブジェクトは内部的には Java クラスとして格納されます。CIM オブジェクトマネージャは WBEM クライアント、CIM オブジェクトマネージャリポジトリ、管理リソースとの間で情報を送受信します。
クライアントおよび CIM アプリケーションプログラミングインタフェース (API) – WBEM クライアントアプリケーションは、これらの Java インタフェースを使って、管理リソースのクラスやインスタンスの作成および表示などの操作を CIM オブジェクトマネージャに要求します。
プロバイダインタフェース – プロバイダは、これらのインタフェースを使って管理リソースの情報を CIM オブジェクトマネージャに転送します。CIM オブジェクトマネージャは、プロバイダインタフェースを使って、ローカルにインストールされたプロバイダに情報を転送します。
プロバイダ層 – プロバイダは、CIM オブジェクトマネージャと 1 つまたは複数の管理リソースとの間の仲介を行います。WBEM クライアントから CIM オブジェクトマネージャリポジトリに存在しないデータを要求されると、CIMOM は、要求を適切なプロバイダに転送します。
Solaris プロバイダ – Solaris オペレーティング環境内の管理リソースのインスタンスを、CIM オブジェクトマネージャに提供します。プロバイダは、管理デバイスに関する情報の取得および設定を行います。ネイティブプロバイダとは、管理対象デバイスで動作するように作成されたマシン固有のプログラムです。たとえば、Solaris オペレーティング環境を実行しているシステム上のデータにアクセスするプロバイダには、そのシステムに照会する C 関数が含まれているはずです。Java Native Interface は、JDKTM ソフトウェアの一部です。Java Native Interface を使ってプログラムを作成すれば、その Java プログラムコードはどのプラットフォームに移植しても確実に動作します。Java Native Interface を使うと、Java 仮想マシン内で動作する Java コードを、C、C++、アセンブラなど、他の言語で作成されたアプリケーションやライブラリとともに動作するようにできます。
Solaris スキーマ – Solaris オペレーティング環境内の管理対象オブジェクトを記述するクラスの集合です。CIM スキーマや Solaris スキーマのクラスは CIM オブジェクトマネージャリポジトリに格納されます。CIM スキーマは、どの管理環境にもある管理オブジェクトを表すためのクラス定義の集合です。
Solaris スキーマは CIM スキーマを拡張したもので、一般的な Solaris オペレーティング環境の管理オブジェクトを表すクラス定義の集合です。ユーザーは、MOF コンパイラ (mofcomp) を使用して CIM スキーマ、Solaris スキーマ、あるいはその他のクラスを CIM オブジェクトマネージャリポジトリに追加することもできます。
オペレーティングシステム層 – Solaris プロバイダを使えば、管理アプリケーションから Solaris オペレーティング環境にある管理リソース (デバイスおよびソフトウェア) の情報にアクセスできます。
ハードウェア層 – 管理クライアントは、サポートされる任意の Solaris プラットフォームの管理データにアクセスできます。
CIM オブジェクトマネージャは、WBEM 対応システムの CIM オブジェクトを管理します。WBEM クライアントアプリケーションが CIM オブジェクトの情報にアクセスすると、CIMOM は、そのオブジェクトの適切なプロバイダまたは CIM オブジェクトマネージャリポジトリのいずれかに接続します。WBEM クライアントアプリケーションから CIM オブジェクトマネージャリポジトリに存在しない管理リソースを要求されると、CIMOM は、要求をその管理リソースのプロバイダに転送します。プロバイダは情報を動的に取得します。
WBEM クライアントアプリケーションは、CIM オブジェクトマネージャとの接続を確立します。この接続は、CIM クラスの作成、CIM インスタンスの更新といった WBEM 操作に使用されます。WBEM クライアントアプリケーションが CIM オブジェクトマネージャに接続すると、WBEM クライアントは CIM オブジェクトマネージャへの参照を取得します。WBEM クライアントは、この参照を利用して、サービスを要求したり各種操作を実行したりできます。
MOF (Managed Object Format) は、CIM スキーマを指定する言語です。管理者は、ASCII テキストを使用してクラスおよびインスタンスを定義してファイルに保存し、MOF コンパイラ (mofcomp(1M)) に送ります。MOF コンパイラによって、ファイルの構文解析が行われ、ファイルに定義されたクラスおよびインスタンスが CIM オブジェクトマネージャリポジトリに追加されます。MOF コンパイラを使用して MOF ファイルから自動的に JavaBeansTM コンポーネントを生成する手順については、第 7 章「MOF コンパイラを使用した JavaBeans コンポーネントの作成」を参照してください。
MOF は、Java に変換できるので、MOF で開発されたアプリケーションは、Java プラットフォームをサポートするすべてのシステムあるいは環境で動作します。
MOF 言語、ファイル、および構文の詳細については、 http://www.dmtf.org/education/cimtutorial/extend/spec.php を参照してください。
Solaris スキーマは、共通モデルの拡張スキーマです。特に、Solaris オペレーティング環境で実行されている管理オブジェクトを記述するためのものです。
Solaris WBEM サービスをインストールすると、CIM スキーマと Solaris スキーマを形成する MOF ファイルがディレクトリ /usr/sadm/mof に置かれます。これらのファイルは、CIMOM の起動時に自動的にコンパイルされます。ファイル名の中に CIM_ 接頭辞を含む CIM スキーマファイルが、標準の CIM オブジェクトになります。Solaris スキーマは、標準の CIM スキーマを拡張し、Solaris オブジェクトを記述しています。Solaris スキーマを構成する MOF ファイルのファイル名には、Solaris_ 接頭辞が含まれます。
CIM スキーマおよび Solaris スキーマに関するドキュメントは /usr/sadm/lib/wbem/doc/mofhtml/index.html にインストールされます。
Solaris WBEM SDK は、管理アプリケーションの作成に必要なコンポーネントを含む API のセットです。これらのアプリケーションは、XML および HTTP 通信標準に従って WBEM 対応の管理デバイスと通信します。
Solaris WBEM アプリケーションは、WBEM API を介して CIM オブジェクトマネージャから情報およびサービスを要求します。これらの API では、CIM オブジェクトが Java クラスとして記述されます。プログラマは、これらのインタフェースを使用して管理対象オブジェクトを記述したり、特定のシステム環境内の管理対象オブジェクトの情報を取得したりできます。CIM を使用して管理対象オブジェクトをモデル化する場合の利点は、CIM に準拠するシステム間でそれらのオブジェクトを共有できることです。
Solaris WBEM API のマニュアルは、Solaris のインストール時に JavadocTM 形式で /usr/sadm/lib/wbem/doc/index.html にインストールされます。
Solaris WBEM API については、次の表で説明します。
表 1–1 Solaris WBEM API
API |
パッケージ名 |
説明 |
---|---|---|
CIM |
javax.wbem.cim |
基本的な CIM 要素を表す共通クラスおよびメソッドを含む。CIM API は、オブジェクトをローカルシステムに作成する |
クライアント |
javax.wbem.client |
アプリケーションは、CIM オブジェクトマネージャとの通信に CIMClient クラスを使用する。CIM オブジェクトマネージャとのデータ転送には、ほかのクラスおよびメソッドを使用する バッチ処理可能な API (クライアント API のサブセット) を新たに使用すると、クライアントは複数の要求を 1 回のリモートコールでバッチ処理できる。これにより、複数のリモートメッセージ交換による遅延を短縮できる |
プロバイダ |
javax.wbem.provider |
CIM オブジェクトマネージャは、これらの API を使用して動的データのアプリケーション要求をプロバイダに渡す |
照会 |
javax.wbem.query |
WQL を使って照会を表現したり処理したりするクラスおよびメソッドを含む |