对象请求代理(ORB)(陈柏年)

对象请求代理(ORB)(陈柏年)

ID:40951486

大小:316.00 KB

页数:17页

时间:2019-08-11

对象请求代理(ORB)(陈柏年)_第1页
对象请求代理(ORB)(陈柏年)_第2页
对象请求代理(ORB)(陈柏年)_第3页
对象请求代理(ORB)(陈柏年)_第4页
对象请求代理(ORB)(陈柏年)_第5页
资源描述:

《对象请求代理(ORB)(陈柏年)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、对象请求代理(ORB)(陈柏年)公用对象请求代理(调度)程序体系结构CORBA(CommonObjectRequestBrokerArchitecture),是对象管理组织OMG(ObjectManagementGroup)对应当今快速增长的软硬件的协同工作能力的要求而提出的方案。简而言之,CORBA允许应用程序和其他的应用程序通讯,而不论他们在什么地方或者由谁来设计。CORBA1.1由对象管理组织在1991年发布。他定义了接口定义语言(IDL)和应用编程接口(API),从而通过实现对象请求代理(ORB)来激活客户/服务器的交互。

2、CORBA2.0于1994年的12月发布。他定义了如何跨越不同的ORB提供者而进行通讯。ORB是一个中间件,他在对象间建立客户-服务器的关系。通过ORB,一个客户可以很简单地使用服务器对象的方法而不论服务器是在同一机器上还是通过一个网络访问。ORB截获调用然后负责找到一个对象实现这个请求,传递参数和方法,最后返回结果。客户不用知道对象在哪里,是什么语言实现的,他的操作系统以及其他和对象接口无关的东西。在传统的客户/服务器程序中,开发者使用他们自己设计的或者公认的标准定义设备之间的协议。协议的定义依赖于实现的语言,网络的传输和其他许

3、许多多因素。ORB将这个过程简单化。使用ORB,协议定义是通过应用接口,而该接口是接口定义语言(IDL)的一个实现,他和使用的编程语言无关的。并且ORB提供了很大的灵活性。他让程序员选择最适当的操作系统,运行环境和设计语言来建设系统中每个组件。更重要的是,他允许集成已经存在的组件。CORBA是在面向对象标准化和互操作性道路上的一个信号。通过CORBA,用户不必要知道软硬件的平台和他们处在企业网的什么地方就可以操作。ORB结构通过ORB发送请求上面的图形说明的是客户端发送一个请求到对象的实现。客户端是希望对某对象执行操作的实体。对象

4、的实现是一片代码和数据来实际实现对象。ORB负责下面的必要的机制:对该请求找到对象的实现,让对象的实现准备好接受请求,和请求交换数据。客户端的接口完全独立于对象的位置,其实现的语言和其他不影响对象接口的东西。ORB接口的结构上面的图形显示的是一个独立的对象请求代理(ORB)的结构。ORB的接口是灰色的矩形。箭头说明ORB的调用关系。为了提出一个请求,客户端可以使用动态调用接口DII(DynamicInvocationInterface)(和目标对象的接口独立)或者一个OMG的IDL占位程序(具体的占位程序依赖于目标对象的接口)。客

5、户端也可以直接和ORB在某些地方交互。对象的实现通过OMG的IDL产生的骨架或者是一个动态骨架的调用来接受请求。对象的实现可能在处理请求或其他的时候调用ORB。对象接口定义的定义可以有下面两种方式。接口可以通过接口定义语言静态的定义,这叫做OMG的IDL。该语言按照可以进行的操作和该操作的参数定义对象类型。或者(也可以作为补充),接口可以加入到InterfaceRepositoryservice。该服务描述了该接口作为一个对象的组件,并允许运行时访问这些组件。在任何ORB实现中,IDL和InterfaceRepository有相同

6、的表达能力。客户端使用占位程序或者动态调用接口客户端通过访问对象的对象引用和了解对象的类型及要求执行的操作来发布一个请求。客户调用占位程序例程来请求或者动态构造请求。无论动态还是占位程序的接口都可以相同实现。接收方不可能知道请求是如何发布的。对象的实现接受请求ORB向对象实现定位适当的代码,传递参数,传输控制。这一切都通过IDL骨架或者动态骨架。骨架对于不同的接口和对象适配器是不同的。在执行该请求的时候,对象的实现可能由ORB通过对象适配器来获得一定的服务。当请求完成,控制和输出值返回给客户。对象的实现可能会选择使用的对象适配器。

7、该决定基于对象的实现要求的服务。接口和ImplementationRepositories上图说明的是接口和实现信息如何让客户和对象实现访问的。接口用OMG的IDL和/或InterfaceRepository定义。该定义用于产生客户占位程序和对象的实现的骨架。对象的实现的信息在安装时就提供好了,储存在ImplementationRepository中以便请求发布的时候使用。对象请求代理(ORB)详细说明ORB是一个中间件(middleware),它可以建立对象之间的client/server关系。通过ORB,一个client可以透

8、明的引用同一台机器上或网络上的一个server对象的方法。ORB解释该调用并负责查找一个实现该请求的对象,找到后,把参数传给该对象,调用它的方法,最后返回结果。client并不清楚该对象的位置,它的编程语言,它的操作系统以及其它不是对象接口的系统信

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。