この章では、Solaris WBEM (Web-Based Enterprise Management) の概要について説明します。内容は次のとおりです。
この章では、WBEM および CIM の一般的な概要について説明します。WBEM および CIM の詳細については、DMTF (Distributed Management Task Force) の Web サイト (http://www.dmtf.org) を参照してください。
WBEM (Web-Based Enterprise Management) は、管理テクノロジとインターネットテクノロジを組み合わせたものです。企業のコンピューティング環境の管理を統合します。WBEM を使用すると、最新の Web 技術を活用した、標準規格管理ツールの統合的なセットを提供できます。 WBEM 方式で管理アプリケーションを開発することにより、連携して動作する製品を低コストで作成できます。
DMTF (Distributed Management Task Force) は、コンピュータならびに情報通信業界の企業を代表するグループです。デスクトップ環境、エンタープライズ環境、インターネットの管理に関する標準規格の開発および普及において主導的な立場にあります。DMTF の目的は、異なったプラットフォーム間で異なったプロトコルを使用するコンピュータおよびネットワークの統合的な管理方法を開発することです。その結果、完全な相互運用性を備えた、費用効果の高い製品を実現することができます。
DMTF によって開発された CIM (Common Information Model) は、システムとネットワークの管理に使用される業界標準規格です。CIM は、ネットワーク環境の各部の分類と定義を行い、それらの統合方法を表現するための概念的な共通のフレームワークを提供します。CIM の概念は、技術の実装には依存せず、あらゆる管理領域に適用できます。
CIM 仕様 – ほかの管理モデルとの統合に使用される言語および手法を定義します。
CIM スキーマ – システム、アプリケーション、LAN、およびデバイスの実際のモデルの説明を提供します。CIM スキーマは、次のモデルで構成されます。
コアモデル – 管理環境の基本となる一般的な前提事項を提供します。クラスと関連のサブセットで構成されます。このセットにより、管理システムを分析および説明する基本的な用語を提供します。
共通モデル – 特定の技術や実装に依存せず、特定の管理領域に共通する概念を表します。管理アプリケーションの開発基盤を提供します。
拡張スキーマ – 共通モデルで使用される技術およびプラットフォーム固有の拡張を表します。拡張スキーマは、オペレーティングシステムなどの環境に固有のものです。たとえば、Solaris スキーマは拡張スキーマです。ベンダーは、オブジェクトのサブクラスを作成することにより製品のモデルを拡張します。次にアプリケーションは、標準モデルのオブジェクトインスタンスを表示して異機種システム混在環境の異なる製品を管理します。
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 を使って照会を表現したり処理したりするクラスおよびメソッドを含む |
Solaris WBEM SDK に含まれる GUI ベースの開発ツールである CIM Workshop を使用する WBEM アプリケーションを開発できます。CIM Workshop の機能は次のとおりです。
クラスの表示、追加、削除、および検索
名前空間の表示、追加、および削除
新しいクラスへのプロパティ、修飾子、およびメソッドの追加
インスタンスの作成
インスタンス値の変更
関連の表示
イベントの予約
メソッドの実行
CIM スキーマクラスや Solaris スキーマクラスの既存のプロパティ、メソッド、および修飾子の変更は、CIM ガイドラインによって禁止されています。継承されたプロパティ、メソッド、および修飾子の値も変更できません。
CIM Workshop では、メインウィンドウ以外のすべてのダイアログボックスにコンテキストヘルプが表示されます。インタフェースコンポーネントをクリックすると、ダイアログボックスの左側の情報区画にヘルプテキストが表示されます。
情報区画を閉じたり再表示したりするには、ダイアログボックスの左上のクエスチョンマーク (?) ボタンをクリックします。
デフォルトでは、CIM Workshop は、RMI (Remote Method Invocation) プロトコルを使用して、ローカルホスト (デフォルトの名前空間は root\cimv2) 上の CIMOM に接続します。CIM オブジェクトマネージャを実行するリモートホストを指定することもできます。
システムプロンプトで次のコマンドを入力します。
% /usr/sadm/bin/cimworkshop |
「ログイン (CIM Workshop Login) 」ダイアログボックスが表示されます。
コンテキストヘルプの指示に従って、「ログイン (CIM Workshop Login) 」ダイアログボックスのフィールドに必要な情報を入力します。「了解 (OK)」をクリックします。
CIM Workshop メインウィンドウが表示されます。
CIM Workshop メインウィンドウは、次の 3 つの区画で構成されます。
左側の区画 – 現在の名前空間のクラス継承ツリーが表示されます。
右側の区画 – 「プロパティ (Properties)」、「メソッド (Methods)」、および「イベント (Events)」タブが表示されます。左側の区画のクラスを選択して、右側区画のタブをクリックすると、選択したクラスのプロパティ、メソッド、またはイベントの詳細情報を表示できます。
下部の区画 – 予約したイベントの発生を知らせる通知が表示されます。