ウィザードを使用して、Custom Applicationテンプレートをベースにしたアプリケーションとプロジェクトを素早く作成します。
-
メイン・メニューから「File」→「New」を選択します。New GalleryのCategoriesで「General」を開き、「Applications」を選択します。Itemsリストで「Custom Application」を選択し、「OK」をクリックします。
JDeveloperアプリケーションは、組織構造の最上位レベルです。アプリケーションの開発中に、操作しているオブジェクトの情報がここに格納されます。
詳細表示同時に、プロジェクトとすべての環境設定が追跡記録されます。
JDeveloperアプリケーションを使用すると、作成するアプリケーションのタイプ(WebアプリケーションやJavaアプリケーションなど)に応じて、ビルトイン・テンプレートを基に、事前定義された環境のタイプを指定できます。アプリケーション・テンプレートを使用すると、適切な機能の組合せが事前に指定されているため、標準アプリケーションのプロジェクト構造を迅速に作成できます。また、使用している機能に合った選択肢のみが使用できるように、JDeveloperで実行する処理がアプリケーション・テンプレートによりフィルタリングされます。
このチュートリアルでは、Custom Applicationテンプレートを使用します。このテンプレートでは、JDeveloperがサポートするすべての機能の関連オブジェクトを1つのプロジェクトから使用できます。
適切なテンプレートを使用してアプリケーションを作成した後も、新しいプロジェクトをアプリケーションに追加したり、組み込む機能を指定したりすることができます。これを実行するには、アプリケーション・ナビゲータでアプリケーション名を右クリックして、「New Project」を選択します。New Galleryでは、任意のタイプのプロジェクトをItemsリストから選択できます。
-
この例に合わせるため、アプリケーション名としてSessionEJBと入力します。
初期プロジェクト構造(アプリケーションの作業領域内にある名前付きプロジェクト・フォルダ)および追加されるアプリケーション・ライブラリは、選択したアプリケーション・テンプレートによって決まります。
詳細表示関連する機能はアプリケーション内の1つ以上のプロジェクトにより定義されます。
JDeveloperのプロジェクトは、関連するファイルを論理的にグループ化するために使用されるものですが、ここではソース・ファイル、パッケージ、クラス、イメージ、およびプログラムに必要なその他の要素の追跡も行われます。プロジェクトでは、プログラムのコンパイル時や実行時に使用するソース・パスや出力パスなどの環境変数を管理します。また、プロジェクトには、コンパイラ、ランタイム、デバッグに関するオプションが用意されており、プロジェクトごとにこれらのツールの動作をカスタマイズできます。
ソース・コードのアクセス、変更、再利用を簡単にするために、複数のプロジェクトをアプリケーションに追加できます。それぞれのプロジェクトに含まれるファイルは、たとえば多層アプリケーションにおける各層に相当する場合もあれば、複雑なアプリケーションにおける各サブシステムに相当する場合もあります。これらのファイルはどのディレクトリに配置されていても、1つのプロジェクトに含めることができます。
デフォルト値のままにして、「Finish」をクリックします。
アプリケーション・ナビゲータのProjectsパネルは、次のように表示されます。

Session Beanは、クライアントから実行されるビジネス・メソッドを含む短時間オブジェクトです。
詳細表示Session Bean内のメソッドの実行がクライアントから要求されると、EJBコンテナによってSession Beanのインスタンスが作成されます。Session Beanの存続時間はクライアント・セッションの存続時間に相当します。この例では、EJB名として指定したものがSession Beanの名前になります。ここで作成するステートレスSession Beanは、HelloWorldビジネス・メソッドを実装し、EJBコンテナにホスティングされます。ステートレスSession Beanは、ビジネス・メソッドのコール間で状態を維持しません。つまり、ステートレスBeanのすべてのインスタンスは、いつでも任意のクライアントから使用できます。ステートフルSession Beanは特定のクライアントと関連づけられており、同じクライアントから呼び出される複数のメソッド間で状態を維持します。
-
アプリケーション・ナビゲータで先ほど作成したプロジェクトを選択し、Create Session Beanウィザードを起動します(「File」→「New」→「Business Tier」→「EJB」→「Session Bean」)。「OK」をクリックします。
-
ウィザードのステップ1、Versionダイアログで「Enterprise JavaBeans 3.0 (Java EE 5.0)」を選択し、「Next」をクリックします。
-
ステップ2のGeneralダイアログで、このキュー・カードの例に合わせるように、EJB名にHelloWorldSessionと入力します。StatelessとContainerが選択されていることを確認してください。Generate Session Facade Methodsが選択されていないことを確認してください。「Next」をクリックします。
ステップ3のClass Definitionsダイアログで、Beanクラス名にacme.ejb.session.HelloWorldSessionBeanと入力し、「Next」をクリックします。
Bean Classフィールドでパッケージ名を変更すると、すべてのSession Bean情報がそのパッケージに格納されます。プロジェクトに多数のコンポーネントが含まれる場合、複数のパッケージにEJBを分割して格納すると分かりやすくなります。
-
ステップ4のInterfacesダイアログで、Implement a Remote Interfaceを選択し、Implement a Local Interfaceの選択を解除します。「Finish」をクリックします。
ウィザードを使用してSession Beanを作成する場合、ローカル・インタフェースとリモート・インタフェースのいずれか(または両方)を作成するよう選択できます。
詳細表示どちらのインタフェースを生成するかは、クライアント・タイプによって異なります。クライアントが同じ仮想マシン(VM)内で実行される場合、最善の選択はローカル・インタフェースです。クライアントが異なるVMで実行される場合は、リモート・インタフェースが必要になります。Webクライアントは同じVM内で実行されますが、Javalクライアントは異なるVMで実行されます。この例ではJavaクライアントを作成するため、生成する必要があるのはリモート・インタフェースのみです。
「
」Save Allをクリックして作業内容を保存します。
Session Beanの作成ステップが完了すると、アプリケーション・ナビゲータは次のように表示されます。
Oracle JDeveloperにより、
acme.ejb.sessionパッケージ内に次のファイルが生成されます。
詳細表示
HelloWorldSessionBean.java:このファイルはBeanクラスです。BeanクラスはBeanのビジネス・メソッドを実装し、アノテーションが含まれています。アノテーションは、Beanタイプ、トランザクション設定やセキュリティ設定などの各種属性、O-Rマッピングや環境またはリソース参照の注入などを指定する際に使用できます。
HelloWorldSession.java:これはリモート・インタフェースです。リモート・インタフェースは、別の仮想マシン(VM)で実行されるクライアント・アプリケーション(Javaクライアントなど)によって使用されます(ローカル・インタフェースは、Webクライアントなど、同じVM上で実行されるクライアントから使用されます。このアプリケーションではJavaクライアントのみを使用するため、ローカル・インタフェースを生成する必要はありません)。インタフェース・ファイルでは自動的に同期が保たれるため、変更する必要はありません。
アプリケーション・ナビゲータでHelloWorldSessionBean.javaを選択すると、Structureウィンドウは次のように表示されます。

Session Beanには、クライアントから実行されるビジネス・メソッドが含まれます。このステップでは、ソース・エディタを使用して、Oracle JDeveloperによって生成されたBeanクラスにメソッドを追加します。
詳細表示ここで追加するメソッド・コードは単純な"Hello world"メソッドです。このメソッドは入力文字列を受け入れて、その文字列にテキスト"Hello"を追加して返します。リモート・インタフェースに対してこのメソッドを公開します。ソース・エディタを使用して新規メソッドを追加することもできますが、Oracle JDeveloperのダイアログから宣言的にメソッドを作成することもできます。新しいメソッドを宣言的に作成すると、Oracle JDeveloperによってBeanクラス内にメソッド・コードが生成されます。次に、ソース・エディタを使用してメソッドにビジネス・コードを追加します。
まだ開いていない場合は、アプリケーション・ナビゲータで「
」HelloWorldSessionBean.javaをダブルクリックして、Javaソース・エディタでBeanクラス・ファイルを開きます。
-
ソース・エディタで、コードを追加して以下の後に続き"Hello world"メソッドを作成します。
public HelloWorldSessionBean() {
}
次のコードをコピーアンドペーストします。
public String sayHello (String name) {
return "Hello " + name;
}
HelloWorldSessionBean.javaのStructureウィンドウで
」sayHello(String)を右クリックし、「Enterprise JavaBeans(EJB)」に続いて「Properties」を選択します。
Bean Method Detailsダイアログで、Expose through Remote interfaceを選択し、「OK」をクリックします。EJB 3.0コンテナと同じJVMでクライアントが実行される場合、インタフェースはローカルになります。クライアントが異なるVMで実行される場合は、リモート・インタフェースが必要になります。このリモート・インタフェースは、Javaクライアントにサービスを公開します。リモート・インタフェースを介してsayHello()メソッドを公開するようにチェック・ボックスを選択すると、適切なメソッド・シグネチャがリモート・インタフェース・ファイルに追加されます。
「
」Save Allをクリックして作業内容を保存します。
Beanメソッドの追加とリモート・インタフェースを介したメソッド公開のステップが完了すると、ソース・エディタは次のように表示されます。
ここまでで、ビジネス・メソッドを含むSession Beanとビジネス・メソッドを公開するリモート・インタフェースがアプリケーションに追加されました。
詳細表示
Bean Method Detailsダイアログで、リモート・インタフェースを介してsayHello()メソッドを公開するようにチェック・ボックスを選択した際、適切なメソッド・シグネチャがリモート・インタフェース・ファイルに追加されました。HelloWorldSession.javaをダブルクリックしてエディタでリモート・インタフェースを開くと、sayHello()メソッド・シグネチャが確認できます。

@Remoteアノテーションは、HelloWorldSessionインタフェースがリモート・インタフェースであることを指定します。
アプリケーション・ナビゲータで「
」HelloWorldSessionBean.javaを右クリックしてから、「New Sample Java Client」を選択します。
Oracle JDeveloperには、ビジネス・サービスのテストを目的としたサンプルJavaクライアントのユーティリティが含まれます。
詳細表示Oracle JDeveloperは自動で、Session Beanのリモート・インタフェースで公開されるすべてのサービスに対して、サンプルJavaクライアントにメソッドを生成します。
次にソース・エディタを使用して、生成されたJavaサンプル・クライアントにコードを追加し、先ほど作成したビジネス・メソッドを呼び出します。その後、統合サーバーとJavaクライアントを実行します。
プロジェクトの別のパッケージにクライアントを作成するために、Create Sample Java ClientダイアログでClient Class Nameフィールドにacme.client.HelloWorldSessionClientと入力します。Application Server Connectionドロップダウン・リストでIntegratedWebLogicServerが選択されていることを確認します。「OK」をクリックします。
サンプルJavaクライアントを作成する場合、Session Beanと同じパッケージ内にクライアントを作成するように選択することも、別のパッケージを指定することもできます。
詳細表示クライアント・ファイルを別のパッケージに格納すると、大規模プロジェクトでのナビゲーションが簡素化されるため効果的です。
Oracle JDeveloperの統合WebLogic Serverへの接続オプションがあります。デフォルトでJDeveloperは、IDEにバンドルされたOracle WebLogic Serverのユーザー固有のインスタンスを参照する、Integrated WebLogic Serverという名前の統合されたサーバーを自動的に構成します。統合されたWebLogic Serverは、パッケージ化されたアーカイブ・デプロイメント用のJava EEランタイム・サービスです。ゼロコピー・デプロイメントに基づき、Integrated WebLogic Serverでは、アプリケーションとそのプロジェクトのJava EEアプリケーションとしての実行とテストをJava EEコンテナ内で行えます。Integrated WebLogic Serverの使用に際し、特別な接続設定は必要ありません。
サンプルJavaクライアントを生成した後、生成されたクライアント・ファイルでコードを追加して、先ほど作成したsayHelloメソッドを呼び出します。
-
HelloWorldSessionClient.javaを表示したソース・エディタで、先ほど作成したメソッドを呼び出すコードを追加します。変更後
HelloWorldSession helloWorldSession = (HelloWorldSession)context.lookup("<mapped_name>#<bean_class_name>");
次の行をコピーアンドペーストします。
System.out.println(helloWorldSession.sayHello( "world" ));
-
Build > Rebuild <project_name> をメイン・メニューから選択してプロジェクトを再構築します。Messages LogウィンドウでSuccessful compilationメッセージが表示されます。
アプリケーション・ナビゲータで、「
」HelloWorldSessionBean.javaを右クリックして「Run」を選択し、統合サーバーを開始します。
Create Default Domainダイアログが表示される場合は、デフォルトのパスワード(たとえばweblogic1)を、PasswordおよびConfirm Passwordフィールドに入力し、「OK」をクリックします。
Session Beanを実行する際、JDeveloperではRunning Logウィンドウでいくつかのメッセージが表示されます。その後、Integrated WebLogic Serverが開始しアプリケーションが統合サーバーにデプロイされていることを示すメッセージが表示されます。
アプリケーションが統合サーバーにデプロイされているとき、アプリケーション・ナビゲータで「
」HelloWorldSessionClient.javaを右クリックし、「Run」を選択します。
Javaクライアントを実行すると、Project1.jpr Logウィンドウに出力文字列Hello worldが表示されます。
-
Session Beanを停止するには、メイン・ツールバーの「
」Terminateをクリックして、バインドされたアプリケーション・インスタンスのSessionEJBをドロップダウン・メニューから選択します。
サンプルJavaクライアントの作成ステップが完了すると、アプリケーション・ナビゲータは次のように表示されます。
詳細表示
In this tutorial you created and tested a simple EJB session bean.このチュートリアルで学習した内容は、以下のとおりです。
- JDeveloperのウィザードおよびダイアログを使用して、アプリケーションおよびプロジェクトを作成する
- 新しいEJB 3.0 Session Beanを作成する
- ソース・エディタを使用して、Beanクラスにメソッドを追加する
- サンプルJavaクライアントを作成する
Enterprise JavaBeansやJDeveloperの詳細、Java EEアプリケーションの開発については、下記のWebサイトを参照してください。
すべて表示 |
すべて非表示
Copyright © 2011, Oracle and/or its affiliates.All rights reserved.