TechTarget数据库 > 百科词汇

CORBA:公用对象请求代理体系结构

公用对象请求代理体系结构(Common Object Request Broker Architecture,CORBA)是一种在某一网络中创建、分发和管理分布式程序对象的结构与规范。公用对象请求代理体系结构允许处在不同位置、由不同厂商开发的程序通过“接口代理”在某一网络内实现通信。CORBA是对象管理组织(OMG)联合多家厂商开发的。国际标准化组织(ISO)和X/Open组织已经同意将CORBA定为分布式对象的标准结构。

  公用对象请求代理体系结构的基本概念是对象请求代理(ORB)。处于网络中不同客户机的对象请求代理支持和在不同计算机上的服务器意味着一个客户机程序可以请求来自某一服务器程序或对象的服务,而这种请求不需要了解服务器在某一分布式网络中的具体位置,也无需知道与服务器程序相连的接口是什么样子。在对象请求代理间发送请求或返回答复时,程序使用通用ORB间互操作协议(GIOP);如果是针对因特网的,则使用因特网ORB间协议(IIOP)。

  微软公司是公用对象请求代理体系结构的竞争对手。它拥有自己的分布式对象结构,也被称为分布式组件对象模式(DCOM)。不过,CORBA与微软已经就网关方式达成一致,如此一来,与组件对象模式一道开发的客户对象将可与一台CORBA服务器通信。

  分布式计算环境是优于面向对象程序及CORBA的一种分布式程序结构,目前被许多大型公司所采用。分布式计算环境未来将可能继续与CORBA共存,两者间需要一定的连接。

  CORBA体系的主要内容包括以下几部分:

  1. 对象请求代理(Object Request Broker):负责对象在分布环境中透明地收发请求和响应,它是构建分布对象应用、在异构或同构环境下实现应用间互操作的基础。
  2. 对象服务(Object Services):为使用和实现对象而提供的基本对象集合,这些服务应独立于应用领域。主要的CORBA服务有:名录服务(Naming Service)、事件服务(Event Service)、生命周期服务(Life Cycle Service)、关系服务(Relationship Service)、事务服务(Transaction Service)等。这些服务几乎包括分布系统和面向对象系统的各个方面,每个组成部分都非常复杂。
  3. 公共设施(Common Facilitites):向终端用户提供一组共享服务接口,例如系统管理、组合文档和电子邮件等。
  4. 应用接口(Application Interfaces):由销售商提供的可控制其接口的产品,相应于传统的应用层表示,处于参考模型的最高层。 
  5. 领域接口(Domain Interfaces):为应用领域服务而提供的接口。如OMG组织为PDM系统制定的规范。  

    CORBA弥补了传统分布处理系统的不足,具有很多新的特色:

  1. 引入代理(Broker)概念。代理起到如下作用:完成对客户方提出的抽象服务请求的映射;自动发现和找到服务器;自动设定路由,实现服务方程序的执行。
  2. 客户方程序与服务方程序完全分离。用传统的客户/服务器方式有很大的不同,客户将不再与服务方发生直接的联系,而仅需要与代理发生联系,客户与服务器方都可方便升级。
  3. 提供“软件总线”机制。任何应用系统只要提供符合CORBA系统定义的一组接口规范,就可以方便的集成到CORBA系统中,这个接口规范独立于任何实现语言和环境。如此,客户应用与服务对象之间可以透明地交互运行,实现应用软件在“软件总线”上的“即插即用”。
  4. 分层的设计原则和实现方式。CORBA系统的底层核心是一个精练的系统,各种复杂系统和应用可以由核心扩展和延伸。

最近更新时间:2009-02-02 作者:Jan Hewitt, Cecil Roets, and Andy Walker翻译:沈珺EN

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。