技术开发 频道

漫谈EJB在Java中的应用(三)

  【IT168技术文档】

  EJB的生态环境

  在sun公司提供的EJB规范中,我们一个完整的基于EJB的分布式计算结构由六个角色组成,这六个角色可以由不同的开发商提供,每个角色所作的工作必须遵循Sun公司提供的EJB规范,以保证彼此之间的兼容性。

  EJB组件开发者: 开发并销售 EJB.应用组合者: 将不同的 EJB 搭建成应用。

  部署者: 使用相应工具在运行环境下配置 EJB. EJB 服务器提供者: 开发并销售 EJB 服务器EJB 容器供应商: 开发并销售 EJB 容器系统管理员: 监视运行时情况

  1、EJB组件开发者(Enterprise Bean Provider)

  EJB组件开发者负责开发执行商业逻辑规则的EJB组件,开发出的EJB组件打包成ejb-jar文件。EJB组件开发者负责定义EJB的remote和home接口,编写执行商业逻辑的EJB class,提供部署EJB的部署文件(deployment descriptor)。部署文件包含EJB的名字,EJB用到的资源配置,如JDBC等。EJB组件开发者是典型的商业应用开发领域专家。

  EJB组件开发者不需要精通系统级的编程,因此,不需要知道一些系统级的处理细节,如事务、同步、安全、分布式计算等。

  2、应用组合者(Application Assembler)

  应用组合者负责利用各种EJB组合一个完整的应用系统。应用组合者有时需要提供一些相关的程序,如在一个电子商务系统里,应用组合者需要提供JSP(Java Server Page)程序。

  应用组合者必须掌握所用的EJB的home和remote接口,但不需要知道这些接口的实现。

  3、部署者(Deployer)

  部署者负责将ejb-jar文件部署到用户的系统环境中。系统环境包含某种EJB Server和EJB Container.部署者必须保证所有由EJB组件开发者在部署文件中声明的资源可用,例如,部署者必须配置好EJB所需的数据库资源。

  部署过程分两步:部署者首先利用EJB Container提供的工具生成一些类和接口,使EJB Container能够利用这些类和接口在运行状态管理EJB. 部署者安装EJB组件和其他在上一步生成的类到EJB Container中。 部署者是某个EJB运行环境的专家。

  某些情况下,部署者在部署时还需要了解EJB包含的业务方法,以便在部署完成后,写一些简单的程序测试。

  4、EJB 服务器提供者(EJB Server Provider)

  EJB 服务器提供者是系统领域的专家,精通分布式交易管理,分布式对象管理及其它系统级的服务。EJB 服务器提供者一般由操作系统开发商、中间件开发商或数据库开发商提供。

  在目前的EJB规范中,假定EJB 服务器提供者和EJB 容器提供者来自同一个开发商,所以,没有定义EJB 服务器提供者和EJB容器提供者之间的接口标准。

  5、EJB 容器提供者(EJB Container Provider)

  EJB 容器提供者提供以下功能:

  提供EJB部署工具为部署好的EJB组件提供运行环境 .EJB容器负责为EJB提供交易管理,安全管理等服务。

  EJB 容器提供者必须是系统级的编程专家,还要具备一些应用领域的经验。EJB 容器提供者的工作主要集中在开发一个可伸缩的,具有交易管理功能的集成在EJB 服务器中的容器。EJB 容器提供者为EJB组件开发者提供了一组标准的、易用的API访问EJB 容器,使EJB组件开发者不需要了解EJB服务器中的各种技术细节。

  EJB容器提供者负责提供系统监测工具用来实时监测EJB容器和运行在容器中的EJB组件状态。

  6、系统管理员(System Administrator)

  系统管理员负责为EJB服务器和容器提供一个企业级的计算和网络环境。

  系统管理员负责利用EJB 服务器和容器提供的监测管理工具监测EJB组件的运行情况。

  将责任分离的另一个好处是在代码级上,可以将基于EJBs的系统逻辑的分派给更适合的专家。SUN的EJB规范建议使用几个独立的角色,对于确定运作环境的责任链是非常重要的。举例说,EJB提供者是由商业专家和分析人员扮演的角色,他们确定一个组织内的非常好的信息流程。但是仍旧有Second Domain Expert,如应用程序汇编人员,他们集成不同的EJB组件并确保它可以确保满足应用程序的需求。

  还有两种角色归入到系统级的部分,第一个是配置人员,他们负责实际的安装和配置基于EJB的系统。这需要有设置目录服务和集成现有应用程序的经验。第二个是系统管理员,他们要提供全天的监视和支持,确保应用程序正常运作。尽管系统管理员这个角色不需要是Java编程专家,但是他需要能够应付以下问题:

  设置Java Virtual Machine (JVM)并关联系统环境参数(如:CLASSPATH)

  使用Java Archive (jar)命令保存类文件懂得WEB服务器和Servlet的工作原理。

  要能通过监视运行中程序的状态确定优化方法。

  很明显,有些角色是可以交叉的,比如系统管理员和配置人员。尽管配置人员可能是将类文件复制到服务器而系统管理员需要确定配置人员是否复制到了正确的位置。

0
相关文章