软构件刘焕玉_第1页
软构件刘焕玉_第2页
软构件刘焕玉_第3页
软构件刘焕玉_第4页
软构件刘焕玉_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实现方法目前制定构件实现规范的机构主要有OMG(Object Management Group)组件,Microsoft和SUN,它们制定的三种构件规范如下: OMG组织CORBA(Common Object Request Broker Architecture) Microsoft公司DCOM (Distributed Component Object Model) SUN公司EJB(Enterprise JavaBean Development) 这三种构件规范皆是针对二进制代码构件制定的,为基于构件的软件开发提供了对象管理的基础设施,下面就规范角度对这三种实现方法进行介绍。1.DCOM

2、DCOM是Microsoft提出的一种分布构件对象模型,起源于动态数据交换(DDE)技术,通过剪切/粘贴(Cut/Paster)实现两个应用之间共享数据的动态交换。对象连接与嵌入(OLE)就是从DDE引伸而来的。随后引入构件对象模型COM(Component Object Model),形成了COM对象之间实现互操作的二进制标准。COM规定了对象模型的编程要求,使COM对象可以与其它对象相互操作。这些对象可以用不同的语言实现。DCOM是跨LAN、WAN和Internet的二进制COM对象的基本扩展,可以跨网络实例化和绑定对象。DCOM是一个高层协议,它能使基于COM的组件位于不同机器上的两个进

3、程间协作。DCOM使得程序员不必编写网络代码去处理分布式组件跨网络间协作。DCOM还提供自动化(Automation)的扩展功能。与Automation兼容的接口能够采用对象定义语言(ODL)描述并且可以有选择地在二进制类型程序库中注册。当客户方缺少编译时的接口知识,就可以通过一个指定的COM接口(IDIispath)动态调用Automation接口。当提供类型程序库时,就能够在运行时完成针对调用命令的类型检查。Automation接口拥有属性与方法,但DCOM接口只拥用方法。属性定义与方法参数所使用的数据类型组成DCOM支持的数据类型定义的子集。为了搭建DCOM的应用环境,Microsoft

4、提供了MTS(Microsoft Transaction Server)基础结构,MTS为DCOM的使用提供了完善服务机制。例如:ORB (Object Request Broker)对象请求代理程序、进程代理程序、名字服务、事务处时监视器TP-Monitor(Transaction Processing Monitor)等。DCOM的主要结构如图1 DCOM构件对Windows的依赖性强,对其它操作系统的支持相对不足,构件运行环境提供者仅限于Microsoft,但支持DCOM规范的开发工具比较多,例如VC、VB、VJ、C+Builder、Jbuilder等。2.EJB规范说明定义了JAVA的

5、服务器端构件模型。EJB方法扩充了Java的客户端构件模型JavaBean以支持服务器端应用系统的开发。SUN发布的文档中对EJB的定义是:EJB是用于开发和部署多层结构的、分布的、面向对象的、跨平台的Java应用系统构件体系结构。EJB把Java的“Write once,run anywhere”的思想提到一个新的高度,服务器端构件在构件执行系统内运行,规范说明定义了构件执行所需要的服务。遵从EJB规范说明开发的构件可以在任何一个支持EJB的系统中运行。通过使用RMI (Remote Method Invocation),EJB支持远程的客户端存取。RMI是一个高级程序设计接口,它使得服务器

6、的位置对于客户机来说是透明的,RMI产生一个对象,这个对象被安装在客户机系统中,作为存取服务器对象的代理对象,EJB开发人员为每一个可存取的接口定义一个JAVA远程接口。通过使用IIOP协议(Internet Inter ORB Protocol), EJB也可以和其它的非JAVA客户机进行通信。IIOP允许EJB系统和CORBA的集成,EJB可以存取CORBA构件,CORBA构件也可以存取EJB构件。EJB的主要结构如图2 EJB各组成部分的含义为:JDBC(Java Database Connectivity):基于SQL标准Java数据库连接,其基本功能和设计与ODBC相似。Java R

7、MI(Java Remote Method Invocation):Java远程方法调用。JNDI(Java Naming and Directory Interface):Java名字的目录服务Java IDL:Java和CORBA之间的连接。JTS(Java Transaction Service):Java事务管理服务JMAPI(Java Management API):Java网络管理APT。JMS(Java Message Service):Java消息传递服务。目前推出EJB实现平台的公司有: IBM、Inprise、Gemstone、Informix、NCR、Netscape、N

8、ovell、Oracle、Oracle、Sybase等众多的公司,因此EJB技术得到了工业界广泛的支持,EJB己成为Java技术研究中的重点。为EJB提供开发工具的有IBM、Inprise、Oracle、Sybase等众多的公司。但可使用的开发语言为通用的JAVA。3.CORBA规范是由OMG提出的OMG是一个非盈利性组织。自1989年成立以来,在分布式系统的互操作性领域已经开展了大量的研究工作,促进了在软件发展过程中面向对象技术的理论和实践。到目前为止,OMG己拥有包括IBM、Hewlett-Packward、NEC、Sun等公司在内的超过750个会员,包括信息系统方面的成员,软件开发商和用

9、户。OMG的宗旨就是产生一套标准的语言、接口和协议,以支持异构应用间的互操作性。另外还包括企业指导方针和对象管理规范说明书的建立,提供应用开发的公共支架。它遵循一个新的技术途径,即面向对象技术,并同时考虑商业可行性技术,采用自底向上的方式,于1990年提出了CORBA的核心结构-对象管理结构OMA(Object Management Architecture),即在一个结构方式下选择技术的基础,产生了公认的基于可商用对象技术的事实标准。CORBA主要的目标是实现重用性、移植性和分布的、异种的环境中的基于对象软件的互操作性。这些规格的一致性将可能开发出一种异种的、跨所有主要硬件平台和操作系统的应

10、用环境。CORBA基于面向对象技术和商业可行性技术,采用自底向上的方式,从网络层开始,向上一直到应用接口形成事实上的标准。它首先给出一种参考模型对象管理结构OMA,即在一个结构化方式下选择技术的基础。然后,基于这一模型广泛征集信息和建议,从OMG成员中获得关于现有产品的详细技术和商业可行性信息,用来充实参考模式结构中的不同部分。经过技术和商业委员会审查这些反馈信息后,由OMG的决策者最终决定采用哪种技术。OMA由一组工具和协议构成,它提供了一个支持“可互操作的软件部件标准的接口”的体系结构。该系统可以以一种分布式对象管理的概念支持分布式应用,即一个对象管理结构OMA系统包含各种分布在整个计算机

11、网络中的对象,每一个对象提供一个可使其它对象通过RPC方式与之通信的接口。在OMA模式中,每一个软件代表一个对象,它们通过对象请求中介与其它对象通信。对象请求中介(ORB)是一个关键的通信机制,在高互操作性方式下,处理应用对象之间的消息分布。基于标准化过程的相对重要性,ORB将对象分布三大类:对象服务、通用功能和应用对象。其中,对象服务提供实现基本对象功能的主要函数,它使用对象请求中介处理对象的逻辑模式和对象的物理存储,如加密和认证,结构转换等,这些服务所实现的是低层的;通用功能包括许多应用领域都有的功能,通过OMG所允许的类型而实现。如电子邮件和其它应用层的服务等,这些服务的实现是高层的;在

12、这一模式中所标明的应用功能是一片属于应用开发者的广阔开地。OMG在这一领域中将不规定任何标准。OMG参考模型OMA由以下四个部分成组:*对象请求中介ORB(Object Request broker),使对象在分布式环境中透明地收发请求和响应。它是构造分布式对象应用,使应用在不同层次和异构环境下互操作的基础。*对象服务(Object Services)是为使用和实现对象而提供的基本服务集合,对于分布式应用这些是基本服务,同时服务独立于应用领域。它提供的服务有:命名、生命周期服务和事务服务等,它不考虑对象在应用中如何实现。*公共设施(Common Facilities)是为许多应用提供的共享服务

13、集合,如系统管理、电子邮件等。*应用对象(Application Objects)相应于传统的应用表示,可由单个厂商生产,是参考模型中的最高层,OMG对此不作规定。在OMA中,ORB提供了透明发出请求和接收响应的基本机制,ORB使得分布对象可以构成实际的应用并使应用之间能够互操作,是对象间的“通信总线”。下面描述了CORBA参考模型OMA结构的主要组成结构如图3。目前有大量的公司支持CORBA规范的实现平台,如IBM、Inprise、Informix、Oracle、Sybase、IONA、SUN等众多的公司,CORBA提供开发工具的有IBM、Inprise、Oracle、Sybase等的公司。

14、开发语言可用JAVA,C等。三种构件模型之间的比较下面表1从集成性、可用性、可扩展性三个方面,给出了三种软件构件技术的比较结果。表1只代表经验的分析结构,不代表统计调查结果。表1三种构件模型的比较结果 在这三种构件模型中,EJB同CORBA之间具有较好的互补性和互通性。EJB提供了一个概念清晰、结构紧凑的分布计算模型和构件互操作的方法,为构件应用开发提供了相当的灵活性。但由于它还处于发展初期,因此其形态很难界定。CORBA是一种集成技术,而不是编程技术。它提供了对各种功能模块进行构件化处理并将它们捆绑在一起的粘合剂。EJB和CORBA在很大的程序是可以看作为互补的。这个适应WEB应用的发展要求

15、,许多厂商多非常重视促进EJB和CORBA技术的结合,将来RMI可能建立在IIOP之上。CORBA不只是对象请求代理ORB,也是一个非常完整的分布式对象平台。CORBA可以扩展EJB在网络、语言、组件边界、操作系统中的各种应用。目前许多平台都能实现EJB构件和CORBA构件的互操作。 同EJB和CORBA之间相互之间方便的互操作性相比,DOCM和CORBA之间的互操作性要相对复杂些,虽然DCOM和CORBA极其类似。DOCM的接口指针大体相当于CORBA的对象引用。为了实现CORBA和DCOM的互操作,OMG在CORBA 3。0的规范中,加入了有关的CORBA和DCOM互操作的实现规范,并提供

16、了接口方法。为阐明如何在实际应用中实现互操作,用图4来进行说明。在图中居左的是充当客户方的对象系统A,它要向居于右侧的对象系统B中的目标结象发送请求。我们将提供是映射的全部概念实体称为桥,其作途是从客户方至目标对象实现请求的透明映射及分发。系统A中的对象称为视图(View)的对象。视图作为系统A中的对象,代表着系统B的目标对象映射到系统A中的身份标识与接口,称之为B目标对象A的视图。视图所公开的接口称为视图接口,与系统B中的目标对象同构。视图接口提供的方法将系统A的客户请求转化为对系统B目标对象的请求。视图是桥的一个成员,而桥则可以由许多视图组成。桥是不同对象系统间映射接口与身份标识,尽管物理上桥并不需要系统B中目标对象的引用,但从概念上讲,桥还是保留了该引用。桥必须在系统A和系统B之间提供

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论