ejb-2.htm

来自「写给JSP初级程序员的书」· HTM 代码 · 共 206 行 · 第 1/2 页

HTM
206
字号
            <p>  一旦Enterprise Beans准备好了可以配置了。就被打包成一个标准的JAVA文件,ejb-jar文件。一个ejb-jar文件可以包括一个或多个的Enterprise 
              Beans。对每一个Enterprise beans,都由它的接口,类,和配置描述器。</p>
            <p>Enterprise Beans Provider提供如下东西给ejb-jar 文件:</p>
            <p>Enterprise Beans 的remote 接口,接口说明了Client端能调用的函数。</p>
            <p>Enterprise Beans 的home 接口,home接口使客户生成和定位一个Enterprise Beans的实例。</p>
            <p>Enterprise 类本身,实现了Enterprise beans 的语义。</p>
            <p>Deploy Descripot配置描述器,deployer通过利用配置描述器来提供没有在代码中申明的信息。例如方针和属性。EJB的1.0规范把配置描述器定义为javax.ejb.deployment. 
              SessionDescriptor类或者javax.ejb.deployment.EntityDescriptor的一个实例,但是在1.1版本中不赞成这样做。而是用XML来定义配置描述器。<br>
                配置一个Enterprise Beans 意味着将一个Enterprise Bean安装到容器中去。安装过程包括了如下几个方面:</p>
            <p><br>
              保证不同的Enterprise beans能够工作在一起。</p>
            <p>用名字服务来注册一个Enterprise Bean</p>
            <p>通过EJB服务的通信系统提供访问EJB的入口。</p>
            <p>执行事务管理和安全方针。<br>
                在一个EJB容器中可以又任意多个Enterprise beans.除了安装和执行以外,容器也提供了配置Enterprise 
              beans的工具。</p>
            <p>  为什么用Inprise的EJB 容器?</p>
            <p>  Inprise EJB容器提供的完全的服务</p>
            <p><br>
              完全支持EJB1。1规范。</p>
            <p>一个有效的运行和管理EJBs的容器。</p>
            <p>提供命名服务,事务服务,植入Java RDBMS的内部。编程,配置简单。</p>
            <p>充分的例子来演示怎样使用EJBs和EJB容器。<br>
                对于Enterprise beans的开发者来说,EJB 容器是一个高级Enterprise类产品。因为它有如下优点:</p>
            <p>完整的,灵活的运行时环境:</p>
            <p><br>
              EJB容器完全实现了EJB1。1的规范,包括了它的所有功能。</p>
            <p>每一个由工具产生的Enterprise bean都同时是Enterprise bean 对象和CORBA对象。</p>
            <p>EJB容器能够进行单独配置,100%的纯JAVA服务,或者作为完全的分布式的配置。这样的灵活性意味着你能够根据你的要求调整你的应用程序。</p>
            <p>与其它的EJB服务不一样,Inprise 的EJB容器服务并没有限制一定要分开。而是任意个数的Enterprise beans可以放在任意个数的容器中,这些容器也可以放在任意个数机器上。并且支持分布式的事务协议,允许Enterprise 
              beans的分别裁定。允许部分的配置你的应用,而将你的性能配置成最优化。<br>
              Inprise 的EJB是建立在Vbroker和RMI—IIOP之上的。</p>
            <p><br>
              EJB容器是建立在Inprise的Vbbroker之上的。VisBroker是已经被证明的在各种条件下都是ORB的领导角色。无论在各大公司的联合测试下,或者在实际的应用环境中。VisiBroker提供了一个很好的的运行时的任务的完成。</p>
            <p>为了更好的性能,Vbroker使用了大量的运行时优化,高级的多路链接,链接池和管理,线程池和管理。</p>
            <p>客户和Enterprise beans,Enterprise benas之间,Enterprise beans 和其它的CORBA对象之间的通信都是通过用VisiBroker的IIOP方式进行的。VisiBroker完全适应CORBA2。3规范,RMI—IIOP通过值传递的方式来实现。这意味着,复杂的JAVA数据类型能够用新的IDL值类型写到IIOP里面去。就象在CORBA2。3规范中一样。数据和服务之间相互协调怎样传送复杂的数据类型是很重要的。否则,协同能力就会受到危及。EJB容器能够与其他的所有支持RMI-over-IIOP的进行协同工作。</p>
            <p>安全特性是可由VisiBroker所有的。保证信用是从客户传象服务。</p>
            <p>事务上下文也是由visibroker所有的。保证当CORBA客户开始一个事务时,并且访问EJB容器的服务时。事务上下文被传向服务,当服务需要调用环境中的各项资源时,就要使用事务上下文。</p>
            <p>事务的两段提交是由Inprise的ITS管理的。如果JDBC支持两阶段提交协议,EJB就支持两阶段提交协议。当时,如果JDBC不支持两阶段提交,两阶段提交就不能被完成。<br>
              Enterprise的EJB容器是一个CORBA对象:</p>
            <p>  Inprise 的java2iiop编译器和EJB容器一样,都是与CORBA兼容的。EJB容器能够理解RMI调用,但是,它用IDL来存放接口定义。虽然Java2iiop编译器从java接口产生了stub 
              和skeleton.也能够从java接口中产生IDL。然后在其他语言里面用。对于一个CORBA客户端,EJB容器是一个CORBA服务,EJB容器工具就是与控制EJB的功能相同的CORBA工具。</p>
            <p>EJB容器是建立在JNDI和CosNaming,JTS/OTS基础山的。他们都是完全支持CORBA的。</p>
            <p>容器对不同的Enterprise beans 的支持:</p>
            <p>  EJB容器的主要的特征就是它提供对各种各样的Enterprise beans的管理和支持。包括:</p>
            <p><br>
              有状态或无状态的Session Enterprise beans.</p>
            <p>Entiry beans包括container-manager和beans-manager的持续性。<br>
                EJB容器可以包括一个或多个的jar文件。每一个jar文件又能够包括多个的Enterprise beans。每个Enterprise 
              bean都包括一个配置描述器。一个EJBhome接口,一个EJBremote接口,还有Enterprise bean的实现代码。</p>
            <p>使Inprise 的EJB容器不同的是:它支持许多当前的客户,包括如下两个方面:</p>
            <p><br>
              VisiBroler提供了连接管理,允许一个服务同时支持比TCP连接数多的客户连接。用最近最少使用算法来关闭连接。</p>
            <p>对于客户来说,容器本身是无状态的。意味着容器并没有为每一个新的Enterprise bean会话分配内存。这样,容器就能够支持任意多的无状态的Session 
              Enterprise beans.<br>
              配置的支持:</p>
            <p>  Inprise 容器提供了产生代码的编译器。也提供了一个验证的工具来在配置之前检查你的Enterprise beans.支持EJB1。1的JNDI命名基于XML的配置描述器。</p>
            <p>事务管理者:</p>
            <p>  事务管理者提供了事务管理的手段。包括分布式的两段提交的支持。遵从最新的SUN公司JTS规范。也支持最新的OMG的OTS规范。在开发时尽量少用JTS而在配置时使用健壮的ITS。</p>
            <p>JDBC链接池和事务综合:</p>
            <p>  所有JDBC访问数据库都是通过DataSource对象的实现来完成的。DataSource对象与数据库的池链接还有JTS管理的全局的事务处理和用JDBC管理的数据库事务处理。</p>
            <p>命名服务:</p>
            <p>  命名服务提供了分布式的命名管理。服务遵从JAVA的命名和目录规范(JNDS)。也遵从OMG的cosNaming规范。与事务服务类似,在配置的时候,你可以用JNS,也可以用更健壮的INS。JNDI提供的容器能够运行在其他的JNDI实现之上。这样就能够使用其他的命名服务,例如:LDAP。</p>
            <p>安全性的支持:</p>
            <p>  在CORBA之上的Inprise 的安全服务是附加的。</p>
            <p>JAVA数据库:</p>
            <p>  Java数据库提供了一个全关系型的高性能的数据库来存储Enterprise beans的状态。</p>
            <p>  JAVA数据库既可以运行在同一个进程的容器中,或者,为了提高性能,也可以运行在一个单独的进程中。实际上,JAVA 数据库是即插即用的。意味着终端用户能够用一个另外的实现就取代了所有的JAVA版本。例如,能够实现一个用别的数据库来存储会话状态和Entiry 
              Data的后台存储。</p>
            <p>容器管理的Entity beans的持久性:</p>
            <p>  Inprise 提供了一个CMP(Container-Managed Persistence)引擎来提供透明的对象关系映射和在纯JDBC上的持续框架。更进一步,第三方的工具可以通过开放的API插进来。</p>
            <p>与其他组件的结合:</p>
            <p>  在配置环境的真实世界里,EJB的四个模式能够与以下的组件工作在一起:</p>
            <p><br>
              client链接到Enterprise beans对象。Clients可以由java Enterprise bean接口的EJB对象,或者IDL接口的CORBA对象。在Inprise 
              的EJB容器服务中,每一个Enterprise bean都同时是EJB对象也是CORBA对象。CORBA客户能够用所有支持CORBA的语言来实现,包括C++,Java,Delphi.</p>
            <p>从Enterprise bean的数据库访问。典型的,Enterprise beans对象是Entity beans对象,或者是beans-managed,或者是container-managed.</p>
            <p>后端服务:CORBA服务,用C++,Java ,Delphi实现,运行在任何兼容CORBA的ORB中。EJB服务,包括所有其他的inprise的服务,或者其他支持IIOP的代理商的服务。其它原来的服务,包括ERP系统,main-frame程序。等等。<br>
            </p>
            <!-- #EndEditable --></td>
          <td width="20">&nbsp;</td>
        </tr>
        <tr> 
          <td width="20" height="11">&nbsp;</td>
          <td width="541" height="11"><!-- #BeginEditable "7" --><!-- #EndEditable --></td>
          <td width="101" height="11"> 
            
          </td>
          <td width="20" height="11">&nbsp;</td>
        </tr>
      </table><div align="center"> <br>
      </div>
      
    </td>
  </tr>
</table>
<div align="center"> 
  
  <br>
</div>
</body>
<!-- #EndTemplate --></html>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?