< 前へ | 次へ >

演習 1: サービス用の EGL Web プロジェクトの作成

EGL プロジェクトは、サービス、クライアント、またはその両方として同時に機能することができます。 このチュートリアルでは、サービスとして機能するプロジェクトとクライアントとして機能するプロジェクトの 2 つのプロジェクトを作成します。すべてのコードを 1 つの EGL プロジェクトに入れることもできますが、2 つのプロジェクトを使用することにより、EGL が別のアプリケーションのサービスをどのようにして呼び出すことができるかを示します。

表示

  1. オプションで、このチュートリアルでの作業時に、 別のワークスペースを使用することができます。 これによって、他のプロジェクトを妨げることがなくなります。 別のワークスペースを使用する場合は、次のオプション・ステップに従ってください。
    1. ワークベンチで、「ファイル」 > 「ワーク スペースの切り替え」とクリックします。 「ワークスペース・ランチャー」ウィンドウが開きます。
    2. 「ワークスペース」フィールドに、新しいワークスペース・ロケーションを入力します。
    3. 「OK」をクリックします。 新しいワークスペース・ロケーションを使用して、ワークベンチが再オープンします。 ワークスペース・ロケーションは、いつでも切り替えることができます。 また、ワークスペース・ロケーションはいくつでも使用することができます。
  2. Web パースペクティブへの切り替え:
    1. 「ウィンドウ」 > 「パースペクティブを開く」 > 「その他」の順にクリックします。
    2. パースペクティブのリストから、「Web」をクリックします。 Web パースペクティブが表示されない場合は、「すべて表示」チェック・ボックスを選択します。
    3. 「OK」をクリックします。
  3. デプロイメント記述子が自動生成されるように EGL がセットアップされることを確認します。 デプロイメント記述子には、EGL サービスを他のアプリケーションで使用する方法や、他のアプリケーションが提供するサービスを EGL アプリケーションで検索する方法を記述した情報が含まれています。
    1. ワークベンチで、「ウィンドウ」 > 「設定...」 > 「EGL」をクリックします。
    2. 「デフォルトの EGL プロジェクト機能の選択項目」で、 「EGL プロイメント記述子の作成」が選択されていることを 確認します。選択されていない場合は、このフィールドをクリックして選択します。
    3. 「OK」をクリックします。
  4. ワークベンチで、「ファイル」 > 「新規」 > 「プロジェクト」とクリックします。
  5. 「新規プロジェクト」ウィンドウで、「EGL」を展開して、「EGL プロジェクト」をクリックします。 「EGL プロジェクト」が表示されない場合は、「すべてのウィザードを表示」チェック・ボックスを選択します。それでも「EGL」カテゴリーまたは「EGL プロジェクト」が表示されない場合は、EGL がシステムにインストールされていません。製品のセットアップを再び実行して、 EGL の「追加機能」項目を選択してください。
  6. 「次へ」をクリックします。
  7. 「プロジェクト名」フィールドで、プロジェクトに次の名前を付けます。
    EGLService
  8. 「EGL プロジェクト・タイプ」で、「Web プロジェクト」をクリックします。 このタイプのプロジェクトにより、Web ページのユーザー・インターフェースを使用できるようになります。
  9. 「次へ」をクリックします。
  10. 「ターゲット・ランタイム」で、該当する WebSphere Application Server のバージョンを選択します。
  11. 「新規ビルド記述子の作成」が選択されていることを確認します。 ビルド記述子には、プログラムを別の言語に生成するオプションが含まれています。ウィザードによって適切なビルド記述子が作成されるため、現時点ではこれらに配慮する必要はありません。 WAS を使用していて、プロジェクトを EAR (エンタープライズ・アプリケーション・リソース) に追加するためのデフォルト設定を以前に変更した場合以外は、拡張設定を使用する必要はありません。WAS を使用している場合、EGLService プロジェクトは EAR に属している必要があります。ワークベンチはこの設定を記憶しています。
  12. J2EE パースペクティブへの切り替えを確認するウィンドウが、 表示される場合があります。 このウィンドウが表示された場合は、「いいえ」をクリックします。
「プロジェクト・エクスプローラー」ビューに、新規プロジェクトが表示されます。
新規プロジェクトが表示されている「プロジェクト・エクスプローラー」ビュー

サービスを定義するインターフェースの作成

EGL では、「インターフェース」という語をオブジェクト指向言語と同じ用法で使用します。EGL の場合は、インターフェースによってサービスが従う計画を定義します。 具体的に言うと、インターフェースには、1 つ以上の関数プロトタイプ または関数の要約が含まれています。これらのプロトタイプ自体は使用可能な関数ではありませんが、実際の関数に関する計画を設計するために使用できます。
例えば、計算器のような数学演算を実行するアプリケーションを作成する必要があるとします。始めに、アプリケーションで必要になると考えられるすべての数学演算 (加算、減算、乗算など) のリストを作成し、これらの演算を実行するコードは実際には作成しないでおきます。このような場合には、各演算を指定して、それらの入出力パラメーターを指定しますが、ロジックのコーディングは開始しません。このようにして、EGL サービス・アプリケーションがインターフェースで必要とする関数をリストしていきます。このようなインターフェースの先頭は、次のようになる場合があります。
interface myCalculatorInterface

  //Function to add numbers together 
  function addNumbers(number1 decimal(10,2) in, 
    number2 decimal(10,2) in) returns (decimal(10,2));

  //Function to subtract numbers
  function subtractNumbers(number1 decimal(10,2) in, 
    number2 decimal(10,2) in) returns (decimal(10,2));

end

その後に、サービスをコーディングする準備ができたら、このインターフェースを開始点およびテストとして使用して、計画に沿っていることを確認できます。

インターフェースを作成する必要はめったにありませんが、一般的に、インターフェースを使用してサービスを記述することは、プログラミングのよい練習となります。
  • インターフェースを使用すると、サービスを事前に計画することができ、EGL はサービスがインターフェースから逸脱している場合に警告を出します。
  • インターフェースは、サービスの簡潔な要約を提供し、サービスの実装の全詳細を提供せずにサービスの機能を説明します。
  • インターフェースは、開発または準拠の要件として機能することができます。
  1. 「プロジェクト・エクスプローラー」ビューで、EGLService プロジェクトを右クリックして選択します。
  2. 「新規」 > 「その他」とクリックする。
  3. 「新規」ウィンドウで、「EGL」を展開して、「インターフェース」をクリックします。 Java™ の下にある「インターフェース」項目ではなく、EGL の下にある「インターフェース」項目を必ず 使用してください。
  4. 「次へ」をクリックします。
  5. 「新規 EGL インターフェース」ウィンドウで、プロジェクトの EGLSource フォルダーが「ソース・フォルダー」フィールドに表示されていることを確認します。 このフィールドには、EGLService¥EGLSource と表示されているはずです。
  6. 「パッケージ」フィールドに、次の名前を入力します。
    interfaces
    この名前のパッケージはまだプロジェクトにないため、EGL によって新規パッケージが作成されます。
  7. 「EGL ソース・ファイル名」フィールドで、新規インターフェースに対し、次の名前を入力します。
    HelloInterface
    「新規 EGL インターフェース」ウィンドウは次のようになります。
    「新規 EGL インターフェース」ウィンドウ
  8. 「終了」をクリックします。 新規インターフェースが作成されて EGL エディターで開きます。このインターフェースには、次の 1 つの関数プロトタイプがサンプルとしてすでに含まれています。
    function functionName(parameterName string in) returns (int);
  9. この関数プロトタイプを削除します。
  10. サンプルのプロトタイプがあった場所に、次の独自の関数プロトタイプのコードを挿入します。
    function SayHello(name string in, city string in) returns (string);
  11. ファイルを保存して閉じます。
以下に、今入力したコードの技術的な詳細を述べます。
  • 上記で説明したように、これは EGL ロジックの完全な部分ではありません。しかし、この関数プロトタイプ には、サービスで使用する関数が記述されています。 この場合、プロトタイプには SayHello という名前の関数が記述されています。
  • この関数は、パラメーター と呼ばれる次の 2 つの入力部分をクライアントから受け入れます。
    • 個人の名前のストリング変数
    • 市区町村名のストリング変数
    関数は、これらのパラメーターを使用して 1 つの出力部分にまとめ、クライアントに戻します。
  • コード returns (string) は、この戻り値とタイプを示しています。

インターフェースは次のようになります。

EGL インターフェース・パーツのコード

サービスの作成

  1. 「プロジェクト・エクスプローラー」ビューで、プロジェクトを右クリックして、「新規」 > 「サービス」とクリックします。
  2. 「新規 EGL サービス」ウィンドウで、プロジェクトの EGLSource フォルダーが「ソース・フォルダー」フィールドに表示されていることを確認します。 このフィールドには、EGLService¥EGLSource と表示されているはずです。
  3. 「パッケージ」フィールドに、次の名前を入力します。
    services
  4. 「EGL ソース・ファイル名」フィールドで、新規サービスに対し、次の名前を入力します。
    HelloService
  5. 「実装するインターフェース」の横にある「追加」をクリックします。
  6. 「インターフェースの選択」フィールドに、アスタリスク * を入力します。 インターフェースが、「パーツのマッチング」リストに表示されます。
  7. 「パーツのマッチング」リストの HelloInterface をクリックして選択します。
  8. 「OK」をクリックします。 そのインターフェースが、「実装するインターフェース」リストに表示されます。
  9. 2 つのチェック・ボックスを選択して、デプロイメント情報をデプロイメント記述子ファイルに追加します。 「新規 EGL サービス」ウィンドウは次のようになります。
    「新規サービス」ウィザード
  10. 「終了」をクリックします。 新規サービスが作成されて EGL エディターで開きます。サービスにはすでに、インターフェース内のプロトタイプに基づいた起動関数が含まれています。
  11. コメント // TODO Auto-generated function を除去し、代わりに次のコードを入力します。
    ReturnString string;
    ReturnString = name::", welcome to "::city::"!";
    return (ReturnString);
    このコードはパラメーターに基づいて、「Jim, welcome to Chicago!」などのストリング変数を作成し、それを値に割り当てます。 :: コードは連結記号 で、別個のストリングを 1 つのストリングに結合します。 コードは次のようになります。
    EGL サービス・パーツのコード
  12. ファイルを保存して閉じます。
< 前へ | 次へ >

フィードバック