세션 Bean은 엔터프라이즈 Bean의 한 가지 유형입니다. 클라이언트에 의해 작성되며 일반적으로 단일 클라이언트-서버 세션의 지속 시간에만 존재합니다.
세션 Bean은 다른 Bean(taskflow) 사이의 상호작용을 설명하고 특정 태스크를 구현하는 데 유용합니다. 이들은 데이터베이스의 데이터를 표시하지 않지만, 데이터에 액세스할 수 있으므로 세션 Bean을 사용하여 비즈니스 프로세스에서 데이터를 읽고 업데이트하고 삽입할 수 있습니다. 세션 Bean은 개념 범위를 포함하고 공유되지 않으며 보통 읽기 전용인 데이터에 액세스합니다. 세션 Bean은 비즈니스 로직 및 엔티티 모델 지속적 데이터를 포함합니다. 세 가지 세션 Bean 유형(stateless, stateful, 싱글톤)이 있습니다.
Stateless 세션 Bean이 여러 클라이언트의 여러 요청을 처리할 수 있도록 컨테이너에 의해 풀링되며 모든 대화식 상태를 유지보수하지 않습니다.
Stateful 세션 Bean은 단일 클라이언트를 위해 작동하고 다중 메소드 호출 및 트랜잭션에서 클라이언트 특정 세션 정보(호출된 대화 상태)를 유지보수합니다. 단일 클라이언트/서버 세션 지속 기간 동안 존재합니다.
싱글톤 세션 Bean은 애플리케이션당 한 번 인스턴스화된 세션 Bean 컴포넌트입니다. 많은 가상 시스템에 컨테이너가 분산된 경우 각 애플리케이션에는 각 JVM에 대한 싱글톤의 Bean 인스턴스 하나가 포함됩니다.