Enterprise Managerを拡張して、検出、監視および自動化を導入することによって新しいドメインの管理をサポートできます。Enterprise Managerフレームワークにはこれらの管理機能に関連する強力な機能のセットが用意されていますが、ほとんどのプラグイン開発者は自分のドメインに適した方法で管理機能を公開したいと思っています。Enterprise Managerのメタデータ・プラグイン・カスタム・ユーザー・インタフェース(MPCUI)機能は、この機能を備えています。
この章の内容は、次のとおりです。
MPCUIフレームワークでは、サポートされているAPIによるEnterprise Managerサービスへの制御されたアクセスをサポートしています。これらのAPIを使用すると、他の機能をサポートするEnterprise Managerのアップグレードに関係なく、ユーザー・インタフェースをEnterprise Managerにプラグインの一部として安全に追加できます。
MPCUIでは、要件に応じてUIを構築するための漸進的なオプションのセットを提供しています。MPCUIには、テンプレートおよび再利用可能なコンポーネントが用意されており、UIの開発のためのフレームワーク習得と動作保証のためのフレームワーク習得という両方の観点から、最小限の作業でカスタムUIを構築できます。UIに対する制御の強化が必要な場合、MPCUIでは、カスタマイズされた管理ユーザー・エクスペリエンスを構築するための構成要素を提供して、ドメインに最適な方法でそのUIを柔軟に構築できるようにしています。
注意: MPCUIは、プラグインの一部として含める必要はありません。プラグインを作成してカスタムUIを提供しない場合、ターゲットは引き続きCloud Controlに表示され、デフォルトのUIが表示されます。 |
MPCUI実装は、プラグインの「管理サービス」セクションの一部として(oms/metadataディレクトリの下など)、プラグインに含まれます。MPCUIには、ユーザー・インタフェースの実装について2つの選択肢があります。
メタデータのみ方式では、ユーザー・インタフェース全体をXMLで記述でき、複数ページのサポート、ダイアログ定義、チャート、表など、MPCUIに用意されている多くの機能が含まれます。主に管理データ(監視または構成データ)の表示に基づいて、カスタマイズされたユーザー・エクスペリエンスを提供する場合、"メタデータのみ"の選択で十分です。
Flex実装オプションにより、ジョブまたは管理エージェント・スクリプトとしてプラグインに含まれている管理機能に加えて、カスタマイズされたUIを提供するための追加機能が提供されます。きわめて柔軟性の高いFlex実装によって、さらに複雑なユーザー・インタラクティビティが可能です。
時間の経過とともに要件が変化する場合、メタデータのみ実装用に提供されるタグ言語がFlex実装でサポートされる言語のサブセットであるため、フレックス実装の開始点としてメタデータ実装を使用できます。
ユーザー・インタフェースを構成するコンポーネントは、次のとおりです。
MPCUIを使用すると、複数ページ、ダイアログおよびトレイン(ウィザード)で構成されるユーザー・インタフェースを構築できます。これらのページ間のナビゲーションをMPCUI実装の一部として定義する他、Enterprise Managerの他のページまたは外部URLへのナビゲーションも定義します。
MPCUIフレームワークを使用すると、Enterprise Managerメニュー・サブシステムに登録する必要があるページを選択できます。これにより、メニュー項目をターゲット・メニューに表示できるようになり、MPCUI実装で定義されているページへのナビゲートが可能になります。
MPCUIフレームワークには、グリッド・スタイル・レイアウトを使用してUIに定義されているページ上にコンポーネントを簡単にレイアウトする方法があります。フレームワークには、ページ内でコンテンツ・コンテナを提供し、そのコンテンツの展開および折りたたみをサポートするリージョン・コンポーネントが含まれています。図8-1に、サマリー情報が表示されているリージョンを示します。
MPCUIフレームワークでは、プラグイン開発キットにパッケージ化された多数の再利用可能なリージョンを提供しています。これを使用すると、イベント情報やジョブ・サマリー情報など、共通して表示されるコンテンツをターゲット・ホーム・ページに含めることができます。
図8-2に、MPCUIフレームワークで提供される「問題」リージョンを示します。
ページ定義で次のようなエントリを1つ使用して、ユーザー・インタフェースで構築されるページにリージョンを追加できます。
<events:IncidentRegion height="33%" width="100%" />
MPCUIでは、ユーザー・インタフェースにチャートおよび表を含めることをサポートしており、表示するメトリックまたはSQL文の実行結果を指定することで、それらのコンポーネントに表示するデータの選択機能を簡略化しています。サポートされるチャート・タイプには、円グラフ、棒グラフ、線グラフおよび面グラフがあります。
MPCUIでは、Adobe Flex UIフレームワークを使用して、Enterprise Managerページ(クロム)内で実行されるアプリケーション(SWF)の構築を可能にしています。残りのEnterprise Manager UIと統合されたエクスペリエンスを提供しながら、UIおよびコードとEnterprise Managerの残りの部分の分離を維持しています。
このフレームワークはAdobe FlexおよびWebサービスをベースにしていますが、フレームワークの主な目的は、管理UIの構築プロセスを簡略化することです。そのため、フレームワークでは、できるだけ基礎となるテクノロジが除外されています。フレームワークには、パッケージ化されたコンポーネントおよびサービスが備えられており、Adobe Flex、WebサービスまたはUIフレームワークの専門家にならなくても、それらを組み合せてドメインに適した管理UIを作成できます。
MPCUIフレームワークでは、監視データ(ターゲット・アソシエーション、プロパティ、メトリック、構成データなど)の取得に使用する一連のWebサービスと、同期タスクおよび非同期ジョブを実行する自動化サービスを公開しています。
構築したUIは、プラグインにパッケージ化され、メトリック定義、ジョブ定義、検出スクリプト、監視スクリプトなどの他の統合オブジェクトとともにEnterprise Managerにデプロイされます。
プラグインのMPCUIオブジェクトは、管理リポジトリに格納されます。実行時に、Enterprise Managerクロムが表示されるラッパー・ページをレンダリングするEnterprise Managerフレームワーク・コードによって取得されます。MPCUIは、エンドユーザーのブラウザでAdobe FlashPlayerプラグイン内で実行されます。これは、1つのプラグインのカスタムUIに関連するあらゆる問題からEnterprise Managerの残りの部分を保護するサンドボックス化された環境です。
管理UIは、リポジトリ・データ、ジョブ・サブシステム、エージェント・サービスなどのEnterprise ManagerサービスにMPCUIサービス・レイヤーからアクセスできます。MPCUIサービス・レイヤーは、Enterprise Managerフレームワークで提供されるWebサービスで構成されています。
MPCUIには、ページ、トレイン、リージョン、チャート、表、パッケージ化されたコンポーネントを含め、管理UIの構築に使用できる多くのUIコンポーネントが含まれています。これらのコンポーネントの多くもまた、Enterprise Managerサービスを利用して、管理情報へのアクセスや表示を簡略化しています。
たとえば、チャートおよび表コンポーネントを使用すると、メトリックまたはパッケージ化されたSQL問合せをコンポーネント・タグ内に指定して、監視データをUIに簡単に含めることができます。
MPCUIフレームワークには、利用できる様々なコンポーネント・レイヤーがあります。このフレームワークには、追加の作業をしなくても管理UIのスタイルがEnterprise Managerのスタイル・ガイドラインと必ず一致するようにするためのサポートが含まれています。
MPCUIベースのアプリケーションの構造を簡略化し、より自然にEnterprise Managerフレームワークに合せるために、MPCUIにはページの概念が組み込まれています。管理UIに1つ以上のページを含めて、MPCUIフレームワークによって提供される構造を使用してページ間を移動することができます。1つ以上のページをEnterprise Managerメニュー・システムに統合することもできます。
MPCUIフレームワークに含まれている適切なUI要素を使用してドメイン固有の管理UIを構築し、MPCUIサービス・クライアント・ライブラリからEnterprise Managerサービスにアクセスしてください。
MPCUIをしてユーザー・インタフェースを構築すると、フレームワークに同梱されている多くのサービスにアクセスでき、Enterprise Managerデータへのアクセスおよび操作の実行が可能になります。これには、次のサービスがあります。
バージョン、カテゴリ、その他の動的インスタンス・プロパティなど、ターゲット・インスタンスのプロパティの取得をサポートします。
現在のターゲット、関連ホスト、メンバーなどに関連付けられたターゲットの取得をサポートします。
管理エージェントからの現在(リアルタイム)の値や管理リポジトリに格納されている履歴データなど、メトリック・データの取得をサポートします。
プラグインにパッケージ化されたSQL文の処理と、それらの文の結果の取得をサポートします。
ジョブのスケジューリングまたは管理機能を実行するリモート操作の即時処理(管理エージェント・スクリプト)をサポートします。