EJB分为:会话Bean、实体Bean、消息驱动Bean三大类。
会话Bean是对管理进程或任务的客户应用的扩展。会话Bean又分为有状态的会话Bean和无状态的会话Bean两种,能够在多次调用之间保存状态的Bean就是有状态会话Bean,否则就是无状态会话Bean。
实体Bean是对业务概念的建模。实体Bean是对实际对象进行建模,这些对象通常是某种数据库中的持久记录。实体Bean也分为两种:BMP(Bean管理的持久性)和CMP(容器管理的持久性)。BMP是指对数据层的访问代码由编写Bean的程序员负责通过相关代码(通常是JDBC)来完成,而CMP则通过相关的配置来完成,具体的JDBC代码则由容器来完成。
消息驱动Bean是负责协调涉及其他会话Bean和实体Bean的任务。消息驱动Bean和会话Bean之间的主要差别在于其访问方式。会话Bean提供了一个远程接口,其中定义了可以调用哪些方法,而消息驱动Bean则与此不同,消息驱动Bean可以预定或监听消息,并且通过处理该消息以及对其他Bean采取的动作加以管理来作为响应。