エンタープライズ Bean は Java コンポーネントの 1 つで、他のリソースと結合して、 J2EE アプリケーションを作成することができます。 エンタープライズ Bean には、エンティティー Bean、セッション Bean、 およびメッセージ駆動型 Bean の 3 種類があります。
Bean はすべて Enterprise JavaBeans (EJB) コンテナー内にあります。 このコンテナーが、Bean と、Bean が常駐するアプリケーション・サーバーの間のインターフェースを提供します。
エンティティー Bean は永続データを格納し、永続ストレージへの接続を必要とします。 このストレージは、データベース、既存のレガシー・アプリケーション、ファイル、 または他のタイプの永続ストレージである可能性があります。
セッション Bean は一般的に、アプリケーション用のハイレベルおよびミッドレベルのビジネス・ロジックを含みます。 セッション Bean の各メソッドは、通常、特定のハイレベル操作を実行します。これには例えば、注文の発注登録や口座間での送金があります。 セッション Bean は、そのビジネス・ロジックの過程で、エンティティー Bean のメソッドを呼び出すことがあります。
セッション Bean は、ステートフル または ステートレス のいずれかにできます。ステートフル Bean のインスタンスは、その存続期間内で単一のクライアントによる使用を想定していますが、クライアントは、そのクライアントの存続期間中、相互に関連した一連のメソッド呼び出しを実行します。 一例として、「ショッピング・カート」では、 クライアントが、オンライン・ショッピングのセッション中に、カートにアイテムを追加します。 一方、ステートレス Bean のインスタンスは一般的に、その存続期間内に複数のクライアントにより使用されるため、単一のメソッド呼び出しの範囲で完了することのできるビジネス・ロジックの操作に適しています。ステートフル Bean はどうしても必要な場合にのみ使用すべきで、ステートレス Bean を使用することにより、アプリケーションのデバッグ、保守、拡張性が向上します。
データ・アクセスを必要とする Bean は、データ・ソース を使用します。 このデータ・ソースは、永続ストレージ・メカニズムへの接続プールを定義する管理リソースです。
エンタープライズ Bean の詳細については、エンタープライズ Bean: 学習用リソース を参照してください。