EJB?

来源:互联网 发布:vb中清除文本框内容 编辑:程序博客网 时间:2024/04/29 18:14

EJB是sun的服务器端组件模型,最大的用处是部署分布式应用程序,类似微软的.com技术。凭借java跨平台的优势,用EJB技术部署的分布式系统可以不限于特定的平台。

EJB (Enterprise JavaBean)是J2EE的一部分,定义了一个用于开发基于组件的企业多重应用程序的标准。其特点包括网络服务支持和核心开发工具(SDK)。

在J2EE里,Enterprise Java Beans(EJB)称为Java 企业柄,是Java的核心代码,分为整体柄和片段柄和消息柄三个部分,其中的消息柄将在以后再作讨论。现在我们来看看什么是整体柄和片段柄。

整体柄是一种对象: 标准Java对象由创建它的程序创建,当程序终止时,对象也随之丢失,这就意味着当再次运行些程序时,将无法找到先前创建的柄,而整体柄会一直存在着直到它被删除。 一个程序可以创建一个整体柄,并且这个程序可以在被保存后随时停止和重启。整体柄将会依然存在。重启后,程序可以找到与之相对应的整体柄,并且会继续使用这个整体柄。

EJB实际上是SUN的J2EE中的一套规范,并且规定了一系列的API用来实现把EJB概念转换成EJB产品.EJB是BEANS,BEANS是什么概念,那就是得有一个容纳她,让她可劲造腾的地方,就是得有容器.EJB必须生存在EJB容器中.这个容器可是功能强大之极!她首先要包装你BEAN,EJB的客户程序实际上从来就不和你编写的EJB直接打交道,他们之间是通过HOME/REMOTE接口来发生关系的.它负责你的BEAN的所有的吃喝拉萨睡,比如BEAN的持续化,安全性,事务管理...

EJB其实是一个技术规范:EJB从技术上而言不是一种"产品"EJB是一种标准描述了构建应用组件要解决的:可扩展(Scalable)分布式(Distributed)事务处理(Transactional)数据存储(Persistent)安全性(Secure)

1.EJB特点

由一个EJB容器在运行时创建和管理EJB

在部署EJB时定制其运行方式

由EJB容器和服务器来协调客户端的访问

可以部署到任何兼容的EJB容器中

客户端对EJB的视图是由Bean开发人员决定的

2.EJB服务器

管理EJB容器(它管理Bean)

提供对操作系统服务的存取

提供Java相关的服务,尤其是

通过JNDI访问命名空间

基于OTS的事务处理服务

3.EJB容器

管理Bean生命周期:将EJB服务器提供的服务传递给Bean

生成代码来实现对Bean的存取访问

强制事务处理的限制

创建、初始化和回收Bean

管理持久数据的存储

对客户端而言EJB容器是透明的

4.在一个EJB服务器中的容器

目前容器通常是由EJB服务器本身提供的

在EJB1.0或1.1规范中没有定义容器-到-服务器的接口

各厂商可以根据他们的见解来实现服务器和容器的各自责任

5.容器提供服务:数据存储

容器决定何时载入/储存状态

Container-ManagedPersistence(容器管理存储/CMP)

容器负责存储您的Bean

容器生成必要的类和代码

Bean-ManagedPersistence(Bean管理存储/BMP)

Bean开发人员提供存储代码

开发人员决定如何存储,容器仍然决定何时进行

6.容器提供服务:事务处理

可以由容器代理来实现

容器将得到业务逻辑方法的事务处理需求

容器提供事务控制代码

也可以由程序员通过代码实现

7.容器提供服务:其它服务

其它服务包括

命名(Naming)

安全(Security)

线程管理(Threadmanagement)

这些服务由容器代理完成将减少应用开发人员的负担

8.分布式对象运算

远程对象被作为本地对象来处理:传递信息的方式不变,但开销更大

EnterpriseJavaBeans永远运行在服务器上:对Bean的访问永远是远程调用

9.Stub和Skeleton

由EJB生成:

“Stub“对要传递出去的信息编码

“Tie/Skel“将接受到的信息解码并传递给目标对象

10.分类:EnterpriseJavaBeans

+---EntityBeans--CMP/BMP

Ejb--|

+---SessionBeans--Stateful/Stateless

会话Bean(SessionBean):根据EJB规范,一个会话Bean是:

代表单个客户端来执行

可以参与到事务处理中

不直接代表共享于数据库中的数据,但它能访问和更新这些数据

相对而言是短暂存在的

当EJB容器失效后就不存在---客户端需要重新建立一个信新的会话对象来继续运算

实体Bean(EntityBean):根据EJB规范,一个实体Bean是:

提供在数据库中数据的对象视图

允许被多个用户共享存取访问

可以是长期存在(只要它存在于数据库中)

原创粉丝点击