admin管理员组文章数量:1122876
EJB?
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是:
提供在数据库中数据的对象视图
允许被多个用户共享存取访问
可以是长期存在(只要它存在于数据库中)
本文标签: EJB
版权声明:本文标题:EJB? 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1686620560a18105.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论