EJB是sun的JavaEE服务器端组件模件模型,设计目标与核心应用是部署分布式应用程序。凭借java跨平台的优势,用EJB技术部署的分布式系统可以不限于特定的平台。EJB (Enterprise JavaBean)是J2EE(javaEE)的一部分,定义了一个用于开发基于组件的企业多重应用程序的标准。其特点包括网络服务支持和核心开发工具(SDK)。 在J2EE里,Enterprise Java Beans(EJB)称为Java 企业Bean,是Java的核心代码,分别是会话Bean(Session Bean),实体Bean(Entity Bean)和消息驱动Bean(MessageDriven Bean)。
下面来简要介绍一下会话Bean(Session Bean),实体Bean(Entity Bean)和消息驱动Bean(MessageDriven Bean):
会话Bean:
会话Bean用于实现业务逻辑,它分为有状态bean和无状态bean。有状态bean可以维护会话状态,无状态bean不维护会话状态。要维护会话状态,意味着EJB容器要为每个用户创建一个bean实例,并通过该实例保存着与用户的会话状态。不维护会话状态,意味着一个bean实例不需要保存与某个用户的会话状态,这时一个bean实例可以为多个用户服务。
每当客户端发出EJB请求时,容器就会选着一个Session Bean来为客户端服务。会话Bean可以直接访问数据库,但更多时候它是通过实体Bean实现数据访问。
实体Bean:
从名字上我们就能猜到,实体Bean是代表真实物体的数据。在EJB3.0中,实体Bean仅作为普通java对象来使用,他负责跟数据库表进行对象与关系映射。
消息驱动Bean(MDB):
MDB是设计用来专门处理基于消息请求的组件。它能够收发异步的JMS消息,并能够轻易地与其他EJB交互。他特别适用于当一个业务执行时间很长,而执行结果无需实���向用户反馈的这样一个场合。