セッション Bean は、エンタープライズ Bean の一種です。 これはクライアントによって作成され、通常、単一のクライアント/サーバー・セッションの期間にのみ存在します。
セッション Bean は、他の Bean (taskflow) 間の相互作用を記述したり特定のタスクを実装したりする場合に役立ちます。 これらはデータベース内のデータを表すものではありませんが、データにアクセスできるため、ビジネス・プロセスのデータの読み取り、更新、および挿入を行うときにセッション Bean を使用できます。 セッション Bean は、複数の概念をまたぐデータにアクセスし、共有されず、通常は読み取り専用です。 セッション Bean には、ビジネス・ロジックおよびエンティティー・モデル永続データが含まれています。 セッション Bean には、ステートレス、ステートフル、および singleton という 3 つの種類があります。
ステートレス・セッション Bean は、コンテナーによってプールされて複数のクライアントからの複数の要求を処理し、会話型状態は維持しません。
ステートフル・セッション Bean は、単一クライアントに代わって動作し、複数のメソッド呼び出しとトランザクションにわたって、クライアント固有のセッション情報 (会話型状態と呼ばれます) を保守します。これは、単一クライアント/サーバー・セッションの期間中存在します。
singleton セッション Bean は、1 つのアプリケーションにつき 1 回インスタンス化されるセッション Bean コンポーネントです。 多数の仮想マシンにコンテナーが分散している場合、各アプリケーションは、JVM ごとに singleton の 1 つの Bean インスタンスを使用します。