CORBA(通用对象恳求代理体系构造)[VC/C++编程]
本文“CORBA(通用对象恳求代理体系构造)[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
CORBA(通用对象恳求代理体系构造)是在当今快速发展的软件与硬件资源的情形下发展出的一种新技术.它可以让分布的利用程序完成通信,无论这种利用程序是什么厂商生产的,只要符合CORBA尺度便可以彼此通信.CORBA 1.1于1991年由OMG提出,同时还提出了接口定义语言Interface Definition Language,IDL)以及可以让客户/服务器对象在特定的ORB(对象恳求代理)实现中举行通信.而1994年提出并被采取的CORBA 2.0尺度才真正实现了差别生产厂商间的互操作性.
ORB是一个在对象间成立客户/服务器接洽的中件.利用ORB,客户可以调用服务器的对象或对象中的利用,被调用的对象不要求在同一台机械上.由ORB负责举行通信,同时ORB也负责探求适于完成这一工作的对象,并在服务器对象完成后返回后果.客户对象完好可以不关心服务器对象的位置,实现它所采取的具体技术和工作的硬件平台,乃至没必要关心服务器对象的与服务无关的接口信息,这就大大简化了客户程序的工作.既然可以这么便利,那ORB就需求供应在差别机械间利用程序间的通信,数据转换,并供应多对象系统的无缝衔接.
我们普通编制客户/服务器程序时,常常需求自己定义通信协议,而协议的拟定常常与硬件和实现的办法有关,而ORB可以简化这一历程.在ORB下,协议通过IDL语言举行定义,保证了一致性,为了照护到机动性,ORB答应程序员挑选呼应的操作系统,履行环境和编程语言.更重要的是它可以使本来的代码通过一定的方法重用.CORBA是面向对象尺度的第一步,有了这个尺度,软件的实现与工作环境对用户和开辟者不再重要,可以把精神更多地放在本地系统的实现与优化上.
下面我们来看看CORBA的一些具体情形.CORBA被计划用来对差别对象系统举行集成,供应机动的的对象调用与功效实现.下图是客户对象通过ORB调用服务器对象.
对象恳求代理构造的大体工作历程就象上面的工作历程一样.客户将需求完成的工作交给ORB,由ORB决意由哪一个对象实例完成这个恳求,然后激活这个对象,将完成恳求所需求的参数传送给这个激活的对象.除了客户传送参数的接口外,客户不需求理解别的任何信息,这就大大节俭了用户的开辟精神.在提出恳求时,客户可以利用动态调用接口大概OMG IDL句柄.当然用户也可以直接调用一些ORB内部的功效.对象实现通过OMG IDL产生的框架或通过动态框架接纳到调用恳求,在处理这些恳求时,对象实现可以调用对象适配器和ORB.
对象的接口有两种定义方法,可以利用接口定义语言(称为OMG接口定义语言,OMG IDL)举行静态定义,这种语言按照举行的操作和传送的参数定义对象.另一种办法,可以将接口加入接口库服务中,这种服务代表作为对象的接口的组件,答应在运行时对这些成为组件的接口举行拜候,这两种办法是等效的.下图表示的是客户利用句柄或动态调用接口举行拜候的情形.
客户知道对象的范例和但愿举行的操作(普通客户都知道这个,假如连需求举行什么操作都不知道,那便好笑了)客户可以通过拜候一个对象的对象参考提出恳求.客户可以通过调用句柄函数初始化调用,也可以动态提出恳求.动态发出的恳求和通过句柄接口发出的静态恳求二者在格局是一样的,恳求的接纳者不大概知道这种恳求是动态发出的还是静态发出的.
ORB定位符合的可以实现这个功效的代码,通过IDL框架或动态框架传向对象实现传送参数,并将掌握权交给对象实现.框架是指定于接和对象适配器的,在实现恳求的历程中,对象实现可以通过对象适配器获得一些ORB服务.在完成恳求时,将掌握权和输出数据返回给客户.不要被图给迷惑了,对象实现可以按照自己的需求挑选需求的对象适配器利用.
接口可以在OMG IDL或在接口库中实现,这种对接口的定义用于产生客户句柄和对象实现框架.对象实现信息在安装时供应,保存于实现库中,在传送恳求时可以利用这个信息库中的内容.
以上是“CORBA(通用对象恳求代理体系构造)[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |