您所在的位置: 首页>>开发>>JAVA>>JAVA专区>>热门框架>>EJB>>

EJB技术的体系结构(3)

http://developer.51cto.com  2005-10-08 14:15    51cto.com整理  我要评论(0)
  • 摘要:本文详细介绍了EJB技术的体系结构。
  • 标签:技术  结构  EJB
在一个EJB容器中可以又任意多个Enterprise beans.除了安装和执行以外,容器也提供了配置Enterprise beans的工具。

为什么用Inprise的EJB 容器?Inprise EJB容器提供的完全的服务

  1. 完全支持EJB1。1规范。

  2. 一个有效的运行和管理EJBs的容器。

  3. 提供命名服务,事务服务,植入Java RDBMS的内部。编程,配置简单。

  4. 充分的例子来演示怎样使用EJBs和EJB容器。

对于Enterprise beans的开发者来说,EJB 容器是一个高级Enterprise类产品。因为它有如下优点:

完整的,灵活的运行时环境

  1. EJB容器完全实现了EJB1。1的规范,包括了它的所有功能。

  2. 每一个由工具产生的Enterprise bean都同时是Enterprise bean 对象和CORBA对象。

  3. EJB容器能够进行单独配置,100%的纯JAVA服务,或者作为完全的分布式的配置。这样的灵活性意味着你能够根据你的要求调整你的应用程序。

  4. 与其它的EJB服务不一样,Inprise 的EJB容器服务并没有限制一定要分开。而是任意个数的Enterprise beans可以放在任意个数的容器中,这些容器也可以放在任意个数机器上。并且支持分布式的事务协议,允许Enterprise beans的分别裁定。允许部分的配置你的应用,而将你的性能配置成最优化。

Inprise 的EJB是建立在Vbroker和RMI—IIOP之上的

  1. EJB容器是建立在Inprise的Vbbroker之上的。VisBroker是已经被证明的在各种条件下都是ORB的领导角色。无论在各大公司的联合测试下,或者在实际的应用环境中。VisiBroker提供了一个很好的的运行时的任务的完成。

  2. 为了更好的性能,Vbroker使用了大量的运行时优化,高级的多路链接,链接池和管理,线程池和管理。

  3. 客户和Enterprise beans,Enterprise benas之间,Enterprise beans 和其它的CORBA对象之间的通信都是通过用VisiBroker的IIOP方式进行的。VisiBroker完全适应CORBA2。3规范,RMI—IIOP通过值传递的方式来实现。这意味着,复杂的JAVA数据类型能够用新的IDL值类型写到IIOP里面去。就象在CORBA2。3规范中一样。数据和服务之间相互协调怎样传送复杂的数据类型是很重要的。否则,协同能力就会受到危及。EJB容器能够与其他的所有支持RMI-over-IIOP的进行协同工作。

  4. 安全特性是可由VisiBroker所有的。保证信用是从客户传象服务。

  5. 事务上下文也是由visibroker所有的。保证当CORBA客户开始一个事务时,并且访问EJB容器的服务时。事务上下文被传向服务,当服务需要调用环境中的各项资源时,就要使用事务上下文。

  6. 事务的两段提交是由Inprise的ITS管理的。如果JDBC支持两阶段提交协议,EJB就支持两阶段提交协议。当时,如果JDBC不支持两阶段提交,两阶段提交就不能被完成。

Enterprise的EJB容器是一个CORBA对象

Inprise 的java2iiop编译器和EJB容器一样,都是与CORBA兼容的。EJB容器能够理解RMI调用,但是,它用IDL来存放接口定义。虽然Java2iiop编译器从java接口产生了stub 和skeleton.也能够从java接口中产生IDL。然后在其他语言里面用。对于一个CORBA客户端,EJB容器是一个CORBA服务,EJB容器工具就是与控制EJB的功能相同的CORBA工具。

EJB容器是建立在JNDI和CosNaming,JTS/OTS基础山的。他们都是完全支持CORBA的。

容器对不同的Enterprise beans 的支持

EJB容器的主要的特征就是它提供对各种各样的Enterprise beans的管理和支持。包括:

  1. 有状态或无状态的Session Enterprise beans.

  2. Entiry beans包括container-manager和beans-manager的持续性。

EJB容器可以包括一个或多个的jar文件。每一个jar文件又能够包括多个的Enterprise beans。每个Enterprise bean都包括一个配置描述器。一个EJBhome接口,一个EJBremote接口,还有Enterprise bean的实现代码。

使Inprise 的EJB容器不同的是:它支持许多当前的客户,包括如下两个方面:

  1. VisiBroler提供了连接管理,允许一个服务同时支持比TCP连接数多的客户连接。用最近最少使用算法来关闭连接。

  2. 对于客户来说,容器本身是无状态的。意味着容器并没有为每一个新的Enterprise bean会话分配内存。这样,容器就能够支持任意多的无状态的Session Enterprise beans.

配置的支持

Inprise 容器提供了产生代码的编译器。也提供了一个验证的工具来在配置之前检查你的Enterprise beans.支持EJB1。1的JNDI命名基于XML的配置描述器。

事务管理者

事务管理者提供了事务管理的手段。包括分布式的两段提交的支持。遵从最新的SUN公司JTS规范。也支持最新的OMG的OTS规范。在开发时尽量少用JTS而在配置时使用健壮的ITS。

JDBC链接池和事务综合

所有JDBC访问数据库都是通过DataSource对象的实现来完成的。DataSource对象与数据库的池链接还有JTS管理的全局的事务处理和用JDBC管理的数据库事务处理。

命名服务

命名服务提供了分布式的命名管理。服务遵从JAVA的命名和目录规范(JNDS)。也遵从OMG的cosNaming规范。与事务服务类似,在配置的时候,你可以用JNS,也可以用更健壮的INS。JNDI提供的容器能够运行在其他的JNDI实现之上。这样就能够使用其他的命名服务,例如:LDAP。

安全性的支持

在CORBA之上的Inprise 的安全服务是附加的。

JAVA数据库

Java数据库提供了一个全关系型的高性能的数据库来存储Enterprise beans的状态。

JAVA数据库既可以运行在同一个进程的容器中,或者,为了提高性能,也可以运行在一个单独的进程中。实际上,JAVA 数据库是即插即用的。意味着终端用户能够用一个另外的实现就取代了所有的JAVA版本。例如,能够实现一个用别的数据库来存储会话状态和Entiry Data的后台存储。

容器管理的Entity beans的持久性

Inprise 提供了一个CMP(Container-Managed Persistence)引擎来提供透明的对象关系映射和在纯JDBC上的持续框架。更进一步,第三方的工具可以通过开放的API插进来。

与其他组件的结合

在配置环境的真实世界里,EJB的四个模式能够与以下的组件工作在一起:

  1. client链接到Enterprise beans对象。Clients可以由java Enterprise bean接口的EJB对象,或者IDL接口的CORBA对象。在Inprise 的EJB容器服务中,每一个Enterprise bean都同时是EJB对象也是CORBA对象。CORBA客户能够用所有支持CORBA的语言来实现,包括C++,Java,Delphi.

  2. 从Enterprise bean的数据库访问。典型的,Enterprise beans对象是Entity beans对象,或者是beans-managed,或者是container-managed.

  3. 后端服务:CORBA服务,用C++,Java ,Delphi实现,运行在任何兼容CORBA的ORB中。EJB服务,包括所有其他的inprise的服务,或者其他支持IIOP的代理商的服务。其它原来的服务,包括ERP系统,main-frame程序。等等。


共3页: 上一页 [1] [2] 3
【内容导航】
Hyper-V 虚拟化技术专题
重复数据删除技术
2008年上半年IT技术图书阅读排行大盘点
汶川大地震 IT技术人在行动
解析35岁技术人的价值与出路
 
 验证码: (点击刷新验证码)   匿名发表
  • 野蛮生长

  • 作者:冯仑著
  • “地产界的思想家”冯仑纵横生意江湖20年来,第一次系统梳理出书。  三十年来中国民营企业从前公司时代发展到公司时代,21..
Copyright©2005-2008 51CTO.COM 版权所有