Solaris WBEM Services は、Solaris オペレーティング環境で Web-Based Enterprise Management (WBEM) サービスを提供するソフトウェアです。このサービスを使用すれば、ソフトウェア開発者は、Solaris オペレーティング環境の管理を容易にする Solaris の管理アプリケーションをより簡単に作成できます。
Solaris WBEM Services ソフトウェアでは、セキュリティが侵害されることなく管理データにアクセスし操作することができます。製品には Solaris Provider が組み込まれているため、管理アプリケーションから Solaris オペレーティング環境の管理リソース (デバイスやソフトウェア) の情報にアクセスできます。
管理アプリケーションは、RMI や XML/HTTP プロトコルを使って CIM Object Manager に接続します。CIM Object Manager は、接続されたクライアントに次のサービスを提供します。
管理サービス
CIM Object Manager は、CIM データの意味と構文を検査し、アプリケーション、CIM Repository、管理リソースとの間でデータの送受信を行います。
セキュリティサービス
管理者はユーザーの CIM 情報へのアクセスを制御できます。
ロギングサービス
このサービスを構成するクラスを使えば、開発者は、イベントデータを動的にログレコードに記録し、ログレコードからデータを取り出すことができるアプリケーションを作成できます。管理者はこのデータを使ってイベントの原因を追跡したり、判定したりすることができます。
XML データを CIM クラスに変換する XML サービス
XML/HTTP ベースの WBEM クライアントで CIM Object Manager と通信できます。
WBEM 対応システムに接続されると WBEM クライアントは、次のような WBEM 操作を要求できます。CIM クラスとインスタンスの作成、表示、削除や、指定する値をもつプロパティの検索、指定するクラス階層にあるインスタンスやクラスの列挙 (リストの取得) などです。
Solaris WBEM Services ソフトウェアは、アプリケーション、管理、プロバイダという 3 つの層で機能するソフトウェアコンポーネントで構成されます。これらのコンポーネントはオペレーティングシステム層やハードウェア層とデータをやりとりします。図 1-1 は、各層におけるソフトウェアコンポーネントとその関係を示しています。
アプリケーション層 - WBEM クライアントが管理リソースからのデータを処理したり、表示したりします。Solaris WBEM Services には、次のアプリケーションがあります。
Sun WBEM User Manager および Solaris Management Console (SMC) 「ユーザー」ツール - このアプリケーションでは、システム管理者が、承認されたユーザーの追加や削除を行ったり、またそれらのユーザーの管理リソースへのアクセス特権を設定したりすることができます。
Solaris Management Console (SMC) ログビューア - ログファイルを表示するアプリケーションです。ログビューアの使用により、ログを残したコマンドを実行したユーザー名やログを残したイベントが発生したクライアントコンピュータなどの、ログレコードの詳細を表示することができます。
Managed Object Format (MOF) コンパイラ - このプログラムでは、MOF を宣言しているファイルを解析し、ファイルに定義されているクラスやインスタンスを Java クラスに変換し、その Java クラスを CIM Object Manager Repository に追加します。Repository は、管理データを一元的に格納する場所です。
MOF は CIM クラスやインスタンスを定義する言語です。MOF ファイルは、MOF 言語を使って CIM オブジェクトを記述する ASCII テキストファイルです。CIM オブジェクトは、プリンタ、ディスクドライブ、CPU などの管理リソースを表したモデルです。
管理リソースの情報は MOF ファイルに格納されることがあります。MOF は Java に変換できるため、Java Virtual Machine を持つシステムで動作するアプリケーションならこの情報の解釈や交換を行うことができます。さらに、インストールの後で、mofcomp コマンドを使って MOF ファイルをいつでもコンパイルできます。MOF の詳細は、DMTF の Web ページ http://www.dmtf.org を参照してください。
管理層 - この層のコンポーネントは、接続された WBEM クライアントに次のサービスを提供します。
Common Information Model (CIM) Object Manager - WBEM システム上の CIM オブジェクトを管理するソフトウェアです。CIM オブジェクトは内部的には Java クラスとして格納されます。CIM Object Manager は WBEM クライアント、CIM Object Manager Repository、管理リソースとの間で情報を送受信します。
CIM Object Manager Repository - CIM クラスやインスタンスの定義を一元的に格納する場所です。
クライアントおよび CIM アプリケーションプログラミングインタフェース (API) - WBEM クライアントアプリケーションは、これらの Java インタフェースを使って、管理リソースのクラスやインスタンスの作成や表示などの操作を CIM Object Manager に要求します。
プロバイダインタフェース - プロバイダは、これらのインタフェースを使って管理リソースの情報を CIM Object Manager に転送します。CIM Object Manager は、プロバイダインタフェースを使って、ローカルにインストールされたプロバイダに情報を転送します。
プロバイダ層 - プロバイダは、CIM Object Manager と 1 つまたは複数の管理リソースとの間の仲介を行います。CIM Object Manager は、WBEM クライアントから CIM Object Manager Repository に無いデータを要求されると、要求を適切なプロバイダに転送します。
Solaris Provider - Solaris オペレーティング環境内の管理リソースのインスタンスを CIM Object Manager に提供します。プロバイダは、管理デバイスに関する情報の取得や設定を行います。ネイティブプロバイダとは、管理デバイスで動作するように作成されたマシン固有のプログラムです。たとえば、Solaris システムのデータにアクセスするプロバイダには、通常、Solaris システムの照会を行う C 関数が含まれています。JNI (Java Native Interface) は、JDKTM に含まれている Java 用ネイティブプログラミングインタフェースです。JNI を使ってプログラムを作成すれば、その Java プログラムはどのプラットフォームでも完全に動作します。JNI を使うと、Java Virtual Machine (VM) で動作する Java コードは、C、C++、アセンブリなど他の言語で作成されたアプリケーションやライブラリとともに動作します。
Solaris スキーマ - Solaris オペレーティング環境にある管理オブジェクトを記述するクラスの集合です。CIM スキーマや Solaris スキーマのクラスは CIM Object Manager Repository に格納されます。CIM スキーマは、すべての管理環境で発生する管理オブジェクトを表すためのクラス定義の集合です。
Solaris スキーマは CIM スキーマを拡張したクラス定義の集合であり、一般的な Solaris オペレーティング環境にある管理オブジェクトを表します。ユーザーは、MOF コンパイラ (mofcomp) 使用して CIM スキーマ、Solaris スキーマ、あるいはその他のクラスを CIM Object Manager Repository に追加することもできます。
オペレーティングシステム層 - Solaris プロバイダを使えば、管理アプリケーションから Solaris オペレーティング環境にある管理リソース (デバイスやソフトウェアなど) の情報にアクセスできます。
ハードウェア層 - 管理クライアントは、サポートされる Solaris プラットフォームの管理データにアクセスできます。
ネームスペースと呼ぶディレクトリのような構造には、1 つまたは複数のスキーマを格納できます。CIM ネームスペースには、他のネームスペース、クラス、インスタンス、修飾子型を格納できます。1 つのネームスペース内のオブジェクト名は、一意でなければなりません。
Solaris WBEM Services では、WBEM クライアントアプリケーションが特定のネームスペースに接続されると、それ以後のすべての操作はそのネームスペース内で行われます。ネームスペースに接続されているクライアントは、そのネームスペースとそのネームスペースに含まれるすべてのネームスペースのクラスやインスタンスに (存在すれば) アクセスできます。たとえば、child というネームスペースを root¥cimv2 ネームスペースに作成すれば、root¥cimv2 に接続することにより、root¥cimv2 と root¥cimv2¥child ネームスペースのクラスやインスタンスにアクセスできます。
アプリケーションを、あるネームスペース内にあるネームスペースに接続することができます。これはディレクトリ内のサブディレクトリを使用するのと同じことです。アプリケーションを新しいネームスペースに接続すると、それ以後のすべての操作はそのネームスペース内で行われます。たとえば、アプリケーションを root¥cimv2¥child ネームスペースに接続すると、そのネームスペースのすべてのクラスやインスタンスにはアクセスできますが、親ネームスペース root¥cimv2 のクラスやインスタンスにはアクセスできません。
インストール時に 3 つのネームスペースがデフォルトで作成されます。
root - 他のネームスペースを含む、一番上位にあるネームスペースです。
root¥cimv2 - LogicalDisk、Netcard など、システムのオブジェクトを表すデフォルトの CIM クラスとインスタンスが入っています。これがデフォルトのネームスペースです。
root¥security - ユーザーやネームスペースのアクセス権を表すセキュリティクラスが入ります。これらのクラスは CIM Object Manager が使用します。
WBEM クライアントアプリケーションが CIM データにアクセスすると、WBEM システムは現在のホストにあるユーザーのログイン情報を検証します。ユーザーには、デフォルトで CIM スキーマと Solaris スキーマに対する読み取り権が与えられます。CIM スキーマは、システムにあるすべての管理オブジェクトを標準形式で記述します。WBEM 対応のすべてのシステムやアプリケーションは、この標準形式を解釈できます。
プロバイダとは、管理オブジェクトと通信してデータにアクセスするクラスです。プロバイダは、この情報を Repository に統合し解釈するために CIM Object Manager に転送します。CIM Object Manager は、CIM Object Manager Repository にないデータを管理アプリケーションから要求されると、要求をプロバイダに転送します。
CIM Object Manager は、オブジェクトプロバイダの API を使用してプロバイダと通信します。アプリケーションが動的データを CIM Object Manager に要求すると、CIM Object Manager はプロバイダインタフェースを使って要求をプロバイダに渡します。
プロバイダは、CIM Object Manager の要求に対し次のことを行います。
WBEM クライアントと WBEM システムは同じシステムで動作することも、別々のシステムで動作することもできます。WBEM システムには複数の WBEM クライアントを接続できます。一般的な WBEM システムでは、4 つから 5 つの WBEM クライアントがサポートされます。
Solaris WBEM Services は、Version 1.0 Specification for CIM Operations over HTTP をサポートします。この仕様では、XML を使って CIM のオブジェクトやメッセージを記述します。XML は、Web 上のデータを記述するための標準マークアップ言語です。この仕様では、XML マークアップを拡張して CIM のオブジェクトや操作を定義します。XML は Web 上で送信可能なデータを記述する標準的な方法であるため、WBEM クライアントは、XML データを解析できる任意の WBEM システム上の CIM データにアクセスできます。