エンタープライズ Bean は、Enterprise JavaBeans (EJB) 3.1 仕様の JSR-318 に定義されているサーバー側のアプリケーションコンポーネントです。エンタープライズ Bean は、再使用を推奨するために、分離されたアプリケーションビジネスロジックの実装向けに設計されています。 エンタープライズ Bean は Java クラスとして記述され、適切な EJB アノテーションが追加されます。エンタープライズ Bean は独自のアーカイブ (JAR ファイル) でアプリケーションサーバーにデプロイするか、Java EE アプリケーションの一部としてデプロイすることが可能です。アプリケーションサーバーは各エンタープライズ Bean のライフサイクルを管理し、セキュリティー、トランザクション、および同時実行管理などのサービスを提供します。 エンタープライズ Bean はビジネスインターフェースをいくつでも定義することも可能です。ビジネスインターフェースを使用すると、クライアントが利用できる Bean のメソッドをより確実に制御でき、リモート JVM で稼働しているクライアントへのアクセスも許可できます。 エンタープライズ Bean には、セッション Bean、メッセージ駆動型 Bean、およびエンティティー Bean の 3 種類があります。

セッション Bean

セッション Bean は、関連するビジネスプロセスやタスクのセットをカプセル化し、それらをリクエストしたクラスにインジェクトするエンタープライズ Bean です。セッション Bean には、ステートレス、ステートフル、およびシングルトンの 3 種類があります。

メッセージ駆動型 Bean

メッセージ駆動型 Bean (MDB) は、アプリケーションの開発にイベント駆動型モデルを提供します。JDB のメソッドは、クライアントコードへはインジェクトされず、クライアントコードから呼び出しされませんが、Java Messaging Service (JMS) サーバーなどのメッセージングサービスからメッセージが受信されるとトリガーされます。Java EE 6 仕様は、JMS のサポートを必要としますが、他のメッセージングシステムをサポートすることもできます。

エンティティ Bean

エンティティー Bean は EJB 3.1 で非推奨となり、JPA エンティティーの使用が推奨されるようになりました。エンティティー Bean は、レガシーシステムとの後方互換性を維持する場合のみ使用してください。