CORBA(Common Object Request Broker Architecture,公共对象请求代理体系结构,通用对象请求代理体系结构)是由OMG组织制订的一种标准的面向对象应用程 序体系规范。或者说 CORBA体系结构是对象管理组织(OMG)为解决分布式处理环境(DCE)中,硬件和软件系统的互连而提出的一种解决方案;OMG组织是一个国际性的非盈利组织,其职责是为应用开发提供一个公共框架,制订工业指南和对象管理规范,加快对象技术的发展。
IDL 是Interface Definition Language(接口定义语言)的缩写,是OMG定义的标准语言,用于定义所有 CORBA 对象的接口。IDL接口将声明一批操作、异常和属性。每个操作都有一个用法说明。用法说明定义了操作的名称、参数、结果和异常。OMG IDL不包括操作的实现;相反,正如其名称所示,它只是一种用来定义接口的语言
CORBA标准主要分为三个部分:接口定义语言(IDL)、对象请求代理(ORB)以及ORB之间的互操作协议IIOP。
IDL是CORBA定义的语言,CORBA还定义了IDL到各种语言的映射,标准映射的有Ada、C、C++、Smalltalk、Java、以及Python。有了这些映射,就可以将IDL翻译成各种语言,从而实现了跨语言。
CORBA体系的主要内容包括以下几部分。
(1)对象请求代理 (Object Request Broker,ORB)。负责对象在分布环境中透明地收发请求和响应,它是构建分布对象应用、在异构或同构环境下实现应用间互操作的基础。
(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用途
●存取来自现行桌面应用程序的分布信息和资源;
●使现有业务数据和系统成为可供利用的网络资源;
●为某一特定业务用的定制的功能和能力来增强现行桌面工具和应用程序;
●改变和发展基于网络的系统以反映新的拓扑结构或新资源;
CORBA背景
●面向对象技术的兴起;
●客户/服务器模式的普遍应用;
●集成已有系统及通信和实现细节的需求;
●现有分布处理机制和方法存在着不足之处。
CORBA优点
面向对象的软件,以数据为中心设计,对象类既具有模块的封装性和类属等特性,还具有继承特性,极大地提高了类的可扩充性和可再用能力。对象类较之于传统软件的功能模块而另具有的优点是:
(1)易于理解,具有完整的语义特征;
(2)易于扩充和修改,具有较高的通用性和适应性;
(3)易于构造组装,具有规范的外部接口。
CORBA允许用户以两种不同的方式提出对象请求:
1)静态调用:
通过给定接口的存根,在编译了对象代码后,进入客户端的程序。因此,静态调用必须在编译时就知道对象及其类型。
2)动态调用:
通过ORB的动态调用接口DII,在运行时生成访问对象的代码。
不管客户以哪一种形式提出请求,ORB的任务是:找出所要对象的位置,激活该对象,向对象传递此请求。对象执行所请求的服务后,把输出值返回给ORB,然后再由ORB返回给客户。
CORBA不足
尽管有多家供应商提供CORBA产品,但是仍找不到能够单独为异种网络中的所有CORBA系统
CORBA系统环境提供实现的供应商。不同的CORBA实现之间会出现缺乏互操作性的现象,从而造成一些问题;而且,由于供应商常常会自行定义扩展,而CORBA又缺乏针对多线程环境的规范,对于像C或C++这样的语言,源码兼容性并未完全实现。
CORBA过于复杂,要熟悉CORBA,并进行相应的设计和编程,需要许多个月来掌握,而要达到专家水平,则需要好几年。
分布式
●在CORBA环境中,应用程序的集成是基于面向对象模型的;
●CORBA通过分布式对象计算,即分布式计算和面向对象计算的结合,以实现软件重用,这是开发下一代软件的基础;
●分布式对象计算的组成
分布式计算和对象模型的结合:CORBA是这两者的完美结合,这两部分不仅带来了自身的优点,而且完善了对方的优点;
代理器的使用:CORBA使用代理器来处理系统中客户机与服务器之间的消息;
●什么是分布式计算
分布式计算是两个或多个软件互相共享信息;
大部分分布式计算是基于客户/服务器模型的;
分布式计算可以拥有稀有资源共享、平衡机器负载等优点,使计算机资源的使用更为有效;
CORBA采用一定的手段增强分布式计算:
●CORBA采用增强分布式计算的手段
允许客户机与器间灵活变化的关系;
加入一个称为代理的中介;
允许服务器有多个进程;
支持同步及异步两种通信形式;
●对象模型是对象计算中的概念,是考虑问题及其可能解决方案的概念性框架; 对象模型的基础是对象概念之上的,对象提供了把行为和属性结合成一单独实体的手段;
●使用对象模型具有以下优点:定义一个基于现实世界的系统模型
把系统逻辑地分成能完成特定任务的对象
当需求改变时扩展模块
● 在CORBA中分布式计算和对象模型的结合实现了相互促进,CORBA在分布式计算和对象模型环境中加入了下列内容:
●分布式计算方面的增强:对分布式计算环境,CORBA在环境中加入了特定对象的引用。在CORBA中,要完成某个操作,所需要做的仅仅是请求某个有能力完成该操作的对象去完成它,客户机不需要知道更多的信息;
对象模型方面的增强:对于对象模型,CORBA加入了代理器的概念。代理器使应用程序不需要知道对象在网络上哪个地方和对方是如何工作的就可以进行交互,只有代理器需要知道CORBA服务器和客户机在网络上的位置
相关推荐
### CORBA基本概念详解 #### 一、CORBA概述 CORBA(Common Object Request Broker Architecture,公共对象请求代理结构)是由OMG(Object Management Group,对象管理组织)提出的一个分布式对象计算规范。CORBA...
介绍\技术介绍\CORBA
- `CORBA介绍.pdf`可能包含CORBA的基本概念、体系结构和工作原理的概述。 - `corba-java-quickstart.pdf`可能是Java环境下快速启动CORBA应用的指南,包括配置ORB、编写IDL文件、编译和运行示例代码等内容。 - `...
### CORBA技术详解 #### 一、CORBA技术概述 CORBA(Common Object Request Broker Architecture,通用对象请求代理体系)是一种分布式计算环境下的标准技术框架,由OMG(Object Management Group,对象管理组织)...
### CORBA规范详解 #### 一、CORBA概述 **CORBA**,即**Common Object Request Broker Architecture**(公共对象请求代理体系结构),是**OMG**(Object Management Group)组织为了解决分布式处理环境(DCE)中的...
CORBA(Common Object Request Broker Architecture,通用对象请求代理体系结构)是一种面向对象的中间件标准,由对象管理组织(OMG)制定。它允许不同语言编写的程序在不同的平台上进行通信,实现分布式计算环境下...
在"1_Start - 基本概念"中,主要介绍了CORBA的核心概念,包括ORB(Object Request Broker)、IR(Interface Repository)、GIOP(General Inter-ORB Protocol)以及IIOP(Internet Inter-ORB Protocol)。...
- **编程示例**:书中详细介绍了如何使用CORBA进行编程,包括如何定义接口、实现对象以及如何使用ORB进行对象间通信。 #### 五、CORBA的常用服务 - **命名服务**:提供全局唯一标识符,帮助客户端定位所需的服务...
CORBA技术,全称为Common Object Request Broker Architecture,是由OMG(Object Management Group)提出的一种分布式计算标准。CORBA旨在解决企业级系统中不同平台、操作系统和编程语言之间的互操作性问题,通过...
该书可能详细介绍了以上服务的原理、API用法以及实际应用场景,还可能涵盖了不同编程语言(如Java、C++)下实现CORBA服务的方法和技巧。对于学习和理解CORBA技术,掌握这些服务的使用是至关重要的。 此外,书中可能...
图书介绍: CORBA规范是目前最具生命力的跨平台技术,它独立于网络协议、编程语言和软硬件平台,支持异构的分布式计算和不同编程语言的对象重用。全书共22章,系统地介绍了CORBA的基本体系和概念,IDL语义和映射为...
本节基于给定的部分内容,详细介绍如何使用CORBA技术实现一个简单的客户端-服务器应用。 1. **编写IDL文件** 首先,需要定义一个IDL文件,如上文所示的 `Hello.idl`。这个文件定义了一个简单的接口 `Hello` 和一...
**CORBA 入门详解** **一、CORBA的基本概念** **公用对象请求代理(ORB)体系结构(Common Object Request Broker Architecture,CORBA)**是由对象管理组织(OMG)提出的一种标准,旨在解决分布式计算环境中的互...
1. **CORBA接口介绍**:详细解释了iManager U2000北向CORBA接口的工作原理,包括接口的定义、结构、通信协议和消息交换机制。 2. **接口配置**:指导用户如何在iManager U2000中配置和启用北向CORBA接口,可能包括...
这篇中文版的教程详细介绍了CORBA的核心概念、工作原理以及实际应用,其中包括了实例分析和一个CORBA聊天室的示例。 首先,我们需要理解CORBA的基础——ORB(Object Request Broker)。ORB是CORBA系统的心脏,它...
《用C++实现Corba》是一本针对初学者和进阶者全面介绍如何使用C++语言来实现CORBA(Common Object Request Broker Architecture,公共对象请求代理架构)的优秀教程。这本书详细阐述了CORBA的核心概念、设计原则以及...
CORBA规范文档版本3.3的第一部分主要介绍了CORBA接口的相关内容。该文档发布于2012年11月,并作为OMG正式文档的一部分。其标准文档的URL为:http://www.omg.org/spec/CORBA/3.3/Interfaces/PDF。这一部分包含了大量...
介绍CORBA的原理和作用
【CORBA 中文版(PDF)】文档主要介绍了CORBA(Common Object Request Broker Architecture)的基础原理和程序设计,这是用于实现分布式计算的技术。CORBA的关键特性在于它的面向对象特性和跨平台兼容性,区别于传统的...