ORB互操作体系结构


   
  ORB互操作体系结构
  ORB的互操作性(InterOperability)体现在分布于网络中的多个对象借助Internet ORB间协议(IIOP)和通用ORB间协议(GIOP),达到不同厂商ORB之间操作的一致性。
  具体来说,ORB互操作是指对于两个独立开发的ORB,一个ORB中的客户端应用可以调用在另外一个ORB中利用OMG IDL定义的服务对象实现的方法。实现互操作的基本条件有:
  ● 多厂商ORB之间不需要预先知道对方的实现细节;
  ● 每个ORB必须实现其规范中定义的全部内容;
  ● 保留每个ORB独立服务的实现。
  ORB间互操作能力的实现,极大地丰富了分布式程序设计思想的内涵,使得构建基于整个互联网的分布式应用成为可能。
  通过在CORBA中引入内联桥接(In-line Bridging)和请求级桥接(Request-level Bridging), 使ORB在不需要了解对方ORB实现细节的情况下,就可以实现ORB间的互操作。
   上面两种ORB间的桥接方式只是说明了ORB间相互发送请求时的虚拟连接方式。为了实现ORB间的通信,在CORBA规范中定义了两种用于在不同厂商 ORB间进行通信的协议,即通用ORB间互操作协议(General Inter_ORB Protocol ,GIOP)和环境相关的ORB间互操作协议(Environment-Specific Inter-ORB Protocol,ESIOP)。这两种协议屏蔽了操作系统类型、实现语言以及具体厂商等因素。只要ORB支持该协议,就能够在不同的ORB之间实现通 信。
  1.通用ORB间互操作协议(GIOP)
  CORBA中定义的一种面向连接的互操作协议为通用ORB间互操作协议(General Inter_ORB Protocol ,GIOP)。在CORBA规范中,该协议只是一个框架,给用户在具体实现过程中留下了充足的空间。GIOP规范包括如下内容:
  ● 公共数据表示(Common Data Representation,CDR)的定义:该数据定义用于将OMG IDL数据类型映射为ORB之间的桥接(Bridge)可以理解的二进制数据类型。
   ● GIOP消息:在CORBA规范中定义了用于实现ORB之间通信的七种类型的消息,它们分别是: 请求(Request)、响应(Reply)、请求取消(RequestCancel)、请求定位(LocateRequest)、响应定位 (LocateReply)、连接关闭(CloseConnection)和消息错误(MessageError)。
  通过定义这些消息,使得除了能够在不同的ORB间支持CORBA规范中定义的全部功能外,还能够支持对象实现的定位、对象的动态激活和通信资源的动态管理。
  ● GIOP消息传递: GIOP消息传递用于规范在网络中传递应用数据和GIOP消息的方式。GIOP消息传递具有如下特点:面向连接,保持字节流的传输顺序,确保可靠传输,传输内容的长度无关,达到TCP/IP协议规范的初始化性能等。
   GIOP互操作协议规范了在网络中实现ORB互操作的方式。GIOP协议还有相对于具体的网络协议类型的镜像,最典型的就是GIOP在TCP/IP协议 中的实现: 基于Internet的ORB间协议(Internet Inter-ORB Protocol,IIOP)。IIOP规范继承了GIOP规范的全部内容,并且增加了如下要素:
  ● 打开TCP/IP连接的方式;
  ● 利用连接实现GIOP消息传递的方式。
  可以这样理解IIOP协议:在遵守GIOP中关于公共数据表示和消息格式定义的前提下,以TCP/IP协议为实现蓝本,具体化GIOP消息的传递方式。
  2.环境相关的ORB互操作协议
   CORBA规范中定义的另外一种ORB间的互操作协议是环境相关的ORB间互操作协议(Environment-Specific Inter-ORB Protocol,ESIOP),该协议规范了在具体的应用环境中实现ORB间互操作的方式。由于该协议与分布式应用环境有着密切的关系,使得该协议在不 同的实现和应用方式方面具有较大的变化,因此称基于ESIOP的特定环境协议为环境相关的ORB互操作协议族。
  ESIOP协议中最具代表 性的、同时也是在CORBA规范中明确说明了的是分布式计算环境中公共ORB互操作协议(Distributed Computing Environment Common Inter-ORB Protocol,DCE-CIOP)。在该协议中,数据的表示方式与前面讲述GIOP协议完全相同,但是在消息的定义以及传递方式中,采用的是远程方法 调用(Remote Procedure Call,RPC)中的Locate和Invoke方法实现消息以参数形式传递,进而实现ORB间的互操作。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值