18143453325 在线咨询 在线咨询
18143453325 在线咨询
所在位置: 首页 > 营销资讯 > 信息时代 > 分布对象中间件CORBA(数据库)

分布对象中间件CORBA(数据库)

时间:2022-12-21 06:30:01 | 来源:信息时代

时间:2022-12-21 06:30:01 来源:信息时代

    分布对象中间件CORBA : 遵从OMG(object management group)组织CORBA(common object request broker architecture)规范的分布对象中间件。分布对象中间件CORBA采用“软总线+软构件”的系统架构,以标准化的对象请求代理作为软总线连接,由CORBA对象作为软构件表达的分布式应用,并通过名字服务、事件服务、事务处理服务和安全服务等基础服务设施支持高可靠和高可伸缩系统的开发、运行、管理与集成。
20世纪90年代初,软件运行形态向网络模式急剧变迁,迫切需要具备异构环境下互操作能力的中间件的支撑。在这一背景下,OMG组织于1990年11月发表了《对象管理体系指南》,初步阐明了分布对象中间件CORBA的思想,并于1991年发布了CORBA 1.0规范。此后以CORBA规范的版本迭代为标志,分布对象中间件CORBA的发展大致经历了三个阶段:
(1)初始发展阶段(CORBA 1.0~CORBA 2.1):在这一阶段,互操作是CORBA规范发展的主题:通过制定接口定义语言(interface declaration language,IDL)标准及其到多种程序语言的映射规范实现了CORBA跨语言的互操作能力; 通过制定通用对象请求代理(object request broke,ORB)间的互操作协议(general Inter-ORB protocol,GIOP)实现了异构网络和不同ORB产品间互操作。然而CORBA对象模型中服务方代码的不可移植性,及在安全互操作、数据持久、消息服务等方面的局限性,限制了CORBA在企业计算环境下的应用。
(2)发展成熟阶段(CORBA 2.2~CORBA 2.6):1998年OMG发布的CORBA 2.2规范提出了基于可移植对象适配器(portable object adaptor,POA)的服务方对象模型,从而实现了服务方代码在不同CORBA产品间的可移植。此外,CORBA规范在对象模型和服务质量支持两个方面也得到了进一步发展,突出表现为对象传值机制、异步消息规范、容错CORBA、实时CORBA和嵌入CORBA规范等的制定。这一阶段涌现了大量商业上可用的、标准兼容的CORBA中间件,开始广泛应用于电信、金融、军事、医疗和电子商务等关键业务领域。
(3)技术跃升阶段(CORBA 3.X): 2002年OMG发布了CORBA 3.0规范族,其核心内容是正式采纳了CORBA构件模型(CORBA component model,CCM)标准,这个在1997年便开始酝酿历时5年制定的规范标志着CORBA中间件技术的一次重要提升。CORBA 3.0规范族由Java与Internet集成相关、服务质量及CORBA构件模型三大类规范组成。
目前比较知名的CORBA中间件包括IONA的Orbix、Borland的VisiBroker、DOC Group的TAO、Object Security的Mico及国内国防科技大学的StarBus等。
分布对象中间件CORBA基于OMG组织的对象管理体系结构(object management architecture,OMA)。OMA以平台无关的方式定义了分布对象及其交互机制。OMA包括对象模型和引用模型两个部分: 对象模型描述了分布对象本身,也即具有唯一标识、位置和实现细节对访问者透明的实体,且这些实体只能通过严格定义的接口访问;引用模型则说明了对象之间如何进行交互,按接口种类分组的对象通过对象请求代理(object request broker,ORB)链接在一起(见图1)。


图1 OMA引用模型


分布对象中间件CORBA的主要内容通常涵盖了OMA引用模型中的对象请求代理及对象服务部分。分布对象中间件CORBA以遵循CORBA规范的“软总线”对象请求代理ORB为核心,以CORBA服务形式提供一系列诸如名字解析、事件交互等分布式环境下共性支撑机制。此外,部分遵循CORBA3.0规范的CORBA中间件还提供了支持CORBA构件模型的应用服务器。
分布对象中间件包括如下关键技术:
(1)对象请求代理(ORB)是连接CORBA对象的软总线。ORB主要由ORB内核、对象适配器、客户端存根和服务端框架等组成(见图2)。基于ORB的分布对象访问过程如下: Client程序调用本地的客户端存根发起远程访问请求,客户端存根负责将客户请求编码成网络消息;ORB内核根据存根中包含的被请求CORBA对象的网络位置信息将请求消息发送到目标CORBA对象所在服务器进程;服务方ORB内核接收请求消息并交给对象适配器,由后者负责定位、激活具体的CORBA对象实现,此外由服务端框架负责将请求消息解码、还原成对本地对象实现的调用;所产生的请求结果再由服务端框架编码成响应消息,经由服务方和客户方ORB内核按原路传回客户进程,最后由客户端存根将应答结果解码,呈现给Client程序。


图2 ORB体系结构


上述访问过程对应用程序员是不可见的。ORB为应用程序员提供了对象位置透明性、对象实现透明性、对象的执行状态透明性和对象通信机制的透明性,应用程序员可以像访问本地对象一样访问远程对象,从而使之可以专注于领域逻辑而非分布式系统的某些具备共性的底层问题。
ORB的另一重要特点是其跨平台、跨程序语言的能力。一方面,标准接口定义语言及其映射机制使得对象接口和数据类型可以无歧义的在多种程序语言间翻译; 另一方面CORBA规范所定义的通用ORB间互操作协议保证了在异构网络和异构ORB之间实现消息的无歧义理解和透明传递;此外,CORBA 2.3规范所引入的可移植对象适配器也为服务端对象实现的可移植性提供了支持。
(2) CORBA服务为分布式应用开发中的共性问题提供了高层重用机制。CORBA服务指那些可能被所有应用程序所使用的、与领域无关的公共服务对象。OMG目前已经制定了名字服务、事件服务、通告服务、生命周期服务、持久性对象服务、事务服务、并发服务、关系服务、具体化服务、查询服务、许可服务、属性服务、时间服务、安全服务、交易对象服务和对象集合服务等十余种CORBA服务规范。
(3) CORBA构件模型是OMG在支持POA的CORBA规范基础上,基于软件构件技术提出的开发和配置服务器端分布式应用的构件模型。在提高服务方软件可复用性的同时,CORBA构件模型也弥补了传统CORBA规范对象生命周期管理能力较弱、与EJB的互操作困难等缺陷,并为动态配置CORBA应用程序提供了灵活性。CCM的体系结构主要包括四个部分: 抽象构件模型定义CCM构件的外观特征; 构件实现框架定义构件实现的编程模型; 容器编程模型定义容器与构件间交互的API框架;打包配置模型定义开发完毕的构件流通和使用形式。
面对Internet环境下跨组织应用集成的需求和中间件层异构所形成的软件重用及互操作挑战,OMG组织正在推动CORBA技术在面向服务集成、构件和模型驱动的软件重用、自适应可管理等方面的发展。另一方面,随着大量嵌入式设备的普及和日常生活中的关键系统被计算机接管,实时嵌入CORBA规范、轻量级CCM规范等也日益得到广泛的应用,成为了CORBA中间件技术与市场增长的新热点。

74
73
25
news

版权所有© 亿企邦 1997-2022 保留一切法律许可权利。

为了最佳展示效果,本站不支持IE9及以下版本的浏览器,建议您使用谷歌Chrome浏览器。 点击下载Chrome浏览器
关闭