第21章 Enterprise JavaBeans 3.2
21.1. はじめに
21.1.1. Enterprise JavaBeans の概要
Enterprise JavaBeans(EJB)3.1 は、Enterprise Beans と呼ばれるサーバー側のコンポーネントを使用して、分散型のトランザクション型のセキュアで移植可能な Java EE アプリケーションを開発するための API です。エンタープライズ Bean は、再利用を促すような分離方法でアプリケーションのビジネスロジックを実装します。Enterprise JavaBeans 3.1 は、Java EE 仕様 JSR-318 として文書化されています。
JBoss EAP 6 では、Enterprise JavaBeans 3.1 仕様を使用してビルドされたアプリケーションが完全にサポートされます。
21.1.2. 管理者向け Enterprise JavaBeans の概要
JBoss 管理者は、JBoss EAP 6 でのエンタープライズ Bean のパフォーマンスを制御する多くの設定オプションを使用できます。これらのオプションは、管理コンソールまたはコマンドライン設定ツールを使用してアクセスできます。変更を適用するために XML サーバー設定ファイルを編集することもできますが、推奨されません。
EJB 設定オプションは、サーバーがどのように実行されているかによって、管理コンソールでの場所が若干異なります。
- 管理コンソールの上部にある Configuration タブをクリックします。
- ドメインモードで実行している場合は、左上の Profiles ドロップダウンメニューからプロファイルを選択します。
- Subsystems メニューを展開します。
- Container メニューを展開し、EJB 3 を選択します。
21.1.3. エンタープライズ Bean
エンタープライズ Bean は、Enterprise JavaBeans(EJB)3.1 仕様 JSR-318 に定義されているサーバー側のアプリケーションコンポーネントです。エンタープライズ Bean は、再利用を促すために、分離された方法でアプリケーションのビジネスロジックを実装するように設計されています。
エンタープライズ Bean は Java クラスとして記述され、適切な EJB アノテーションが付けられます。Java EE アプリケーションの一部としてデプロイすることも、独自のアーカイブ(JAR ファイル)でアプリケーションサーバーにデプロイできます。アプリケーションサーバーは、各エンタープライズ bean のライフサイクルを管理し、セキュリティー、トランザクション、同時実行管理などのサービスを提供します。
また、エンタープライズ Bean は任意の数のビジネスインターフェースを定義できます。ビジネスインターフェースは、クライアントで利用できる Bean のメソッドの制御を強化し、リモート JVM で実行しているクライアントへのアクセスも許可します。
エンタープライズ Bean には、セッション Bean、メッセージ駆動型 Bean、およびエンティティー Bean の 3 種類があります。
重要
エンティティー bean は EJB 3.1 で非推奨となり、Red Hat は代わりに JPA エンティティーの使用を推奨します。Red Hat は、レガシーシステムとの後方互換性のためにエンティティー Bean のみを使用することを推奨します。
21.1.4. セッション Bean
セッション Bean は、関連するビジネスプロセスまたはタスクのセットをカプセル化し、それらを要求するクラスに挿入されるエンタープライズ Bean です。セッション bean のタイプには、ステートレス、ステートフル、シングルトンの 3 つがあります。
21.1.5. メッセージ駆動 Bean
メッセージ駆動 Bean (MDB) は、アプリケーション開発のイベント駆動モデルを提供します。MDB のメソッドは、クライアントコードにインジェクトされず、クライアントコードから呼び出しませんが、Java Messaging Service (JMS) サーバーなどのメッセージングサービスからのメッセージの受信によってトリガーされます。Java EE 6 仕様では JMS がサポートされる必要がありますが、他のメッセージングシステムもサポートされます。