< 前へ | 次へ >

演習 4: クライアントとしてのプロジェクトのセットアップ

サービス・プロジェクトと同様に、クライアント・プロジェクトも EGL デプロイメント記述子ファイルを使用します。ただし、クライアント・プロジェクトの場合、EGL デプロイメント記述子はサービスの検索場所に関する情報を保持します。作成した WSDL ファイルをサービスからインポートすると、EGL は適切なバインディング情報を EGL デプロイメント記述子に追加して、クライアントがサービスを検出できるようにします。

そのプロセスで、EGL はサービスを表すインターフェース・パーツを、クライアント・プロジェクト内に作成します。インターフェース・パーツが実際のサービスにバインドされると、インターフェース・パーツをそれがサービス自体であるかのように使用することができます。

表示

EGL デプロイメント記述子ファイルのセットアップ

  1. 「プロジェクト・エクスプローラー」ビューで、「EGLClient/EGLSource/EGLClient.egldd」 をダブルクリックして、クライアント・プロジェクトの EGL デプロイメント記述子ファイルを開きます。 EGL デプロイメント記述子は、同じ EGLClient プロジェクト内にある Java デプロイメント記述子フォルダーとは関連がないことに注意してください。
  2. デプロイメント記述子エディターで、「サービス・バインディング」タブに進みます。
  3. 「サービス・バインディング」タブで、「追加」をクリックします。
  4. 「サービス・バインディングの追加」ウィンドウで、「Web バインディング」をクリックします。
  5. 「次へ」をクリックします。
  6. 「ワークスペースから WSDL ファイルを選択して、現行プロジェクトにコピーしてください」チェック・ボックスを選択します。
  7. 「参照」をクリックします。
  8. EGLSource¥wsdl フォルダーの EGLService プロジェクトにある HelloService.wsdl ファイルを選択し、「OK」をクリックします。
  9. 「インターフェース・オプション」で、「WSDL ファイルから EGL インターフェースを生成します」ラジオ・ボタンを選択します。 このオプションを選択すると、EGL でサービスに自動的にアクセスするために必要なパーツが作成されます。
  10. このページの他のフィールドのデフォルト設定を受け入れ、「次へ」をクリックします。 「新規 EGL インターフェース」ページに、WSDL ファイルに記述されているすべてのサービスがリストとして表示されます。このページで選択するそれぞれのサービスごとに、クライアント・プロジェクトにインターフェース・パーツが作成されます。現時点では、サービス・プロジェクトで作成したサービスのみがここにリストされています。
  11. HelloService サービスのチェック・ボックスが選択されていることを確認し、「次へ」をクリックします。 次のページで、新規インターフェース・パーツの作成場所と名前を設定できます。サービスからインターフェース・パーツに組み込む関数も選択できます。デフォルトでは、サービス・パーツのすべての関数が組み込まれます。
  12. 「ソース・フォルダー」フィールドで、クライアント・プロジェクトのソース・フォルダーとして EGLClient¥EGLSource が指定されていることを確認します。
  13. 「パッケージ」フィールドで、services パッケージが指定されていることを確認します。
  14. 「関数」リストで、SayHello 関数の隣にあるチェック・ボックスが選択されていることを確認します。 ウィンドウは、次のようになります。
    「サービス・バインディングの追加」ウィンドウ
  15. 「終了」をクリックします。 これで、サービス・バインディングが作成されました。このプロジェクトで作成した Web ページは、このバインディングを使用してサービスにアクセスできます。デプロイメント記述子ファイルのバインディングは、次のようになります。
    クライアントのデプロイメント記述子ファイル
  16. デプロイメント記述子ファイルを保管して、閉じます。 EGL によって、プロジェクトの services パッケージ内にインターフェース・パーツが作成されていることに注意してください。 インターフェース・パーツは、次のようになります。
    新規インターフェース・パーツ

    このインターフェースは、サービス・アプリケーションで作成したものと似ていますが、これには、デプロイメント記述子ファイル内のバインディングを参照する追加のプロパティーがあります。

  17. EGLService プロジェクトにおいて実行したように、クライアント・ビルド記述子ファイル内にデプロイメント記述子が 必ず表示されるようにします。
    1. プロジェクトのビルド記述子をダブルクリックして、ビルド・パーツ・エディターで開きます。 このファイルは「EGLClient.eglbld」という名前で、プロジェクトの EGLSource フォルダーにあります。
    2. ビルド記述子オプションのリストで、「deploymentDescriptor」という名前のオプションを 「EGLClient」に設定する必要があります。
    3. 「OK」をクリックして、ファイルを閉じます。

Web ページでのサービスの使用

  1. ClientPage.egl という名前の、Web ページの JSF ハンドラーを開きます。
  2. 「JSF ハンドラー」で、インターフェース・パーツから変数を作成します。 通常、次のような方法でコンテンツ・アシストを使用して変数を作成するのが、最も簡単です。
    1. JSF ハンドラー・ファイルで、直前のセクションで作成した 3 つの変数の直後にあるブランク行にカーソルを置きます。
    2. ブランク行に、インターフェース・パーツの先頭の数文字として、次のコードを入力します。
      he	
    3. Ctrl + スペースを押します。 コンテンツ・アシストによって、 その行が完成されて次のコードが表示されます。
      helloService HelloService {@bindService};
      また、完全な場所を指定しなくてもこのパーツを使用できるように、コンテンツ・アシストにより、JSF ハンドラーに import ステートメントが追加されます。この結果、 次の図のようになります。
      コンテンツ・アシストにより、この行が完成します
  3. 次のように、getHello() 関数の中のブランク行で、サービスの SayHello() 関数を呼び出します。これを行うには、それに name および city 変数を渡し、出力を output 変数に割り当てます。
    output = helloService.SayHello(name, city);
    キーワードまたはパーツの最初の数文字を入力してから Ctrl + スペースを押すことにより、コンテンツ・アシストを使用できることを覚えておいてください。 JSF ハンドラーは次のようになります。
    JSF ハンドラー内のコード
  4. JSF ハンドラーを保管して、閉じます。
  5. 「プロジェクト・エクスプローラー」ビューでクライアント・プロジェクト全体を右クリックし、「生成」をクリックして、クライアント・プロジェクトを生成します。
  6. 次に、テストを行うために、呼び出し予定のサービスをアプリケーション・サーバーに 認識させる必要があります。「サーバー」ビューで、「WebSphere Application Server v6.1」を右クリックし、「プロジェクトの追加および除去」をクリックします。
  7. 「プロジェクトの追加および除去」ページで、EGLClientEAR および EGLServiceEAR の両方が 「構成済みプロジェクト」としてリストされていることを検証します。 EGLServiceEAR が「使用可能プロジェクト」列にある場合は、 それをクリックして強調表示してから、「追加」および「完了」をクリックします。 このウィンドウは次の写真のようになります。
    実行された「プロジェクトの追加および除去」ウィンドウには、
EGLServiceEAR がサーバー上で構成されたとおりに示されます
    これで Web ページを 使用する準備ができました。
  8. 「プロジェクト・エクスプローラー」ビューで、JSF ハンドラーではなく、WebContent フォルダー内の ClientPage.jsp Web ページを右クリックして、「実行」 > 「サーバーで実行」とクリックします。
  9. 「新規サーバーの定義」ウィンドウで、「既存のサーバーを選択」ラジオ・ボタンをクリックしてから、「WebSphere Application Server v6.1」をクリックします。「終了」をクリックします。 サーバーは そのページを公開して内部 Web ブラウザーで表示します。外部 Web ブラウザーを使用したい場合は、内部 Web ブラウザーから URL を コピーして、外部 Web ブラウザーの URL フィールドに貼り付けることができます。
  10. 「名前 (name)」および「市区町村名 (city)」フィールドに名前と市区町村名を入力し、ページのボタンを押します。 図で示すように、ページの出力フィールドに、入力した名前と市区町村名に応じて、「Bill、ニューヨークにようこそ!」などのストリングが表示されます。
    完了後のページ
上記のステップは、単純なタスクの割にはたくさんの作業が必要であるように見えますが、これらのプロジェクトは、EGL がサービス、クライアント、またはその両方をどのように作成できるか、それらのアプリケーションがどのように協働するかを示しています。Web サービスおよびクライアントをサービス指向アーキテクチャーで使用すると、広範な EGL および 非 EGL アプリケーションをモジュラー式で柔軟に統合することができます。
< 前へ | 次へ >