CORBA技术分析 CORBA技术分析

CORBA技术分析

  • 期刊名字:沈阳工业大学学报
  • 文件大小:139kb
  • 论文作者:林娜,徐全生
  • 作者单位:沈阳工业大学信息科学与工程学院,
  • 更新时间:2020-09-25
  • 下载次数:
论文简介

第23卷第4期沈阳工业大学学报Vol. 23 No. 42001年8月Journal of Shenyang University of TechnologyAug.200 1文章编号:1000 - 1646<2001 )04 -0326 -04.CORBA技术分析林娜,徐全生(沈阳工业大学信息科学与工程学院,辽中沈阳10023)摘要:着重介绍了CORBA技术规范及其主要组成部分.探讨了基于CORBA应用的优点。并对目前流行的三种面向对象中间件模型CORBA.DCOM和Java做了比较分析,总结出了三种中间件模型的不同适用范围关键词:公共对象请求代理体 系结构;对象请求代理;分布构件对象模型中围分类号: TP 393文献标识码: A面问对象的技术是软件界努力追求的目标,传块组成.统的对象技术通过封装.继承及多态提供了良好的CORBA同时提供了一系列的公共服务规范-代码重用功能,但是这些对象只存在于一个程序CosS,其中包括名字服务、永久对象服务、生命周期中,外面的世界并不知道它们的存在,也无法访问服务、事务处理服务、对象事件服务和安全服务等,它们,戮解决这些问题就需要提供一个标准的构它们相当于-类用于企业级计算的公共构件.此件框架,使不同厂家的软件通过不同的地址空间、外,许多第三方厂商根据CORBA规范还针对电信、网络和操作系统交互访问,该构件的具体实现、位石油等典型的应用行业提供了-系列的公共平台.置及所依附的操作系统对客户来说都是透明的.1.2 接口描述语言(IDL)因此有关对象中间件的标准相继问世,像OMC组使用接U描述语言编写的对象接口,使得与织(Object Management Croup)的公共对象请求代理语言无关的独立性成为叮能.IDL 使得所有.体系结构(Common Object Request Broker Architec-CORBA对象以一种方式被描述,仅仅需要- -个ture, CORBA)、Microsoft的构件对象模型(Componet由本地语言(C/C+ +、CORBA或Java)到IDL的Object Model, COM)等,这些标准都极大地促进了“桥槊”. CORBA对象的互通信要以对象请求代理对象中间件技术的发展,本文着重讲述了CORBA .为中介,这种互通信可以在多种流行通信协议(如技术,贸后又对3种流行的面向对象中间件模型做TCP/IP或IPX/SPX)之上实现.在TCP/IP上,来了比车:分析.自于不同开发商的0RB用IIOP协议进行通讯.为了保持CORBA的商业中立性和语言中立1 CORBA(公共对象请求代理体系性,必须有个中介,存在于像C+ + CORBA服务结构)器代码和Java CORBA客户机这样的实体中间,这就是IDL.一个底层对象的若干相关方法和属性被IDL集入一个单一接口。一旦IDL接口定义完成,.1.1 C0RBA简介CORBA是OMG组织在1991年提出的公共对它可以以Stub码或框架代码的形式编译成所选用象请求代理体系结构的技术规范.CORBA有很广的语言.在所有的ORB中都有IDL编译器.泛的应用,它使服务器真正能够实现高速度、高稳值得注意的-一点是, IDL不同于其他的面向对定性处理大量用户的访问。现在很多大型网站后象程序设计语言,不能用它指定所定义的类或方法的具体实现.因此,仅仅将它作为一种定义底层.端的服行器都运行CORBA,CORBA的底层结构是基于面向对象模型对象接口的语言要好得多.的,由UMC接口描述语言对象请求代理和1I0P1.3ORB接口结构标准协议,也称网络ORB交换协议) 3个关键模为了创建一个遵从CORBA规范的应用程序,中国煤化工收骗日期: 200-11-1515MHCNMHG作者简介:林娜(1977-),女 ,辽宁沈阳人,沈阳工业大学助教,硕t: .第4期林娜等:CORBA技术分析327ORB是CORBA必须提供的.没有ORB, CORBA1.5 基于OCRBA应用的优点应用程序就无法T作.CORBAORB最显著的功CORBA是开放式的、独立于商、用于网络能是对应用程序或是其他ORB的请求予以响应,上计 算机应用底层结构.任何厂家、计算机操作实现细节对软件开发者的透明性,是ORB的系统、编程语言及网络环境下的基于CORBA的应一个杰出的特性.用均使用IIOP标准协议,所以任何基于CORBA在CORBA应用程序运行期间,ORB可能被的应用均能协同工作.请求做许多不同的事性,包括查找并调用远程计在小型的Client/Server 模式的应用系统中使算机上的对象、负责不同编程语言之间的参数转用CORBA,能给系统提供可靠的、标准的底层结换(如C+ +到Java)、用动态方法调用激活远程对构,可以使用CORBA来构建、运行在不同平台上象等.的、用不同编程语言实现的客户端及服务器端的图I所示为一个独立的ORB的结构,箭头说应用程序.如果企业广泛使用基于CORBA的应明ORB的调用关系。为了提出一个请求,客户端用,会带来巨大的商业利益.企业中的不同应用可以使用动态调用接口或者客户端的Stub程序,系统都有不同的功能,能够处理不同的数据,这些客户端也可以直接和ORB交互.系统如果能结合起来协同工作,就会产生更大的商业价值.如果应用系统都是用CORBA来实现,客户端对象实现就可以容易地移植到网上,企业内部可以通过网络协同工作了。随着业务的不断扩展,公司的电子商务站点动态户媚ORB动态理用Subs程序|接口|骨架静态骨架, 静杏骨架的负载会不断增大,总有一天负载量会超过系统预先设计的支持能力。可以使用CORBA来制作ORB内核基于对象模型的服务器端的应用系统,解决系统图1ORB结构负载的问题。考虑到当前的负载及以后可能达到1.4 远程调用的负载情况,可以选择ORB,它可以在多个服务器对象的实现通过IDL.静态骨架或动态骨架的之间实现负载均衡。它是基于OMG可移动对象调用来接受请求.适配器的,当系统负载较重时(比如运行基于Web,图2所示为一个远程调用过程.为了调用远的应用),叮以更充分地利用系统硬件资源.程的对象实例,客户端首先获取它的对象参数.如果应用系统需要很高的稳定性(比如股票客户端在进行远程请求时使用与本地请求相同的或证券方面的应用),可以利用CORBA提供的容代码,只不过用对象参数代替了远程实例.当错机制.CORBA的容错机制不仅能实现负载均ORB检测对象参数并发现目标是远程对象的时衡,还能使每- -个对象同时在两个或多个服务器候,它会调度这些参数,把请求转移到网络上,从t运行,当其中的个出现故障时,系统能自动切而连接到远程对象的ORB上. ORB可以从对象换到另一个服务器,如果多个服务器的硬件配置参数中判断出目标对象是远程的,客户端却做不.相同,服务器会拥有很高的稳定性.到这一点,当客户端发出请求时,对象参数不用CORBA对象可以用任何--种CORBA软件去分辨月标对象的位置.开发商所支持的语言,如C、C+ +、Java、Ada和这保证了对象位置的透明性.CORBA的这Small talk等等来编写.同样,CORBA对象可以运些基本原理简化了分布式对象的计算机应用的行在任何一种CORBA软件开发商所支持的平台.设计.上,如Solaris、Windows95/NT .Open VMS、Digital U-(客户端( 对象,)客户端] (对象。nix、 HP-UX或AIX等。这意味着可以在Win-dows95'下运行Java应用程序,同时动态调人并使Stub骨架Sub用C+ +对象,而实际上该对象可能存储于一个在.程序Intermet上的Unix Web服务器上.目前,对于较流行的编程语言(包括C+ +,moP协议Smalltalk、Java和Ada 95),已经有了许多第三方的ORB.随着其他语言的逐渐流行, CORBA开发商毫图2 ORB 远程调用过程中国煤化工MHCNMHG328沈阳工业大学学报第23卷无疑问地要做出相应的ORB来支持它们.例如,用之间进行可靠的消息通讯和管理.此外,微软在.IONA公司的orbix, inprise公司的vibroker等.网络安全方面也有-整套实用的解决方案.2.3 Java2CORBA、DCOM和Java三种中Java对于软件构件的观点与CORBA中的构间件的比较分析年观点存在定的区别.在CORBA中, CORBA/ORB相当于一根软总线,构件可以即插即用.也就2.1CORBA是说从CORBA的观点看来,所有构件的地位相当,CORBA是一种语言中性的软件构件模型,可完全是一种平行的关系。而在Java中,软件构件是以跨越不同的网络、不同的机器和不同的操作系能够进行可视化操作的可重用软件,它满足- -定的统,实现分布对象之间的互操作.特征要求,并可以根据需要进行定制和组装.2.2 DCOMJava 的软件构件称为JavaBean,或者简称DCOM是Microsoft与其他业界厂商合作提出Bean. 按照Javasof1 给出的定义,Bean 是能够在构的一种分布构件对象模型,其发展经历了一个相当造工具中进行可视化操作的可重用软件. JavaBean .曲折的过程. DCOM起源于动态数据交换(DDE)技的组件模型包含组件和容器两个基本要素,这一思术,通过剪切/粘贴(Cut/ Pasle)实现两个应用程序想在Acive X/DCOM技术中同样存在.作为一种之间共卓数据的动态交换,对象连接与嵌人OLE典型的组件模型, Java Bean具有属性、方法、事件、就是从)DE引伸而来的.自我检查.定制和永久性等6个方面的特征.其中.随后,Microsoft引人了构件对象模型COM,形前3种特征(属性.方法、事件)是面向对象的组件成了COM对象之间实现互操作的二进制标COM必须满足的基本要求,后3种特征(自我检查定制规定了对象模型和编程要求,使COM对象可以与画和水久性)主要侧重于对JavaBeans组件性质的刻其他对象相互操作.这些对象可以用不同的语言实现,其结构也可以不同.基于COM,微软进- -步最近两年, Java 又提出了企业JavaBean(EJB)将OLE技术发展到OLE2.其中, COM实现了OLE的思想,其结构完全采用基f软件构件模型的分布对象之间的底层通信工作,其作用类似于CORBA/对象计算体系,如图3所示.ORB.不过此时的COM只能作用在单机Wintel平企业JavaBean各组成部分的含义为:台上,在OLE2中,也出现了所熟知的拖-放技术*JDB:基于SQL标准Java数据库连接,其基以及OLE自动化.本功能和设计与ODBC相似;同时,微钦在VB矧人了可以嵌入任何可视* JavaRMl: Java远程方法调用;构件的通用模型VBX. VBX的主要局限在它并不* JNDI: Java名字与目录服务;是一个开放的结构,也没有为第三方软件开发商提* JavaIDL: Java和COBRA之间的连接;供VBX集成的标准,最后,微软将上述思想集中* JTS: Java事务管理服务;在-起,以COM作为构件通信框架. VBx也发展* JMAPI: Java网络管理API;为OLE控件oCX的形式,DCOM是COM在分布*JMS:Java消息传递服务.计算方面的自然延续,它为分布在网络不同节点的两个COM构件提供了操作的基础结构,而所有以L JavaBeans构件HTMLOLE为标志的技术如今也挂上了ActiveX 标志.IIOP或其它协议从CORBA的观点来看,可以粗略地说,AotiveX控件与DCOM的关系相当于CORBA构件与ServletsORB的关系,当然,按照微软一贯的产品开发逻企业JavaBeans构件辑,微妙的思想都退到了幕后,而提供给开发者的Server是一个以Wizard方式生成各种应用的可视化开发Platform1M|:环境.在公共服务方面,微软提出了自己的事务服务器MTS和消息队列服务器MSMQ.前者与coR.BA付淑笋务服务目标类似,后者则是为了保证应中国煤化工”结构MYHCNMHG第4期林娜等:CORBA技术分析329远程方法调用机制RMI是构成Jave分布对持,并制定了二者之间相互转换的规范;COM以象模型的基础结构.RMI系统包括桩/框架层、Windows为主要阵地,未对双方的转换给予充分远程引用层和传输层.目前,RMI的传输层是基.重视.于TCP实现的,将来的RMI体系结构建立在I-表13 种构件模型的比较分析I0P协议之上,可以实现Java技术与CORBA技集成性CORBA/ ORB ActiveX/ DCOM EJB/ RMI术的深层融合,应用层建立在RMI系统之上.支持跨语育操作支持AD用CORBA的观点来看,企业JavaBean中包跨平台操作括了分布构件的基础结构,也包括了各类公共网络通讯公共服务构件服务构件.并且由于Java与生俱来的跨平台性可用性.和语言-致性,使其成为软件构件模型的一个事务处理消息服务有力的竞争者.目录服务2.4比 较分析结果容错性下面从企业计算的角度出发,对CORBA、产品成熟性DCOM和Java三种构件模型进行分析比较.按软件开发商的支持度可扩展性照企业计算的要求,构件模型的比较分析应该依据以下原则:集成性、可用性、可扩展性。其对象中间件技术发展迅速,各大软件厂商都中集成性和可用性进行了细化,表1给出了三在积极参与有关标准的制定和产品开发工作,像种软件构件技术的比较结果.其中,A:优秀B:IBM、HP、DEC、AT&T、ICL、Microsoft等都制定了良好C:一般D:稍差E:差.相应的战略,许多对象中间件的专门厂商也相继诞生,未来的对象中间件市场将会出现群雄逐3结论鹿的局面.不同的规范之间既存在竞争,也存在协参考文献:[1 Oue R, Patrick P, Roy M. CORBA教程- -公 共对象请求作. CORBA与JavaBean 在竞争的同时,互相借代理体系结构|MI.李师贤译.北京:清华、学出版鉴、互相影响、并互相支持.而CORBA与COM社,1999.之间更多的是一种竞争关系CORBA以U-121王少峰,董丽,王克宏.EJB-.Java服务器端构件模型[N].计算机世界,1999-11 -22.15.NIX为主要阵地,在Windows上也有很好的支CORBA technology and comparision in object oriented middle wore modelLIN Na, XU Quan-sheng(School of Information Science and Engineering, Shenyang University of Technology,Shenyang 110023, China)Abstract: This paper narrates CORBA (Common 0bject Request Broker Architecture )technical eriterion main-ly, addresses the excellence of the applications based on CORBA. Then it compares and analyses three popularobject orienled middle ware model.Key words: CORBA; ORB; DCOM中国煤化工MYHCNMHG

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