`
hgz123
  • 浏览: 107869 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论
阅读更多

欢迎访问: www.ptcms.cn
 
CORBA(Common Object Request Broker Architecture公共对象请求代理体系结构)是由
OMG组织制订的一种标准的面向对象应用程序体系规范。或者说 CORBA体系结构是对象管理组织(OMG)为解决分布式处理环境(DCE)中,硬件和软件系统的互连而提出的一种解决方案;OMG组织是一个国际性的非盈利组织,其职责是为应用开发提供一个公共框架,制订工业指南和对象管理规范,加快对象技术的发展。

  OMG组织成立后不久就制订了OMA(Object Management Architecture,对象管理体系结构)参考模型,该模型描述了OMG规范所遵循的概念化的基础结构。OMA由对象请求代理ORB、对象服务、公共设施、域接口和应用接口这几个部分组成,其核心部分是对象请求代理ORB(Object Request Broker)。对象服务是为使用和实现对象而提供的基本服务集合;公共设施是向终端用户应用程序提供的一组共享服务接口;域接口是为应用领域服务而提供的接口;应用接口是由开发商提供的产品,用于它们的接口,不属于OMG标准的内容。ORB提供了一种机制,通过这种机制,对象可以透明的发出请求和接收响应。分布的、可以互操作的对象可以利用ORB构造可以互操作的应用。

  CORBA标准由对象管理组织(OMG)设立并进行控制,CORBA定议了一系列API,通信协议,和物件/服务信息模型用于使得异质应用程序能够互相操作,这些应用程序用不同的程序语言编写,运行在不同的平台上。CORBA因此为定义明确的物件提供了平台和位置的透明性,这些物件是分布式计算平台的基础。

  CORBA分布计算技术,是由绝大多数分布计算平台厂商所支持和遵循的系统规范技术,具有模型完整、先进,独立于系统平台和开发语言,被支持程度广泛的特点,已逐渐成为分布计算技术的标准。COBRA标准主要分为3个层次:对象请求代理、公共对象服务和公共设施。最底层是对象请求代理ORB,规定了分布对象的定义(接口)和语言映射,实现对象间的通讯和互操作,是分布对象系统中的"软总线";在ORB之上定义了很多公共服务,可以提供诸如并发服务、名字服务、事务(交易)服务、安全服务等各种各样的服务;最上层的公共设施则定义了组件框架,提供可直接为业务对象使用的服务,规定业务对象有效协作所需的协定规则。

  CORBA(公共对象请求代理架构):这是个和微软com,com+齐名的同类软件技术规范,由OMT提出。

  用于在不同进程(程序)之间,甚至是不同物理机器上的进程(程序)之间通讯。底层技术依靠RPC[远程过程调用]实现。

  面向对象的软件,以数据为中心设计,对象类既具有模块的封装性和类属等特性,还具有继承特性

  ,极大地提高了类的可扩充性和可再用能力。对象类较之于传统软件的功能模块而另具有的优点是:

  (1)易于理解,具有完整的语义特征;

  (2)易于扩充和修改,具有较高的通用性和适应性;

  (3)易于构造组装,具有规范的外部接口。

  开发应用组件必须遵循标准,以保证软件组件的互操作性,只有遵循统一的标准,不同厂商的、不同时期的、不同程序设计风格的、不同编程语言的、不同操作系统的、不同平台上的软件或软件部件才能进行交流与合作。为此,OMG(ObjectManageGroup)提供了一个对象标准CORBA,它定义了一个网连对象的接口,使得对象可以同时工作。基于CORBA的对象请求代理ORB为客户机/服务器开发提供了中间件的新格式。

  作为OMG成员的微软公司撇开CORBA而另辟了COM(ComponetObjectModel),即组件对象模型,并把COM定位成基于对象的软件开发模型,尽管COM被认为是微软鼓噪出来的技术,但支持COM的开发工具却不断增多,其中大部分来自于微软,包括VisualBasic和VisualC ++。

  公共对象请求代理结构:CORBA标准

  全球性网络使线上的所有设备和软件成为全球共享的浩瀚的资源,计算机环境也从集中式发展到分布式环境,开放式系统的发展使用户能够透明地应用由不同厂商制造的不同机型不同平台所组成的异构型计算资源,因此,分布式处理和应用集成自然而然地成为人们的共同要求,那么什么是分布式处理和应用集成呢?它们的功能和关键技术是什么呢?简单地讲,分布式处理和应用集成就是指在异构的、网络的、物理性能差别很大的、不同厂商的、不同语言的信息资源的基础上构建信息共享的分布式系统,并且能够有效地进行应用系统和分布式处理的集成。分布式处理的关键在于定义可管理的软件构件,即面向对象技术中的“对象”。应用集成的关键在于为跨平台、跨机种、跨编程语言的产品提供统一的应用接口。OMG组织针对当今信息产业的要求,公布了CORBA标准,即公共对象请求代理体系结构(Common Object Request Broker Architecture),这是一个具有互操作性和可移植性的分布式面向对象的应用标准。

  CORBA的核心是对象请求代理ORB,它提供对象定位、对象激活和对象通讯的透明机制。客户发出要求服务的请求,而对象则提供服务,ORB把请求发送给对象、把输出值返回给客户。ORB的服务对客户而言是透明的,客户不知道对象驻留在网络中何处、对象是如何通讯、如何实现以及如何执行的,只要他持有对某对象的对象引用,就可以向该对象发出服务请求。

  CORBA允许用户以两种不同的方式提出对象请求:

  1)静态调用:

  通过给定接口的存根,在编译了对象代码后,进入客户端的程序。因此,静态调用必须在编译时就知道对象及其类型。

  2)动态调用:

  通过ORB的动态调用接口DII,在运行时生成访问对象的代码。

  不管客户以哪一种形式提出请求,ORB的任务是:找出所要对象的位置,激活该对象,向对象传递此请求。对象执行所请求的服务后,把输出值返回给ORB,然后再由ORB返回给客户。

  CORBA的重要概念是:

  1.对象连接

  CORBA广泛地支持对象的实现,在单服务器系统中也可以实现由接口定义语言定义的接口。ORB的灵活性既可以直接集成已有的应用,又不会使新对象受某些原则的制约。

  对象连接提供了有不同类型对象实现时,使用ORB服务的方法,服务包括:对象引用、方法调用、安全控制、对象实现的激活与静候等。

  2.接口定义语言(IDL)

  CORBA用IDL来描述对象接口,IDL是一种说明性语言,它的语法类似于C++。

  IDL提供的数据类型有:基本数据类型、构造类型、模板类型、和复合类型、操作说明。这些类型可以用来定义变元的类型和返回类型,操作说明则可以用来定义对象提供的服务。

  IDL还提供模块构造,其中可以包含接口,而接口是IDL各类型中最重要的,它除了描述CORBA对象以外,还可以用作对象引用类型。

  IDL提供了接口继承性,派生接口可以继承其基类接口所定义的操作与类型。IDL的接口继承性有其特殊性,此处不赘述。

  总之,CORBA的IDL是一种说明性语言,描述面向对象系统开发所遵循的接口与实现相分离的基本原则。

  3.动态调用接口

  把IDL说明编译成面向对象程序设计语言的实代码后,客户可以调用已知对象的操作。在某些应用中,用户并不了解应用接口编译信息,但也要求调用对象的操作,这时就要动态调用接口来调用用户的操作了。例如,图形用户接口应支持用户浏览接口公共库,以获得每个对象所支持的操作信息,用户可根据自己的需求从浏览对象中挑选出所需的对象操作,具体的对象操作的调用实际上是用动态调用接口来完成的。

  4.接口公用库

  接口公用库持久地存储IDL的接口说明,借助于接口公用库,可以实现对象继承性层次结构的导航,并且提供了有关对象支持的所有操作的描述。接口公用库最常见的功能是为接口浏览器提供信息,帮助应用开发者找出潜在的可重用的软件部件。ORB可以利用接口公用库检查运行时的操作参数类型,但接口公用库的基本功能是提供类型信息,为动态调用接口发送请求提供信息支持。

  CORBA的不足之处:

  尽管有多家供应商提供CORBA产品,但是仍找不到能够单独为异种网络中的所有环境提供实现的供应商。不同的CORBA实现之间会出现缺乏互操作性的现象,从而造成一些问题;而且,由于供应商常常会自行定义扩展,而CORBA又缺乏针对多线程环境的规范,对于像C或C++这样的语言,源码兼容性并未完全实现。

  CORBA过于复杂,要熟悉CORBA,并进行相应的设计和编程,需要许多个月来掌握,而要达到专家水平,则需要好几年。

分享到:
评论

相关推荐

    CORBA基础_C++corba开发_corba_

    CORBA(Common Object Request Broker Architecture,公共对象请求代理体系结构)是用于分布式计算的一种标准,它允许不同系统间的软件对象进行交互,就像它们在同一个进程内一样。在C++环境中进行CORBA开发可以帮助...

    java_CORBA.rar_CORBA java_Java CORBA_corba

    Java CORBA,全称为Java Common Object Request Broker Architecture(Java通用对象请求代理架构),是一种用于分布式计算的技术,允许不同网络上的对象或服务之间进行交互。它实现了对象请求代理(ORB)的概念,...

    iManager U2000 V100R006C02 北向CORBA接口 用户指南

    《iManager U2000 V100R006C02 北向CORBA接口 用户指南》是华为公司为网络管理平台iManager U2000提供的一份详细的技术文档,主要针对该系统如何通过CORBA(Common Object Request Broker Architecture,公共对象...

    com 与corba 本质与互用

    CORBA支持多种传输协议和编码格式,如IIOP(Internet Inter-ORB Protocol)和GIOP(General Inter-ORB Protocol),确保了跨网络和系统的互操作性。 当涉及到COM与CORBA的互用时,由于它们的设计理念和实现机制不同...

    corba实例(java版)

    CORBA(Common Object Request Broker Architecture,公共对象请求代理体系结构)是用于分布式计算的一个标准,它允许不同系统间的对象进行交互,仿佛它们都在同一进程中。Java版的CORBA利用Java平台的强大功能,...

    Ultra Corba Simulator (Corba 模拟器)1.3.6

    ** Ultra Corba Simulator 1.3.6:深入理解与应用** Ultra Corba Simulator是一款针对Corba技术的专业模拟工具,版本为1.3.6。Corba,全称为Common Object Request Broker Architecture(通用对象请求代理架构),...

    《Advanced CORBA Programming with C》(英文原版)高清pdf

    《Advanced CORBA Programming with C》是一本面向有C++基础的程序员的专业书籍,旨在深入探讨CORBA(Common Object Request Broker Architecture)技术在C++中的高级编程应用。这本书以英文原版的形式提供,确保了...

    CORBA技术及实例

    ### CORBA技术详解与实践案例 #### 一、CORBA技术概述 CORBA(Common Object Request Broker Architecture,通用对象请求代理系统)是一种分布式计算环境下的软件架构标准,它由OMG(Object Management Group,...

    Java 编写通用 Corba Client 是测试Corba服务的好工具

    Java 编写的通用Corba Client是一种强大的工具,用于测试和交互与Corba(Common Object Request Broker Architecture)服务。Corba是一种标准的中间件技术,它允许不同操作系统、编程语言和网络环境中的对象相互通信...

    CORBA标准 part 2 CORBA互操作 - 版本 3.2 (2011)

    CORBA(Common Object Request Broker Architecture)标准,即通用对象请求代理体系结构,是由OMG(Object Management Group)定义的分布式计算的关键技术之一。CORBA标准旨在提供一种机制,允许不同的软件组件...

    UCS (Ultra Corba Simulator)  中文使用说明书

    UCS Ultra Corba Simulator 中文使用说明书 UCS Ultra Corba Simulator 是一个模拟器工具,旨在帮助用户快速学习和掌握 Corba 技术。下面是对 UCS 用户手册的详细解释和知识点总结: 项目背景 UCS Ultra Corba ...

    CORBA 原理及应用

    ### CORBA原理及应用知识点详解 #### 一、CORBA简介 - **CORBA**(Common Object Request Broker Architecture,通用对象请求代理体系结构)是一种分布式计算标准,旨在提供跨网络和平台之间的对象交互能力。 - **...

    corba程序源代码

    【标题】:CORBA程序源代码 【描述】:这些源代码示例涵盖了多个使用CORBA(Common Object Request Broker Architecture)技术的程序,包括Java RMI(Remote Method Invocation)、Inprocess通信、简单的HELLO世界...

    corba核心规范-- 一个简单的CORBA/Java示例

    **CORBA核心规范——一个简单的CORBA/Java示例** **一、CORBA基础** **CORBA(Common Object Request Broker Architecture)**,即公共对象请求代理架构,是一种跨平台、跨语言的分布式计算模型,旨在解决不同系统...

    基于C++的CORBA实现

    **基于C++的CORBA实现** CORBA(Common Object Request Broker Architecture)是一种开放的、标准的中间件技术,用于构建跨平台、跨网络、跨语言的分布式计算环境。它允许不同计算机上的对象相互通信,仿佛它们都在...

    CORBA技术系列丛书之-CORBA服务

    CORBA(Common Object Request Broker Architecture,公共对象请求代理体系结构)是一种分布式计算技术,它允许在不同的操作系统、网络环境和编程语言之间进行无缝通信。CORBA技术系列丛书之"CORBA服务"着重于深入...

    corba的ppt文档

    【CORBA概述】 CORBA(Common Object Request Broker Architecture,公用对象请求代理体系结构)是一种分布式计算框架,旨在解决不同计算平台上的对象之间的交互问题。它由Object Management Group(OMG)组织提出...

    JAVA corba编写例子

    ### JAVA与CORBA的深度整合:构建服务端与客户端实例 #### 一、CORBA概述与架构 CORBA(Common Object Request Broker Architecture)是对象管理组织(OMG)提出的一种面向对象的分布式计算架构标准,旨在实现不同...

Global site tag (gtag.js) - Google Analytics