パート4:アノテーション・ドリブンEJB Webサービスの構築
どのようなJavaクラスでもWebサービスとして使用でき、EJB Session Beanもその例外ではありません。

Session Beanには通常、なんらかのビジネス・タスクまたはアクティビティが実装されます。一般に、Session Beanは特定のクライアント・リクエストに対してインスタンス化または作成され、たいていは単一セッションの持続期間中のみ存在します。Session Beanはあらゆる目的で使用できますが、通常、1回限りの計算や情報検索など、特にデータが永続化されないケースで使用されます。

ステップ1:EJB Webサービスの作成
  1. 空のプロジェクトを新規に作成します。「Annotation」プロジェクト・ノードを右クリックし、「New」→「From Gallery」を選択します。New Galleryで、Categoriesリストから「General」→「Projects」を選択し、Itemsリストから「Custom Project」を選択します。「OK」をクリックします。

    new gallery

  2. 新しいプロジェクトにEJB-Annoという名前をつけ、その他はデフォルト値のままにします。「Finish」をクリックします。

    Create Generic ProjectのEJB-Anno

  3. EJB-Anno」プロジェクトを右クリックして、「New」→「From Gallery」を選択します。

    Newを選択したアプリケーション・ナビゲータ

  4. New Galleryで、Categoriesリストの「Business Tier」ノードを開き、「EJB」を選択します。Items列で「Session Bean」を選択し、「OK」をクリックします。

    New Gallery、Session Beanの作成

  5. 新しいSession Beanウィザードで、ステップ4が表示されるまで「Next」をクリックします。EJB Version(Enterprise JavaBeans 3.1(Java EE 6.0))NameClass Definitionの各ページではデフォルト値を受け入れます。

  6. Interfacesページですべてのチェック・ボックスの選択を解除します。このため、インタフェースの実装は行われません。「Next 」をクリックしてから「Finish」をクリックするとBeanが作成されます。

    Create Session BeanのInterfaceページ

  7. SessionEJBBean.javaファイルがエディタ内に開きます。前のシナリオと同じsayHello()メソッドを追加します。



    クラスは次のように表示されます。

    コードを表示したJavaコード・エディタ
  8. Save AllSave Allをクリックして作業内容を保存します。

    この時点では、Helloという単語のあとにパラメータとして入力された値を返す、シンプルなビジネス・ロジックをもったクラスを作成したに過ぎません。次の項では、先ほどと同様にWebサービスのアノテーションを追加します。

  9. クラス定義の上にInterfacesアノテーションを追加します。JDeveloperによって自動的にjavax.jws.WebServiceのimport文が追加されます。@WebServiceというコード行をクリックしてから、左余白内の電球マークをクリックします。「Configure project for web services」をクリックし、このWebサービス・プロジェクトの残りの部分を構成します。

    アノテーションを追加したJavaコード・エディタ

  10. POJOシナリオの場合と同様に、sayHelloメソッドの上に@WebMethodアノテーションを追加します。 要求されたら[Alt]を押しながら[Enter]を押して、import文を追加します(この文は自動的に追加される場合もあります)。

    アノテーションの追加が完了したJavaコード・エディタ

  11. Save AllSave Allをクリックして作業内容を保存します。

ステップ2:Webサービスのテスト

この項では、Webサービスのコンパイル、デプロイ、およびテストを行います。前述の項と同様に、HTTP Analyzerを使用してWebサービスのテストを行います。HTTP Analyzerを使用してWebサービスをテストする場合、サービスがコンパイルされ、統合サーバーにデプロイされます。これによりアナライザが起動され、テスト時にWebサービスへの値の送受信が可能になります。

  1. アプリケーション・ナビゲータで「SessionEJBBean.java」ノードを右クリックし、コンテキスト・メニューから「Test Web Service」を選択します。アプリケーション・ナビゲータ、Test Web Serviceの選択

    前述の項と同様に、HTTP Analyzerエディタの上部にはWebサービスのURL、WSDL URL、および公開される操作が表示されます。

    HTTP Analyzer

  2. リクエスト領域で、arg0フィールドに<あなたの名前>を入力して、「Send Request」をクリックします。

    名前を表示したリクエスト領域

    次に、アナライザによってサービスにリクエストが送信され、しばらくすると戻りパラメータが表示されます。

    レスポンス領域

  3. Close」をクリックしてすべてのタブを閉じ、「EJB-Anno」プロジェクトを閉じます。


ブックマーク 印刷 すべて表示 | すべて非表示
トップへ戻る
Copyright c 2013, Oracle and/or its affiliates.All rights reserved.