Middleware
Application Server
EJB 3.0を使用したステートレスSession EJBの開発方法 日付:2006年5月6日
はじめにこのサンプル・アプリケーションでは、ステートレスSession EJBを使用したEJB 3.0仕様のオラクルによるサポートを実証し、EJBクライアントからの簡素化されたEJB起動モデルを示します。 EJB 3.0は数多くの複雑な開発タスクを取り除き、EJBの開発を大幅に簡素化します。 たとえば、EJB 2.1を使用して簡単なステートレスEJBを作成するには、Beanクラスと2つのインタフェース、さらにデプロイメント・ディスクリプタが必要です。 リモート(またはローカル)・インタフェースおよびホーム・インタフェースはそれぞれ javax.ejb.EJBObjectと javax.ejb.EJBHomeを拡張し、Beanクラスは javax.ejb.SessionBeanインタフェースを実装する必要がありました。 EJB 3.0では、次の仕様により、開発が大幅に簡素化されています。
このデモンストレーションではHelloWorld Beanを例に、EJB 3.0を使用した簡単なステートレスEJBについて説明します。 注:一部のEJB 3.0 APIは、EJB 3.0の最終仕様で変更される可能性があり、ご使用のアプリケーションをEJB 3.0最終仕様に適合させるための変更が必要な場合があります。 オラクルは、この仕様の最終版に適合する将来のバージョンのOracle Application Server Containers for J2EEについて、すべてのEJB 3.0機能の下位互換性を保証することはできません。 EJB 3.0を使用したステートレスSession Beanの例HelloWorld EJBのリモート・インタフェースを次に示します。 これは純粋なJavaインタフェースで、 EJBObjectを拡張しません。
Beanクラスは、ビジネス・インタフェースを実装する簡単なJavaクラスです。
Beanは、 @Statelessアノテーションを使用して、BeanをステートレスEJBとしてマークします。 @Remoteを使用してEJBのリモート・インタフェースとデプロイメント・ディスクリプタに注釈を付けることができますが、必須ではありません。 EJBクライアントのサンプルEJBホーム・インタフェースが不要になり、Beanインスタンスはcreate()メソッドを起動しても作成されません。 かわりに、次のクライアント・アクセッサで示すように、依存性の注入を使用してBeanのインスタンスを注入し、EJBで直接メソッドを起動できます。
前提条件必須知識アプリケーションのサンプルを完了させるには、以下を熟知している必要があります。
EJB 3.0の詳細は、OTNの次のドキュメントを参照してください。
ソフトウェア要件このデモンストレーションでは、次のソフトウェア・コンポーネントがインストールされ、正しく構成されている必要があります。
表記法
アプリケーションの構築このアプリケーションのJavadocは、 %HOWTO_HOME%/doc/javadoc/ディレクトリにあります。 構成ファイルは %HOWTO_HOME%/etcディレクトリにあり、application.xmlなどのデプロイメント・ディスクリプタ・ファイルが含まれます。 アプリケーションの実行Oracle Application Server 10g 10.1.3のスタンドアロンのインスタンスでアプリケーションのサンプルを実行するには、次の手順に従ってください。 1. サンプルのファイル・ディレクトリの検証
2. 環境の設定次の環境変数が定義されていることを確認してください。
3. Oracle Containers for J2EEインスタンスの起動以上を変更した後に、次のコマンドを使用してOracle Containers for J2EEをスタンドアロンで起動します。
Oracle Application Server管理インストールを使用している場合、上記の変更後に次のコマンドを使用します。
4. アプリケーションの生成、コンパイル、および配置Ant 1.6.2はOracle Containers for J2EEに同梱されており、 PATH環境変数を $ORACLE_HOME/ant/binに設定する必要があります。 オペレーティング・システムによっては、現在はAntが環境変数をサポートしていないものがあります。 該当するオペレーティング・システムの場合は、 %HOWTO_HOME% ディレクトリにあるant-oracle.xmlを修正してください。 デモ・ディレクトリにあるant-oracle.propertiesを編集して、次のOracle Containers for J2EEスタンドアロンで示されているとおりに、プロパティに正しい値が設定されていることを確認してください。
Oracle Application Server管理インストールを使用している場合、Oracle Application Serverのインストールで管理されているOracle Containers for J2EEインスタンスの oc4j.admin.userおよび oc4j.admin.password以外の変更については、次のプロパティを変更します。
環境に応じて、ant-oracle.propertiesのdeployer.uriを適切にコメントアウトする必要があります。たとえば、OPMNの管理する単一のOracle Containers for J2EEインスタンスやクラスタ化されたOracle Containers for J2EEインスタンス/グループなどです。 環境に合わせて、 jndi.propertiesのprovider.url、principalおよびcredentialの変更が必要です。 Oracle Application Serverインストールを使用している場合は、provider.urlを次の形式で使用してください。 opmn:ormi://localhost:6003:home/ejb30slsb. アプリケーションを構築するには、 %HOWTO_HOME%ディレクトリで次のコマンドを入力します。
これで、 %HOWTO_HOME%/libディレクトリ内に ejb30slsb.earが新しく作成されます。 構築に成功すると、このコマンドはアプリケーションをデプロイするよう試みます。 まず、OC4Jが稼働しているかをテストします。 アプリケーションは、別々にデプロイすることもできます。 %ORACLE_HOME%の環境変数が定義されていることを確認したら、 %HOWTO_HOME%ディレクトリから次のコマンドを入力します。
5. アプリケーションの実行次のコマンドを実行してサンプルを実行します。名前をプログラム引数として使用します。
Oracle Containers for J2EEを起動したコンソールに戻ると、HelloWorld EJBが生成した出力が表示されています。 まとめこのドキュメントで学習した内容は、次のとおりです。
|