IBM®
本文へジャンプ
    Japan [変更]    ご利用条件
 
 
検索範囲検索:    
    ホーム    製品    サービス & ソリューション    サポート & ダウンロード    マイアカウント    
skip to main content

developerWorks Japan  >  Autonomic computing  >

Managed Agent Explorer: 第 1 回 WSDM エンドポイントを検証・テストする

Eclipse TPTP で提供されるツールによる WSDM エンドポイントのリアルタイムな対話型テスト

developerWorks
ページオプション

JavaScript を要するドキュメントオプションは表示されません

サンプルコード

原文はこちら

原文はこちら


レベル: 中級

Balan Subramanian (bsubram@us.ibm.com), Advisory software engineer, IBM 

2007年 9月 04日

本シリーズでは、Eclipse TPTP で提供されるツールを用いてWSDMのエンドポイント開発のテストの支援や、展開済みのエンドポイントをテスト・検証するツールであるManaged Agent Explorer を紹介します。今回はTPTPツール内でエンドポイントを開発しているときに自動的に Managed Agent Explorer によって検証テストが行われるようにする方法と、展開済みのエンドポイントに接続する方法について説明します。具体的には、Managed Agent Explorer 内のビューの使用方法、プロパティの設定や処理の実行方法などの基本的な操作方法などです。

はじめに

システム管理のオープンスタンダードである Web Services Distributed Management (WSDM) は、現在Apache Muse プロジェクトによる参照実装と Eclipse TPTP プロジェクトによる支援開発ツールという2つのオープンソース・プロジェクト によってサポートされています。「参考文献」に示されているdeveloperWorks の記事では、直接Apache ランタイムと通信するケースと、Eclipse IDE に統合されたツールを使うケースの2種類の WSDM エンドポイントの開発方法が紹介されていて、後者はWeb サービスと Apache Muse ランタイムの詳細を知らなくてもWSDM エンドポイントが構築・展開・テストのサイクルによって開発できることを目的としています。

この記事では、Eclipse TPTP が提供するツールの中で、重要なコンポーネントの一つであるManaged Agent Explorer を使った開発中のエンドポイントのテストに加えて、このツール以外で開発されたエンドポイント(展開済みのものを含む)のテスト・検証方法についても説明します。以下は、この記事で説明する Managed Agent Explorer の基本的な要素になります。

  • 自動起動方法
  • 基本的なテストの実行方法
  • リソース・プロパティの変更およびリソース・オペレーションの実行方法
  • Eclipse ワークベンチの外部に展開されたエンドポイントへの接続方法
  • サービスグループの探索方法

これらを理解する前提として、リソース・フレームワーク、トピック、Notification、サービスグループ、リレーションシップなどの概念を含めたWSDM 標準に精通している必要があります。また、Eclipse IDE の操作知識も持っている必要があります。この記事では、チュートリアル「Create a WSDM endpoint using Build to Manage tooling from the Eclipse TPTP project」で構築されたサンプルのエンドポイントをManaged Agent Explorer でテスト方法を紹介しますが、チュートリアルの手順に従わない場合は、そのチュートリアルで構築された Eclipse プロジェクト用のコードをダウンロードする必要があります。

まず始めに、以下のサイトにある手順を参照しながらManaged Agent Explore を含む Eclipse TPTP 4.4 をインストールします。

http://www.eclipse.org/tptp/monitoring/documents/tutorials/tptp_wsdm_setup_4.4.html

続いてApache HTTP Server と Apache Tomcat (バージョン 5.0 以降を推奨) をインストールしておきます。




上に戻る


Managed Agent Explorer フレームワーク

Managed Agent Explorer フレームワークは Eclipse TPTP が提供するプラグインです。これは多くのプロトコルをサポートしており、これらを用いて管理対象リソースを検証するツリー・ベースのGUIを提供しています。またこれはTPTP エージェント・フレームワーク上に構築されいるため、インタフェースや使用方法は他の TPTP ツールと同様になっています。またリソースは通常、管理用のプロトコルを持っているため、このフレームワークではリソースとの通信用にリモート・エージェントは使用しません。この、多くのプロトコルを用いて多様なタイプのリソースを管理できる能力がManaged Agent Explorer フレームワークの特徴の一つです。さらに、このフレームワークはプラグインになっているので、Managed Agent Explorer フレームワーク中で定義されている抽象クラスManaegd Agentを実装したエージェントを追加するだけで新たなプロトコルをサポートできます。現在、TPTP プロジェクト・ダウンロードの一部としてJMX (Java Management eXtensions)が、Managed Agent Explorerフレームワークに添付されるプラグインを通してWSDM がサポートされています。

このフレームワークではEclipseのワークベンチにメッセージ・ブローカーが追加され、ワークベンチ内のプラグインでさまざまな種類のNotificationを受信することが可能になります。さまざまな種類のNotificationが、さまざまなNotificationプロバイダーによってサポートされています。Managed Agent Explorer の WSDM 拡張では、Eclipse Workbench (OSGi/Equinox ベース) 上に展開された OSGi ベースの WS-N コンシューマー・エンドポイントである WS-Notification (WS-N) ベースのプロバイダーがワークベンチに追加されます。このメッセージ・ブローカーは1つのリソースから複数のプラグインがNotificationを受信する際に、ワークベンチの1つの受信として統合し、受信したNotificationを内部でブロードキャストすることによって処理する場合に有効です。

以下に、Managed Agent Explorer によって提供される WSDM 特有の機能を示します。

  • エンドポイント参照 (EPR) によるWSDM エンドポイントへの接続
  • 「Resource Topology」(ツリー・ビュー)によるサービスグループの視覚化
  • サービスグループ・メンバーのソートとフィルタリング
  • サービスグループの個々のメンバーへの接続
  • リソースのプロパティとオペレーションの表示
  • プロパティとオペレーションのソート
  • プロパティ値の表示と変更(リソースから許可されているときのみ)
  • オペレーションに対するパラメータの指定と呼び出し、実行結果の確認
  • プロパティ変更通知の受信(プロパティ変更通知に対して、プロパティ値が更新され、その更新が通知されます。 )
  • プロパティ変更通知以外の、エンドポイントから提供されるNotificationの閲覧
  • その他のNotificationの受信。(受信したメッセージはEclipse PDE エラービューに表示されます。 )
  • リソースが持つリレーションシップの閲覧
  • リソースが持つリレーションシップの検索と関連リソースへの接続
  • XML 断片として、リソースの EPRをクリップボードへのコピーする
  • 「Resource Topology」ビューに表示されたリソースのコンテキスト・メニュー上で、新しいアクションを使用可能にするための拡張ポイント
  • ワークベンチ (Embedded Apache Tomcat インスタンスなど) 内の Java™ Platform, Enterprise Edition (Java EE) ベースのエンドポイントの自動展開



上に戻る


Managed Agent Explorer の起動

まず最初に、チュートリアルに従うか、この記事に添付されている .zip ファイルからEclipse プロジェクトをインポートしてApache HTTP サーバ用のエンドポイントを構築して下さい。チュートリアル「Create a WSDM endpoint using Build to Manage tooling from the Eclipse TPTP project」 (「参考文献」を参照) に、Apache HTTP サーバ用の WSDM エンドポイントの生成方法が記載されています。デフォルトでは起動時に作成される定義済みリソース・タイプのインスタンスが指定されます。Eclipse ワークベンチ内にこのエンドポイントを展開すると、Managed Agent Explorer が自動的に起動します。

.zip ファイルからプロジェクトをインポートする場合は、Eclipse ワークベンチで以下の手順に従ってください。

  1. 「File」>「Import」>「Existing Projects into Workspace」を選択します
  2. ツリー・ビューで「General」を展開します
  3. 「Select Archive file」を選択します
  4. ダウンロードしてきた.zip ファイルの場所を選択します。
  5. すべてのプロジェクトを選択して、「Finish」をクリックすると、ワークスペースが図 1 のようになります

Apache HTTP サーバのインストール場所はAPACHE_LOCATION プロパティに設定されています。 .zip ファイルのプロジェクトを使用する場合は、WebContent/WEB-INF/classes/ の ApacheHttpServerImpl project の下にある muse.xml ファイルを編集して、APACHE_LOCATION プロパティを設定しなおして下さい。チュートリアルに従ってプロジェクトを構築した場合は、実装コード内の APACHE_LOCATION プロパティを設定して下さい。


図 1. Eclipse SDK

以下、同じマシン上の Apache Tomcatを使ってこのエンドポイントを展開・実行します。図 2 に示すように、サーバ上で実行する Web プロジェクトを右クリックして選択します。


図 2. Eclipse ワークベンチ 内でのエンドポイントの実行

図 3 に示すようなウィンドウが表示され、新しいサーバ・インスタンスが定義できます。


図 3. サーバ・ダイアログ上での実行

「Apache Tomcat v5.5 server」を選択します。

図 4 のウィンドウでは、Apache Tomcatのインストール・フォルダと該当する JRE が選択されています。

(注意)Apache Tomcat 5.5 の場合は JRE 1.5 が必要です。JRE 1.5 を入手できない場合は JRE 1.4 互換パッケージを入手する必要があります。


図 4. Apache Tomcat インストールの詳細

この時点で「Finish」をクリックして完了することもできますが、「Next」をクリックして図 5 の画面に進んで、展開する Web プロジェクトを確認することもできます。Web プロジェクトを右クリックして展開を開始した場合は、この手順は省略されます。ただし、展開されているプロジェクトを削除する場合は省略できません。最後に、「Finish」をクリックします。


図 5. 展開するエンドポイントの選択

これで、.war ファイル (Web アーカイブ) としてエンドポイントが展開され、Tomcat が起動します。このとき、図 6 に示すように「Servers」ビューが開いて、サーバの起動プロセスの進捗と、完了したかどうかを確認することができます。ステータス・バーの右下の部分から「Starting server...」というメッセージが消えるまで待ちます。


図 6. 構成・実行中のサーバの「Eclipse」ビュー

エンドポイントへの接続を通じて、Managed Agent Explorer が自動的に起動します。図 7 に示すように、ワークベンチが「Profiling and Logging」パースペクティブに切り替わります。


図 7. Eclipse の「 Profiling and Logging」パースペクティブ

次に進む前に、このパースペクティブをクリーンアップして必要のないビューを削除します。図 8 に示すように、メニュー・バーで「Window」 > 「Reset Perspective」の順に選択してワークベンチをクリーンアップします。


図 8. 現在のパースペクティブのリセット

「Profiling Monitor」ビューでエンドポイントへの接続が構成されます。(このビューは通常左側に表示され、デフォルトでフォーカスが移動します。)図 9 に示すように、ツリーを展開すると新しく作成されたエージェントが表示されます。エージェントの作成時間はマウス・カーソルをノード上に移動するか、ビューを拡大して確認できます。


図 9. 「Profiling Monitor」ビュー

Managed Agent Explorer を起動するには、エージェントをダブルクリックするか、図 10 のようにエージェントを右クリックして、ポップアップ・コンテキスト・メニューから「Open With」 > 「Managed Agent Explorer」の順に選択します。


図 10. Managed Agent Explorer によるプロファイル対象エージェントのオープン

図 11 に示すように、Managed Agent Explorer には、「Resource Topology」ビュー、「Details」ビュー、および「Value Editor」の 3つのセクションがあります。


図 11. 「Managed Agent Explorer」ビュー

「Resource Topology」ビューには、接続先のエンドポイントがサービスグループの場合はそのサービスグループのトポロジーが表示され、エンドポイントが非サービスグループのエンドポイントの場合はリソースの詳細が表示されます。図 12 に示すように、ツリーを展開するとリソースを管理するために提供されたプロパティとオペレーションが表示されます。この例では、リソースはNotificationプロバイダーまたは関連リソースとして明示的に定義されていないため、トピックまたはリレーションシップは表示されていません。


図 12. プロパティとオペレーションの表示

ここで、「Details」ビューと「Value Editor」を使ったリソース・プロパティの変更方法を見てみましょう。




上に戻る


リソース・プロパティの変更

データベースのテーブル・サイズなどのリソースの状態は、プロパティを設定することで変更することができます。具体的には、以下のようにして行います。まず、図 13 に示すように、「Resource Topology」ツリーを展開して実際のプロパティを表示します。


図 13. プロパティ・リストの表示

リソースのカスタムCapabilityの一部として明示的に定義したプロパティのほかに、リソース・タイプ定義に含まれている標準の WSDM Capabilityがプロパティとして表示されます。

図 14 に示すように、プロパティをクリックすると値が「Details」ビューに表示されます。複雑なタイプのプロパティの場合は、直列化された形式で値のリストが表示されます。


図 14. プロパティ値の表示

値を編集するには、「Details」ビューでそのプロパティをクリックし、「Value Editor」に表示されてから行います。Managed Agent Explorer の「Details」ビューで直接編集できないのは、複雑なタイプのプロパティでは値がXML の断片として表示されることがあり、テーブルのカラムよりも大きなテキストエリアのほうが編集しやすいためです。

図 15 に示すように、「Value Editor」で値を変更して「Apply」をクリックします。


図 15. プロパティ値の設定

「Apply」をクリックすると、そのエンドポイントで setResourceProperty オペレーションが呼び出されます。オペレーションが成功すると、「Details」ビューに新しい値が表示されます。図 16 に示すように、「Resource Topology」ビュー内でプロパティを選択して、ツールバーの「Refresh」をクリックすることによって、値が変更されたことを確認できます。


図 16. ビューの更新

ここで、ServerNameプロパティに対して同じ操作を実行します。図 17 に示すように、set オペレーションが機能せず、更新しても古い値が表示されたままです。なぜでしょう?


図 17. setResourceProperty オペレーション後も変化しないプロパティ値

ServerName プロパティは、読み取り専用に設定されているため、Managed Agent Explorer ではこのプロパティを更新することができません。エラーを確認するには、メニュー・バーで「Window」 > 「Show View」 > 「PDE Runtime」 > 「Error Log」の順に選択して Eclipse PDE エラー・ログを開きます。図 18 は「Show View」ウィンドウでエラー・ログビューを選択しているところです。


図 18. PDE エラー・ログのオープン

図 19 に示すように、エラー・ログが表示されています。表示されたエラーをダブルクリックすれば、詳細を確認することができます。


図 19. PDE エラー・ログ内のエラー・メッセージ

このとき、ログに複数のエラーが書き込まれている場合があります。Capability定義で ServerName の出現回数を [1..1] に定義した場合は、値の最大数を超えているという例外が表示されます。このエラーは、Managed Agent Explorer で更新操作の代わりに挿入操作を行おうとしたために表示されます。これはApache Muse ランタイムが最初に行う妥当性検証が、出現回数ルールに違反していないかどうかの確認であるためで、出現回数を [1..1] に定義しなかった場合はリモート・クライアントでプロパティ値の変更ができないという例外が表示されます。

次に、オペレーションの開始と停止についてです。




上に戻る


オペレーションの呼び出し

WSDM インタフェースを通してリソースを管理するためには、リソース・オペレーションを呼び出す必要があります。オペレーションは、リソースの状態変更やリソースに対する管理操作を実行するため、WSDMに限らず一般的なリソース管理において重要な要素です。最初に、図 20 に示すように「Resource Topology」ビューで「Operations」ノードを展開します。


図 20. オペレーション・リストの表示

リソース・タイプ定義に含まれている標準の WSDM Capabilityのオペレーションだけでなく、カスタムCapabilityのオペレーションも含め、すべてのオペレーションが列挙されます。

ここでは、WSDM エンドポイントを通して Apache HTTP サーバを起動します。Apache HTTP サーバがインストールされていれば、タスクトレイにサーバの状態を示す実行中の Apache Monitor アイコンが表示されるはずです (図 21 参照)。


図 21. システム・トレイ上の Apache サービス・モニター

インスタンスが停止していることを確認します。停止していない場合は、Apache Monitor を使って停止させます。アイコンをダブルクリックすると、HTTP サーバ・インスタンスの詳細ステータスを表示され、インスタンスを停止させることができます。サーバが停止したかどうかは、Web ブラウザのアドレス・バーに「http://localhost/」と入力することによって確認することができます。サーバが停止していれば、404 エラー・ページが表示されます。

これで、Managed Agent Explorer を使ってサーバを起動する準備ができました。図 22 に示すように、「Resource Topology」ビューで start オペレーションを選択します。「Details」ビューでオペレーションに必要なパラメータと戻り値の型を確認することができます。オペレーションを開始するには、ノードを右クリックして「Invoke」を選択するか、Managed Agent Explorer ページ中央の「Invoke」ボタンをクリックします。


図 22. オペレーションの呼び出し

ここでブラウザからアドレスの http://localhost/ を呼び出すと、サーバが起動しているので「It Works!」というテキストが表示されるはずです。(現在の Apache Muse 実装ではサーバの状態表示は自動更新されません。)

次に、stop オペレーションを実行します。「Details」ビューで、stop オペレーションを選択して、そのパラメータと戻り値の型を確認します。図 23 に示すように、int 型の delay という名前のパラメータが要求されます。「Details」ビューでそのパラメータをクリックし、「Value Editor」で値を入力します。この値はサーバが停止するまでの待ち時間 (ミリ秒) であり、この例では10,000 を使用します。「Invoke」をクリックします。


図 23. パラメータ値を伴うオペレーションの呼び出し

残念ながら、現在の実装ではオペレーションの呼び出し遅延に対応していないため、エンドポイントでの処理は同期呼び出しとなっていて、バックグラウンドジョブにされません。現在の実装では、これを考慮に入れて使用してください。この例では、ワークベンチが stop オペレーションの戻り待ちの状態になり、オペレーションが完了するまでフリーズすることになります。オペレーションが完了 (普通は 10 秒前後) したかどうかを確認するには、ブラウザを使って http://localhost:8080/ に接続してサーバの停止を確認します。必要なパラメータが指定されていない場合、または、その他の理由でオペレーションの呼び出しが失敗した場合は、エラー・ログビューにエラーが書き込まれます (図 24 参照)。既にパースペクティブにエラー・ログビューが表示されていた場合は、自動的に新しいエラーにフォーカスが移動します。


図 24. PDE エラー・ログ内のエラー

戻り値を返すオペレーションの場合は、戻り値がプロパティ値と同様に「Details」テーブルに表示され、詳細を確認することができます。同じオペレーションが再度呼び出されるか、エンドポイント(特にTPTP Agent)への接続が終了するまで、最後に返された値が保持されます。図 25 に示すように、エージェントを右クリックして「Detach from Agent」を選択することによって接続を終了してから、「Profiling Monitor」ビューでそのエージェントを削除することができます。


図 25. プロファイル対象エージェントからの切り離し




上に戻る


展開済みエンドポイントへの接続

今までは、開発中のエンドポイントを Managed Agent Explorer でテストする方法を見てきました。次に、Managed Agent Explorer を使ってEclipse Workbench 外のコンテナ上に展開されているエンドポイントと対話・検証する方法を見ていきます。Managed Agent Explorer からエンドポイントのデバッグや動作の確認をすることができるので、、Managed Agent Explorer を使えば、開発中のエンドポイントだけでなく、ツールまたはマニュアルで作成した展開済みのエンドポイントをテストすることができます。

ここでやることは一般的な TPTP のエージェント起動メカニズム、つまり対象エンドポイントへの接続の詳細を明示するエージェントの起動用プロファイルの定義と同様です。この場合のエージェントは、ターゲット・エンドポイントとの対話を抽出するだけであり、リモートにある実体としてではなく、ワークベンチ内の新しいオブジェクトとして物理的に表示されます。

このツール以外で開発したエンドポイントの場合は、先にエンドポイントを展開する必要があります。まず、Tomcat インストール上に展開する .war ファイルを作成する必要があります。図 26 に示すように、Web プロジェクトを右クリックして、「Export」を選択します。


図 26. エンドポイントのエクスポート

図 27 に示すように、Web の下の WAR ファイルを選択して、「Next」をクリックします。


図 27. 「Project Export」ウィンドウ

図 28 のウィンドウで、.war ファイルを作成する場所を入力します。.war ファイルは、Apache Tomcat インストールの webapps フォルダに配置する必要があります。図 28 に示すように、「Destination」 の欄に webapps フォルダ以下のファイル名を指定します。この例では、表示された Web モジュール(エクスポートする Web プロジェクト)と同じデフォルト名を受け入れます。「Finish」をクリックします。


図 28. 「WAR Export」ウィンドウ

これで.war ファイルが作成され、webapps フォルダに格納されます。Eclipse ワークベンチ でApache Tomcat インスタンスが停止していることを確認します。停止していない場合は、図 29 に示すように、「Servers」ビューに移動してサーバを選択し、「Stop」をクリックしてインスタンスを停止します。


図 29. ワークベンチでのサーバの停止

Apache Tomcat インスタンスを開始するには、コマンドプロンプト・ウィンドウを開いて、インストールされたApache Tomcatの bin フォルダに移動します。コマンドプロンプトで catalina run コマンドを入力すると、図 30 に示すように、Apache Tomcat が開始して、サーバ起動メッセージが表示されます。


図 30. コマンドラインからの Apache Tomcat の開始

エンドポイントの展開が完了しました。

これで、Eclipse ワークベンチ内で起動構成を作成する準備ができました。図 31 に示すように、ツールバーの「Profile」(「Run」ボタンの隣)を選択して、「Open Profile Dialog」を選択します。


図 31. プロファイル・ダイアログを開くための Eclipse メニュー・オプション

図 32 に示すように、「Managed Resource」を右クリックして「New」を選択し、WSDM エンドポイント用の新しい起動構成を作成します。


図 32. 「Profile」ウィンドウ

新しく作成した管理対象リソースの構成ページが表示されます。図 33 に示すように、「Name」フィールドでプロファイルの名前を変更することができます。この例では、「MyHttpServer」という名前を使用します。また、サポートされているすべてのプロトコルが表示されるので、「WSDM Resource」を選択して「Edit Options」をクリックします。


図 33. 新しい管理対象エージェント構成の作成

図 34 に示すように、「WSDM Managed Agent Configuration」ページが表示されます。エンドポイントに提供する必要がある構成の詳細情報はエンドポイント参照 (EPR) だけです。「Design」タブで URI と個々の参照パラメータを入力するか、または「Source」タブで EPR を表す XML 断片をテキストエリアにコピー・ペーストすることによって、EPR を構築することができます。「Design」タブと「Source」タブ上のデータは自動的に同期がとられます。この例では、下の図のように「Design」タブで URI を入力します。


図 34. 「WSDM Managed Agent Configuration」ウィンドウ

図 35 に示すように、「Source」タブに切り替えると、対応する EPR XML が表示されます。「Finish」をクリックしてウィンドウを閉じます。


図 35. エンドポイント参照の「Source」ビュー

最後に、「Launch Configuration」ウィンドウでページの下部にある「Profile」をクリックします。するとManaged Agent Explorer が WSDM エンドポイントに接続して、「Profiling and Logging」パースペクティブに切り替わって、図 36 に示すように「Profiling Monitor」ビューで新しいエージェントを確認することができます。そのエージェントをダブルクリックしてManaged Agent Explorer を開き、展開したエンドポイントを検証します。


図 36. 「Profiling and Logging」パースペクティブ内の「Managed Agent Explorer」ビュー

これで、エンドポイントへの接続が完了しました。エンドポイントの検証や、対話的なリソースの状態変更、オペレーションの呼び出しなどができます。




上に戻る


WS サービスグループの探索

サービスグループはメンバーシップルールと関連付けられており、メンバーシップがそのルールに当てはまっている WSDM エンドポイントの論理集合として機能する WSDM エンドポイントのことです。すなわち、システム・アーキテクトは関連するエンドポイントの論理的なグループを定義することができ、これがサービスグループ・エンドポイントとして物理的に表示されるため、リソース・グループを容易に配置することができます。

これまで使用してきた例にはサービスグループ・エンドポイントが含まれていないため、Apache Muse サンプルとして提供されているエンドポイントを使用します。http://www.apache.org/dist/ws/muse/2.2.0/bin/ から Apache Muse 2.2 をダウンロードします。プラットフォームに適したダウンロードイメージを選択します。.zip ファイルを使用する場合は.zip ファイルをダウンロードしてc:\muse などに解凍し、図 37 に示すようにsamples\j2ee\wsrf のサンプルフォルダに移動します。


図 37. Apache Muse付属の wsrf サンプル

WSRF サンプルでは、シンプルな WS-RF リソースで起動時および10秒ごとに作成されるサービスグループインスタンスが指定されます。Muse は、サービスグループのメンバーシップルールを満たしているすべてのエンドポイントを、同じ範囲内(具体的にはmuse.xml)で定義されたサービスグループに追加します。一定間隔でサービスグループをサンプリングすることによって、作成したすべてのリソースを検索することができます。

サンプルの WSRF エンドポイントを構築するために、サンプルとして提供されている Apache Ant build.xml ファイルを実行します。http://ant.apache.org/bindownload.cgi から Apache Ant をダウンロードして、解凍・インストールします。Ant を c:\ant\ にインストールする場合は、以下のコマンドで Windows® 環境をセットアップします。


リスト 1. Windows 環境のセットアップ
                
set ANT_HOME=c:\ant
set JAVA_HOME=c:\jdk-1.5.0.05
set PATH=%PATH%;%ANT_HOME%\bin

その他のオペレーティング・システムの場合は、http://ant.apache.org/manual/install.html#installing の手順に従います。

Apache Ant をセットアップしたら、コマンドプロンプト・ウィンドウを開いて Muse をインストールしたフォルダ(ここではsamples\j2ee\wsrf)に移動します。図 38 を参照してください。


図 38. Apache Ant による wsrf サンプルの構築

コマンドラインから ant コマンドを実行すると、サンプル用のクラスがコンパイルされてエンドポイントが作成されます。図 39 に示すように、新しいビルドフォルダが samples\j2ee\wsrf の下に作成されます。このフォルダには、エンドポイントの物理的な実体である wsrf.war ファイルが保存されます。


図 39. Apache Ant ビルドの出力

wsrf.war ファイルを Apache Tomcat webapps フォルダにコピーします。Apache Tomcat の構成によっては、このときリスタートする必要があります。wsrf.war ファイルをコピーするときにApache Tomcat インスタンスが実行中の場合は、コンソールの出力に注意してください。図 40 に示すように、展開対象の wsrf.war ファイルに関するメッセージが表示されている場合はリスタートする必要はありません。リスタートが必要な場合は、実行中のコマンドウィンドウを閉じて Apache Tomcat インスタンスを停止してから、リスタートしてください。


図 40. Apache Tomcat 内の自動展開

これで、エンドポイントに接続する準備ができました。『展開済みエンドポイントへの接続』の手順に従ってエンドポイントに接続し、EPR の入力が可能な「WSDM Managed Agent Configuration」ウィンドウを表示します。図 41 に示すように、今回の例で用いているEPR (http://localhost:8080/wsrf/services/ServiceGroup) を入力します。


図 41. 「WSDM Managed Agent Configuration」ウィンドウ

「Profiling and Logging」パースペクティブが開いて、新しいエージェントが「Profiling Monitor」ビューに追加されていますので、そのエージェントをダブルクリックしてManaged Agent Explorer を開きます。Muse を呼び出してからリソース・インスタンスの作成が開始されるため、サービスグループの初期状態は空です。この例では、Managed Agent Explorer が対象エンドポイントに関するメタデータを収集しようとしたときに開始されます。接続したエンドポイントは WS-ServiceGroup エンドポイントですが、WSDM エンドポイントでもあるためプロパティとオペレーションを備えています。しかしManaged Agent Explorer には、これが WSDM エンドポイント以外のサービスグループとしか認識されないため、プロパティとオペレーションではなく、サービスグループの現時点のメンバーが表示されます。図 42 に示すように、「Resource Topology」ビューでルート・ノードを選択して、「Refresh Properites」をクリックします。


図 42. 「Resource Topology」ビューの更新

サービスグループの新しいメンバーが表示されます。図 43 に示すように、Managed Agent Explorer でサービスグループの構築を開始してから「Refresh」をクリックしたときまでの経過時間によって、そのサービスグループの下に表示される新しいメンバーの数が変化します。


図 43. 新しいサービスグループ・メンバー

このサンプルでは、すべてのメンバーが同じリソース・タイプで、「Resource Topology」ビューにはすべて同じキャプションが表示されるため、画面は単調なものになります。

しかし、WSDM 標準はエンドポイントが必ず持っている Identity Capabilityを通して提供される ResourceId によってリソース・インスタンスが区別可能であることが規定されています。図 44 に示すように、メンバー・リソースをクリックして「Details」ビューでそのリソース ID を確認すれば、それぞれに別のリソース ID が付与され、同じエンドポイント・タイプの異なるインスタンスであることがわかります。


図 44. サービスグループ・メンバーが表示された「Resource Topology」ビュー

サービスグループ・メンバーを確認するだけでなく、それらに接続することができます。このとき2つの接続方法があって、接続するリソース・インスタンスを右クリックするか、図 45 に示すように「Launch Agent」を選択するかのどちらかになります。


図 45. サービスグループ・メンバーへの接続

図 46 を参照して、選択したエンドポイント・インスタンスを表す新しいエージェントを、「Profiling Monitor」ビュー上で確認します。このとき、エージェントの名前の違いに注目してください。一方は ServiceGroup で、もう一方は Ws Resource です。リソースにキャプションが付けられていれば、そのキャプションからエージェントの名前が抽出されます。リソースにキャプションが付けられていない場合は、そのリソースの URI が使用されます。


図 46. 「Profiling Monitor」ビュー内の新しいエージェント

エージェント名をダブルクリックするか、コンテキスト・メニューからManaged Agent Explorer を開くと、図 47 に示すように、エンドポイントの詳細が表示され、そのエンドポイントを編集・操作することができます。


図 47. 「Managed Agent Explorer」ビュー

サービスグループの表示に戻す場合は、Managed Agent Explorer でそのエージェントを開きます。

より間接的なリソース・インスタンスへの接続方法として、その EPR をクリップボードにコピーし、起動構成を定義して接続する方法があります。EPR をコピーするには、図 48 に示すように、リソース・インスタンスを右クリックして「Copy EPR」を選択します。リソース・インスタンスの EPR が取り出され、XML 断片としてクリップボードに置かれます。


図 48. エンドポイント参照のクリップボードへのコピー

ここで、『展開済みエンドポイントへの接続』で説明したように新しい起動構成を作成します。「WSDM Managed Agent Configuration」ウィンドウが開いている場合は、「Source」タブに切り替えてクリップボードの内容を貼り付けます。その内容が、整形されたXML 断片ではなく、1つの長い文字列として表示される場合があります。そのような場合は、「Design」タブに切り替えてからすぐに「Source」タブに戻すと、図 49 に示すように XML 断片が適切にフォーマットされます。


図 49. 「WSDM Managed Agent Configuration」ウィンドウ

ここで、「Design」タブに切り替えます。図 50 に示すように、このツールではEPR の URI 部分と参照パラメータおよびその値が別々に表示されます。この例では、パラメータが 1つしかありません。「Design」タブで適切な値を指定して EPR を構築した場合は、EPR が MemberServiceEPRではなく、EndpointReferenceとして作成されること以外は同じ EPR が作成されます。


図 50. 「WSDM Managed Agent Configuration」ウィンドウの「Design」ビュー

これで、この起動構成プロファイルを保存・実行し、個々のリソース・インスタンスに接続する準備ができました。




上に戻る


まとめ

この記事では、TPTPで提供される ツールにを用いてエンドポイントの開発・テストを支援し、展開済みのエンドポイントをテスト・検証するツールである Managed Agent Explorer を紹介しました。Managed Agent Explorer を使えば、エンドポイントと素早く簡単に通信することができます。またApache Muse ランタイムを使わずに WSDM エンドポイントを構築している場合でも、エンドポイントが仕様に準拠しているかどうか、期待した通り動くかどうかを検証することができます。

この記事では、ツール内でエンドポイントを構築するときに自動的に Managed Agent Explorer を呼び出す方法と展開済みのエンドポイントに接続する方法について説明しました。また、Managed Agent Explorer 内のさまざまなビューの使用方法とプロパティの設定やオペレーションの呼び出しなどの基本的な操作方法を学習しました。サービスグループの検証方法も紹介しました。これで、Managed Agent Exploer を使ってNotificationやリレーションシップなどのより高度なトピックを探索する準備ができましたので、それらに関する情報についてはこのシリーズの別の回を参照してください。

Managed Agent Explorer の強化に参加いただける場合は、「Why Open Source for the WSDM Open Standard?」の記事内の Eclipse TPTP メーリング・リストにフィードバックを提供してください (「参考文献」を参照)。





上に戻る


ダウンロード

内容ファイル名サイズダウンロード形式
Code sampleac-manexp1source.zip8KBHTTP
ダウンロード形式について


参考文献



著者について

Photo of Balan Subramanian

Balan は、Research Triangle Park 内の IBM の Tivoli Autonomic Computing グループで Web Services Distributed Management (WSDM) 開発チームを率いて、WSDM 用のランタイムとツールを提供しています。彼のチームは、彼がコミッターを務める Eclipse TPTP プロジェクト内で、オープン・ソースの Apache Muse WSDM ランタイムと WSDM 用ツールを提供しています。Balan は、George Mason University でコンピューター・サイエンスの修士号を取得し、2002 年から IBM で勤務しています。Web サービス、グリッド・コンピューティング、オートノミック・コンピューティング、ソーシャル・ネットワーキング、およびロボットに精通しており、これまでに、複数の記事を発行していますが、特に、問題判別、オートノミック・コンピューティング、および Web サービスの領域では複数の特許も出願しています。




記事の評価


サイト改善のため、ご意見をお寄せください。こちらのフォームからお願いいたします。



 


 


不充分・不完全である大変素晴らしい
 


この記事を共有する

del.icio.us del.icio.us newsing newsing FC2ブックマーク FC2ブックマーク
Choix! Choix! ニフティクリップ ニフティクリップ Yahoo!ブックマーク Yahoo!ブックマーク
MM/memo MM/memo CZブックマーク CZブックマーク livedoorクリップ livedoorクリップ
はてなブックマーク はてなブックマーク Buzzurl(バザール) Buzzurl(バザール)




上に戻る


    日本IBMについて プライバシー お問い合わせ