【CORBA介绍】

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服务器和客户机在网络上的位置

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值