Virtual member manager のプラグイン・マネージャー

プラグイン・マネージャーは、今後追加される可能性があるさまざまなサービスを取り込むために、Virtual member manager に対する機能拡張を作成できるようにするフレームワークを提供します。

この例としては、ポリシー管理、イベント通知、およびグループ・メンバーシップの操作があります。

プラグイン・マネージャーは、さまざまな Virtual member manager アプリケーション・プログラミング・インターフェース (API) 呼び出しを listen し、そのトピック・サブスクリプションに基づいて要求をさまざまなサブスクライバーにルーティングします。トピック・サブスクリプションは wimconfig.xml ファイルにリストされています。

プラグイン・マネージャーは、ここで説明するパブリッシュ/サブスクライブ・モデルに基づいています。

図 1. パブリッシュ/サブスクライブ・モデルに基づくプラグイン・マネージャーのフレームワーク
パブリッシュ/サブスクライブ・モデルに基づくプラグイン・マネージャーのフレームワーク
プラグイン・マネージャーの 2 つの主要なコンポーネントを次に示します。

トピック・エミッター

トピック・エミッターは、Virtual member manager 内部の、トピック・サブスクライバーに関係するさまざまなポイントで構成されています。すべてのトピック・エミッターは、サービス・データ・オブジェクト (SDO) フレームワークに準拠する必要があります。

以下のメソッドはトピック・エミッターです。
  • public DataObject create(DataObject root);
  • public DataObject get(DataObject root);
  • public DataObject delete(DataObject root);
  • public DataObject update(DataObject root);
  • public DataObject search(DataObject root);
  • public DataObject login(DataObject root);

トピック・サブスクライバー

トピック・サブスクライバーは、トピック・エミッターが、Virtual member manager 構成ファイルで定義されている順序で呼び出すプラグインです。

トピック・サブスクライバー機能の例としては、クレデンシャルの収集、イベント通知、ソフト・グループなどがあります。

次の 2 種類のトピック・サブスクライバーがあります。

通知サブスクライバー
このタイプのトピック・サブスクライバーは、通知を受信するか、または読み取り専用操作を実行します。通知サブスクライバーの呼び出し順序は特に限定されていません。
変更サブスクライバー
このタイプのトピック・サブスクライバーは、入出力データ・オブジェクトを変更し、実行時に決定を下すかまたはアクションを実行することができます。変更サブスクライバーは、Virtual member manager 構成ファイルで定義されている順序で呼び出されます。

各トピック・エミッターには、トピック・サブスクライバーを呼び出す 2 つの論理ポイントがあります。

preExit
この論理ポイントは、トピック・エミッターの開始時に 1 回発生します。 最初に通知サブスクライバーを呼び出し、次に変更サブスクライバーを呼び出します。
postExit
この論理ポイントは、トピック・エミッターの終了時に 1 回発生します。 最初に変更サブスクライバーを呼び出し、次に通知サブスクライバーを呼び出します。

サンプル・コード

プラグイン・マネージャー・フレームワークの機能を理解できるようにする目的でサンプル・プラグインが提供されます。 このプラグインのコーディング、コンパイル、およびデプロイの説明は vmmsampleplugin.jar ファイルに含まれています。このファイルは、developerWorks wiki ページ (Sample virtual member manager plug-in for WebSphere Application Server Version 6.1 and above) からダウンロードできます。



利用条件 | フィードバック