J2EE技术(五)——EJB

一、EJB基本思想

EJB(Enterprise JavaBean):它提供了一个架构开发和配置到客户端的分布式业务逻辑,可以明显减少开发扩展性高度复杂的企业应用的难度。EJB规范定义了EJB组件应该如何及何时与它们的容器交互。由EJB容器负责提供普通的服务,例如目录服务、事务管理、安全、资源池和容错。

EJB 结构:

EJB组件要按EJB规范编写,然后部署到应用服务器上。EJB组件运行在EJB容器中。EJB容器是应用服务器的一部分,该部分软件不单为EJB容器提供运行时环境,更重要的是提供事务、会话管理、持久性、安全等服务。EJB容器通过查看EJB的部署描述符确定EJB需要哪些服务。客户机要访问EJB,需要通过JNDI和RMI定位EJB的对外接口。如下面图所示:

J2EE技术(五)——EJB

二、EJB的类型

EJB2.0规范定义了以下三种EJB:

1、 会话Bean(Session Bean)

会话Bean在J2EE应用程序中被用来完成一些服务器端的业务操作,例如访问数据库、调用其他EJB组件。在一个基于J2EE规范的电子商务系统中会话Bean可能会充当以下角色:计价器、信用卡验证器、山品搜索引擎。总之,会话Bean代表的是“动作”。

会话Bean分为两类:有状态会话Bean和无状态会话Bean。二者区别在于是否保存客户端的状态信息。

会话Bean通常具有以下属性:

l 代表单个客户机执行。

l 可以是事务性的。

l 可以更新共享数据库中的数据。

l 生存期相对较短。

l 其生存期通常就是客户机的生存期。

l 任何持久性数据都由Bean管理。

l 可以依容器的判断予以删除。

l 会在EJB服务器失败时被删除。

2、 实体Bean

实体Bean代表持久保存的数据,典型的是存储在数据库中的数据,因此在服务器崩溃后数据仍然存在。多个客户端可以使用EJB表示同样的数据。例如在一个电子商务系统中,实体Bean可能被用来代表产品、雇员、信用卡、订单等数据对象。

实体Bean通常具有以下属性:

l 代表数据库中的数据。

l 是事务性的。

l 允许多个用户共同访问。

l 可以长期存在。

l 持久性数据可以由容器管理。

l 在EJB服务器失败后能继续生存。

3、 消息驱动Bean

结合了会话Bean和JMS的消息监听器的特性,允许一个业务层组件异步JMS消息。

所有的EJB相同的地方:例如,它们都有一个home接口,用来定义一个客户如何被创建和消除;一个远程接口,定义客户端可以调用哪些Bean上的方法;以及一个实现主商业逻辑的Bean类。

你可能感兴趣的:(J2EE)