EJB组件技术及应用 EJB组件技术及应用

EJB组件技术及应用

  • 期刊名字:微机发展
  • 文件大小:482kb
  • 论文作者:何国辉
  • 作者单位:五邑大学
  • 更新时间:2020-06-12
  • 下载次数:
论文简介

15卷第3期微机发展Vol. 152005年3月Microcomputer DevelopmentMar.2005EJB组件技术及应用何国辉(五邑大学信息学院,广东江门529020)摘要:为了开发出具有良好的可移植性、可扩展性、可重用性和可维护性的软件系统,达到改善软件质量的目的,最好的方式就是采用组件技术。文中根据FB组件结构的特点研究了EJB组件的开发、部署和应用方法,并重点分析了EJB组件间的调用过程。事实证明,通过采用EJB组件,能有效保证大型应用软件系统的集成,并满足具有可移植性、可扩展性可重用性和可维护性的要求。关键词:EJB组件;2EE;Java命名与目录接口中图分类号:TP311.5文献标识码:A文章编号:1005-3751(2005)03-0082-03The EJB Component Technology and ApplicationsHE GuO-hui(School of Information, Wuyi University, Jiangmen 529020, China)Abstract: In order to develop software system with better transplantation ability, extensibility, renewable ability and maintainability toreach the purpose of improving software quality, the best method is to utilize groupware technology. In this paper, acoording to the char-acteristics of EJb groupware structure, the development, deployment and application method of EJB groupware is investigated. The transfer process between ejB groupware is analyzed emphatically. The results demonstrate that the integration of large-scale application software system can be assured efficiently by use of ejb groupware technology, and the requirement of transplantation ability, extensibility,newable ability and maintainability can be satisfiedKey words: EJB component; J2EE; JNDI1FJB组件的特点这种结构为应用开发提供了多方面好处,主要体现EJB的全称是 Enterprise JavaBean,是由SUN公司提在:出的一种基于组件模型的分布式对象标准构架,EJB组件①简易性。在这种结构下应用开发者可以仅花少量是基于EB标准构架的部件和对象,通常也称为企业的时间和精力来开发和部署企业应用,因为写EB组件Beam。在这种结构中,通过EB容器提供了适合于EB几乎与写一个Java类一样简单其次,在开发过程中应用组件开发、部署以及运行时管理的环境。在企业应用中,开发者不必关心系统级事项如安全管理事务处理、多线ETB组件的作用就是实现系统业务过程,它能将业务逻辑程、分布式设计连接资源管理等问题。封装起来,并具有中间件的功能,当应用运行时,EJB组件②可移植性。因为基于EJB的应用可以部署在任何就驻留在EJB容器中。一个基于2EE的应用就是由一与J2EE兼容的服务器上,因此只要应用服务器兼容,就个或多个这样的EJB组件构成的因此开发E结构应能够将应用移植过来用的最主要问题就是开发基于EB结构的部件2。③部件可重用性。因为每一个EJB组件都是可重用在J2EE体系结构中,一个EB组件具有调用另外的的部件,从而可以实现一次开发多次使用。EB组件的特点而且这些EJB组件不仅允许部署在同④便于团队开发。当明确了各EJB组件的作用和功个EJB容器中,而且还允许跨FB容器或应用服务器进能后就可以分头开发各部件。当软件需要维护或进行功行部署。一些大型的应用系统结构如图1所示能扩充时,也很方便。盘气之系能十由干企业应用是由一个或多收稿日期:2004-06-23个中国煤化工具有部件特点因此构基金项目:广东省自然科学基金资助项目(032356);江门市科技攻关建CNMHGEJB组件并将它们进项目([2002]73号行叠加组合的过程作者简介:何国辉(1962-),男江西萍乡人,副教授硕士生导师基于上述优点因此对于一些功能庞大、结构复杂的究方向为软件开发技术、数据库理论及应用技术等系统,采用EJB组件技术进行开发是理想的选择。第3期何国辉:EJB组件技术及应用8客户1应用服务器1实现成一个会话Ban客户容器EJB容器EJB容器2每个EJB组件通常由4个部企业Bean显示部件分组成,即一个主Java类、2个接企业Bean2企业Bean企业Bma;:口和一个部暑描述文件③,4。主Java类又称为 implementation(实客户容器现)类或Bean类,而2个接口则分示部件别是Home与 Remote,部署描述文数据库服务器1件是一个ⅪML格式文件,文件名企业Bean31其它客户数据库1为ejb-rar.xml,是所有EJB在部客户容器EAppnEJB企业Bean3n署时都必须提供的文件,与容器无示部件数据库服务器2关。它用来向容器声明EJB组件将如何部署到容器中去,以及EJBwb容器数据库2J组件将希望容器为组件提供哪些浏览器ServletISP Page服务。实体Bean还包含一个主键数据库3类。其中有:图1基于EJB组件模型的企业应用结构Home(主)接口:定义一组方法来创建新的FB对象,查找定位和清除已有的EJB2EJB组件的结构对象。在EJB组件部署时容器也会自动生成相应的EJB组件主要包括会话Bean( Sesson bean)和实体Home对象,该对象负责查找和创建EJB对象,返回FBBean( Entity Bean)两种类型(新版本中增加了消息驱动对象的引用给客户,用户可以利用该引用调用EB组件Bean)3l。Bean是一种作为单用户执行的对象,一些复杂中的方法得到结果,最后Home对象清除EJB对象。可以的计算和业务逻辑就放在这些Bean中。形象地称Hme接口为EJB对象的工厂会话Bean是客户端应用程序的扩展,负责管理整个Remote(组件)接口:定义EJB组件中提供的可供执行过程或任务,包括与实体Bean之间的交互。当应用用户调用的方法,也就是通常所说的实现商业逻辑的函数运行时EB组件就驻留在EB容器中EB容器会自动或过程以供远程客户端调用。在EB组件部署到容器生成所需的数据访问逻辑。客户端通过调用会话Bean的的时候,容器将自动生成 Remote接口相应的实例,即EJB功能实现与E服务器的通信。会话Bean在客户会话对象它负责代理用户的调用请求。期间,通过方法的调用,来获得用户的信息。implementation类(Bean类)是对Home和 Remote而实体Bean则代表业务处理对象,负责企业信息的接口中声明的方法及必需的生命周期方法(有别于业务逻维护和管理这些对象通常是数据库中的一些持久记录,辑方法)的具体实现可由多个Java类构成例如:一个实体Bean能够模拟数据库表中一行相关的数主键类(仅限于实体Bean):为了能在数据库中查据。实体Bean根据管理持久性的方式不同可分为容器管找到相关数据而给每一个实体Bean建立的惟一标识,通理的Bean(CMP)和由Bean管理的Bean(BMP)。容器管过该标识 client就能定位特定的数据块。理的Ba由EJB容器自动管理它们的持久性,通过在部当EJB组件的各部分开发完成以后,需要借助专门署文件中的描述,容器知道Bean实例的字段是怎样映射的开发工具将编译生成的类文件(cass)部署描述文件到数据库中去的,并自动管理插入更新和删除数据库中及与容器相关的部署描述文件(根据所选容器而定)生成与实体有关的数据;使用Bean管理持久性的Bean需要开个JAR文件。JAR文件是一个和ZIP文件格式相同的发者编写相应代码来操作数据库,EJB容器只告诉Bean压缩文件,只是其中多了一个 manifest文件,用于记录实例什么时候可以在数据库中安全地插入、更新和删除数AR文件中的所有内容。对于不同的容器提供的与容器据除此之外,它不提供任何别的帮助,Bean实例需自己相关的部署描述文件也不相同,以 weblogic为例,它除了完成所有的持久性工作。每个实体Bam都具有一个惟一要求提供q- jar.xml文件以外,还要求提供另外一个部的对象标识符称为主键实体Bemn之间也可以具有关署描述eih- iar xml-用 Jbuilder开发EJB系,关系的实现也分别由Bean代码或部署描述项完成,从时,编中国煤化工AR文件。一个而保证了数据完整性和关系完整性。JAR文THCNMHG示。根据上述两种Bean的作用和各自的特点,因此在Bean的开发过程中通常可将业务实体实现成一个实体3EJB组件的应用Bean或一个实体Bean的依赖而将一个会话性业务过程EJB组件不能独立运行,它们必须要部署到容器上84微机发展第15卷tomer Bean中的 ejbCreate方法完成), Remote接口中定义m11gmd1| Enterprise]I I Home 1 Remote Enterpris I了获得客户名称等可以被外界调用的所有方法(由Cs接接口Bean类接口按日Bm类 merMan中的代码实现有关功能),因此当普通的Jaa程序作为客户端访问一个名为 CustomerEJB的EJB组件bjxm容器相关ejb-jar.xm容器相关时的具体步骤将是:部署文件部署文件(1)首先通过 JNDI API定位Hme对象会话bean实体beanJNDI( Java Name and Directory Interface)是Java命名与目录接口的英文首字母缩写,主要用于命名与目录访问,在J2EE中查找数据源和EJB对象都离不开JD,因JAR文件提供者此十分重要。其定位Home对象的代码为EJB JAR文件Properties props= System get Properties ();Context ctx= new initialContext( props);/获得命名服务的图2JAR文件内容上下文环境,参数 props与容器有关并只有通过外部程序对EJB的业务逻辑进行调用时才会Object obj=ctx. lookup(“ CustomerHome");/查找Hbme接体现其功能。在 Jbuilder和 weblogic的FB组件集成开发口环境中,EJB组件的部署很方便,其主要步骤是:先启动CustomerHome home=(CustomerHome)weblogic服务器然后在编译好的EJB模块名上单击鼠标javax. mi. Portable Remote Object, narrow (obj, CustomerHome右键(EJB模块是在创建工程以后创建的包含一个或多cs);1定位he对象个AR文件—模块名jr中,在弹出的快捷菜单中选弟(2)由Hme对象调用相应的cre法生成EB对个EJB组成的逻辑组,组内的所有EJB都将放置到同择 Deploy Options for模块名jar| Deploy选项,即可完成通过ND查找到的是Hme对象,要生成EJB对象EJB组件的部署。还必须要调用Home对象的 create方法,即通过 Customer当容器所在服务器启动时将会自动加载已经部署到 customer=home. create(…)方式来创建。除无状态会话容器上的EB组件,并打开监听端口等待外部程序调用。Bean以外,其它几类Bean的cree方法中都要传人参数。EJB组件的外部程序通常称作为EJB的客户。能够充当(3)通过EB对象调用FJB组件中的方法EJB客户的可以是普通的Java程序、其它的EJB组件或在得到了EJB对象的引用以后,客户端程序就可以W山组件(JSP或Sele组件)。无论是上述哪一种作为调用其中的业务方法了。通常会在Rmoe接口 CustomerEJB客户,都可按图3方式进行调用。中定义很多方法,如:获得客户代码、客户名称及其它业务1:检素Hone对象引用逻辑等,这些方法的具体实现过程在实现类C命名服务 tomerBean中说明,因此就可按如下所示使用2:返回Home对象引用String cust. ld= customer get customerldO);String cust- Name= customer. getCustomer Nameo)3:创建新的EJEJB组HOME对象对于一个EJB组件作为客户端访问另一个EJB5:返回EB对象组件的过程和上述步骤基本相似,但不必提供任何JNDI初始化参数,系统仅需获得默认的JNDI初始4:生成EB对象化上下文环境。以一个订单EB(名为 OrderEJB,实体Bean)调用 CustomerEJB为例,在 OrderEJB的实6:调用业务方法8B对象[7运行实现类代码现类中,只要采用如下代码就可获得 CustomerEJB的Home接口引用:Context ctx= new InitialContext();/通过调用无参数ETB服务器的构造函数,获得默认的初始化上下文图3EB客户调用过程为了便于理解,以下将通过一个名为 CustomerEJB的HomEJB组件被调用过程进行说明。按照EJB的命名约定,该H中国煤化 T: omp/env/eortustomer.CNMHgme组件的有关接口文件可命名如下:Home接口为 Customeriavax. rmi. PortableRemoteObject narrow(obj, CustomerHomeHome, Remote接口为 Customer,实现类为 Customerbeandasy);/定位Home对象同时Home接口中定义了 create方法(具体实现由Cus(下转第123页)第3期宁刚等:基于 WITSML的钻井数据文档设计实现1232XML文档的显示XML文档本身只描述数据内容,它的显示功能由样式单来完成。使用独立的样式单文件可以对同一份数据文件制定不同的样式风格,应用在不同的场合,提高了数据的重用性。目前,W3C正式推荐的样式单标准有两种层叠样式单CSS和可扩展样式单语言(XSL)1。图3是图3XML文件的显示使用XSL转换的一份钻头使用记录XM文档(非真实数据)参考文献[1 Extensible Markup language(XML). 0(Second Edition)[S]3XML文档的存储W3C Recommendation, 2000-10-06(1)平面文件数据库:XML平面文件数据库首先通过[2] Wellsite Information Transfer Standard Markup language,wl文件系统的目录结构然后通过XML文档的元素结构来TSML, an Update[ Z]. Inc SPE 84066, 2003提供对数据的层次访问。平面文件数据库的优点是它很[3] Navarro a.M从人门到精通[M]周生炳,等译,北京:小,容易构建和维护,并且容易被其他工具访问。缺点是电子工业出版社,2000数据没有很好的保护,不方便查询并发控制和恢复[4]萨师煊,王珊数据库系统概论[M].北京:高等教育出版(2)关系型数据库:到关系型DBMs的ⅪML接口提供社,2002对健壮数据库技术的访问。它在一个关系型数据库已经[5] Martin D.XML高级编程[M].北京:机械工业出版社,存在时特别有用,缺点是数据的表示受限于关系。2002(上接第84页)参考文献Customer customer= home. create(…);/生成一个Bean对象[1]曹宜新 Enterprise Javabeans程序设计[M北京:机械工业由于上述代码中没有提供与容器相关的JND初始出版社,2003化参数,因此便于移植。有了Ben对象 Customer以后,[2]张志伟pE构建企业系统—专家级解决方案[M].北就可以在 OrderBean内的任何地方访问 CustomerEJB中定京:清华大学出版社,2001义的方法了56。[3]瞿裕忠.J2EE平台上的EJB组件开发[M]北京:机械工业出版社,2004结束语中国煤化工比京:电子工业出版社文中根据EB组件结构的特点,研究了EJB组件的CNMHG住以LM].上海:上海科学普及开发部署和应用方法,并重点分析了EJB组件的调用过出版社,2004程,在实际应用中由于还要考虑变量初始化和容错处理等6]班书昊EJB企业应用与开发实例[M]北京:北京科海电问题,因此其代码会更严谨一些。子出版社,2003

论文截图
版权:如无特殊注明,文章转载自网络,侵权请联系cnmhg168#163.com删除!文件均为网友上传,仅供研究和学习使用,务必24小时内删除。