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构造可以互操作的应用。
ORB可看作是在对象之间建立客户/服务关系的一种中间件。基于ORB,客户可以透明的调用服务对象提供的方法,该服务对象可以与客 户运行在同一台机器上,也可以运行在其他机器上通过网络与客户进行交互。ORB截取客户发送的请求,并负责在该软件总线上找到实现该请求的服务对象,然后 完成参数、方法调用,并返回最终结果。
CORBA 优势
l CORBA 在面向对象的标准化和互操作上迈出了坚实的一步。使用CORBA,用户能在不知道软件和硬件平台以及网络位置的情况下透明的获取信息;
l CORBA自动进行许多网络规划任务如对象注册、定位、激活;多路径请求;分帧和错误处理机制;并行处理以及执行操作;
l 作为面向对象系统中的通信核心, CORBA为当代的计算环境中带来了真正意义上的互联;
l CORBA定义了一种面向对象的软件构件构造方法,使不同的应用可以共享由此构造出来的软件构件;
l 每个对象都将其内部操作细节封装起来,同时又向外界提供了精确定义的接口,从而降低了应用系统的复杂性,也降低了软件 开发费用;
l CORBA的平台无关性实现了对象的跨平台引用,开发人员可以在更大的范围内选择最实用的对象加入到自己的应用系统之中;
l CORBA的语言无关性使开发人员可以在更大的范围内相互利用别人的编程技能和成果, 是实现软件复用的实用化工具;
CORBA的用途
l 存取来自现行桌面应用程序的分布信息和资源;
l 使现有业务数据和系统成为可供利用的网络资源;
l 为某一特定业务用的定制的功能和能力来增强现行桌面工具和应用程序;
l 改变和发展基于网络的系统以反映新的拓扑结构或新资源;
l 目前corba主要适合于分布式跨平台的信息管理应用;比较典型的应用是大规模的企业信息管理和事务处理应用以及行业解决方案(数据库中的中间件技术)和在网管系统中多厂商互连互通解决方案。
CORBA的技术背景
l 面向对象OO技术的兴起;
l 客户/服务器模式的普遍应用;
l 集成已有系统及通信和实现细节的需求;
l 现有分布处理机制和方法存在着不足之处;
基于分布式对象计算的CORBA
l 在CORBA环境中,应用程序的集成是基于面向对象模型的;
l CORBA通过分布式对象计算,即分布式计算和面向对象计算的结合,以实现软件重用,这是开发下一代软件的基础;
l 分布式对象计算的组成
分布式计算和对象模型的结合:CORBA是这两者的完美结合,这两部分不仅带来了自身的优点,而且完善了对方的优点;
代理器的使用:CORBA使用代理器来处理系统中客户机与服务器之间的消息;
l 什么是分布式计算
分布式计算是两个或多个软件互相共享信息;
大部分分布式计算是基于客户/服务器模型的;
分布式计算可以拥有稀有资源共享、平衡机器负载等优点,使计算机资源的使用更为有效;
CORBA采用一定的手段增强分布式计算:
l CORBA采用增强分布式计算的手段
允许客户机与器间灵活变化的关系;
加入一个称为代理的中介;
允许服务器有多个进程;
支持同步及异步两种通信形式;
l 对象模型是对象计算中的概念,是考虑问题及其可能解决方案的概念性框架;对象模型的基础是对象概念
上的,对象提供了把行为和属性结合成一单独实体的手段;
l 对象模型具有以下优点:定义一个基于现实世界的系统模型把系统逻辑地分成能完成特定任务的对象,当需求改变时扩展模块;
l 在CORBA中分布式计算和对象模型的结合实现了相互促进,CORBA在分布式计算和对象模型环境中加入了下列内容:
分布式计算方面的增强: 对分布式计算环境,CORBA在环境中加入了特定对象的引用。在CORBA中,要完成某个操作,所需要做的仅仅是请求某个有能力完成该操作的对象去完成它,客户机不需要知道更多的信息;
对象模型方面的增强: 对于对象模型,CORBA加入了代理器的概念。代理器使应用程序不需要知道对象在网络上哪个地方和对方是如何工作的就可以进行交互,只有代理器需要知道CORBA服务器和客户机在网络上的位置;
CORBA――通信中间件
l 中间件是处于应用程序及应用程序所在系统的内部工作方式之间的软件;
l 中间件把应用程序与系统所依附软件的较低层细节和复杂性隔离开来,使应用程序开发者只处理某种类型的单个API――其他细
节则可以由中间件处理;
l CORBA可以被称为通信中间件,它可以看成是把应用程序和通信核心的细节分离的软件;
CORBA规范的技术特点
l 引入了代理的概念;
l 所实现的客户方程序与服务器方程序的完全分离;
l 将分布计算同面向对象的概念相互结合;
l 提供了软件总线的机制;
l 分层的设计原则与实现方法;
OMG组织成立后不久就制订了OMA(Object Management Architecture,对象管理体系结构)参考模型,该模型 描述了OMG规范所遵循的概念化的基础结构。OMA由对象请求代理ORB、对象服务、公共设施、域接口和应用接口这几个部分组成,其核心部分是对象请求代 理ORB(Object Request Broker)。对象服务是为使用和实现对象而提供的基本服务集合;公共设施是向终端用户应用程序提供的一组共 享服务接口;域接口是为应用领域服务而提供的接口;应用接口是由开发商提供的产品,用于它们的接口,不属于OMG标准的内容。ORB提供了一种机制,通过 这种机制,对象可以透明的发出请求和接收响应。分布的、可以互操作的对象可以利用ORB构造可以互操作的应用。
ORB可看作是在对象之间建立客户/服务关系的一种中间件。基于ORB,客户可以透明的调用服务对象提供的方法,该服务对象可以与客 户运行在同一台机器上,也可以运行在其他机器上通过网络与客户进行交互。ORB截取客户发送的请求,并负责在该软件总线上找到实现该请求的服务对象,然后 完成参数、方法调用,并返回最终结果。
CORBA 优势
l CORBA 在面向对象的标准化和互操作上迈出了坚实的一步。使用CORBA,用户能在不知道软件和硬件平台以及网络位置的情况下透明的获取信息;
l CORBA自动进行许多网络规划任务如对象注册、定位、激活;多路径请求;分帧和错误处理机制;并行处理以及执行操作;
l 作为面向对象系统中的通信核心, CORBA为当代的计算环境中带来了真正意义上的互联;
l CORBA定义了一种面向对象的软件构件构造方法,使不同的应用可以共享由此构造出来的软件构件;
l 每个对象都将其内部操作细节封装起来,同时又向外界提供了精确定义的接口,从而降低了应用系统的复杂性,也降低了软件 开发费用;
l CORBA的平台无关性实现了对象的跨平台引用,开发人员可以在更大的范围内选择最实用的对象加入到自己的应用系统之中;
l CORBA的语言无关性使开发人员可以在更大的范围内相互利用别人的编程技能和成果, 是实现软件复用的实用化工具;
CORBA的用途
l 存取来自现行桌面应用程序的分布信息和资源;
l 使现有业务数据和系统成为可供利用的网络资源;
l 为某一特定业务用的定制的功能和能力来增强现行桌面工具和应用程序;
l 改变和发展基于网络的系统以反映新的拓扑结构或新资源;
l 目前corba主要适合于分布式跨平台的信息管理应用;比较典型的应用是大规模的企业信息管理和事务处理应用以及行业解决方案(数据库中的中间件技术)和在网管系统中多厂商互连互通解决方案。
CORBA的技术背景
l 面向对象OO技术的兴起;
l 客户/服务器模式的普遍应用;
l 集成已有系统及通信和实现细节的需求;
l 现有分布处理机制和方法存在着不足之处;
基于分布式对象计算的CORBA
l 在CORBA环境中,应用程序的集成是基于面向对象模型的;
l CORBA通过分布式对象计算,即分布式计算和面向对象计算的结合,以实现软件重用,这是开发下一代软件的基础;
l 分布式对象计算的组成
分布式计算和对象模型的结合:CORBA是这两者的完美结合,这两部分不仅带来了自身的优点,而且完善了对方的优点;
代理器的使用:CORBA使用代理器来处理系统中客户机与服务器之间的消息;
l 什么是分布式计算
分布式计算是两个或多个软件互相共享信息;
大部分分布式计算是基于客户/服务器模型的;
分布式计算可以拥有稀有资源共享、平衡机器负载等优点,使计算机资源的使用更为有效;
CORBA采用一定的手段增强分布式计算:
l CORBA采用增强分布式计算的手段
允许客户机与器间灵活变化的关系;
加入一个称为代理的中介;
允许服务器有多个进程;
支持同步及异步两种通信形式;
l 对象模型是对象计算中的概念,是考虑问题及其可能解决方案的概念性框架;对象模型的基础是对象概念
上的,对象提供了把行为和属性结合成一单独实体的手段;
l 对象模型具有以下优点:定义一个基于现实世界的系统模型把系统逻辑地分成能完成特定任务的对象,当需求改变时扩展模块;
l 在CORBA中分布式计算和对象模型的结合实现了相互促进,CORBA在分布式计算和对象模型环境中加入了下列内容:
分布式计算方面的增强: 对分布式计算环境,CORBA在环境中加入了特定对象的引用。在CORBA中,要完成某个操作,所需要做的仅仅是请求某个有能力完成该操作的对象去完成它,客户机不需要知道更多的信息;
对象模型方面的增强: 对于对象模型,CORBA加入了代理器的概念。代理器使应用程序不需要知道对象在网络上哪个地方和对方是如何工作的就可以进行交互,只有代理器需要知道CORBA服务器和客户机在网络上的位置;
CORBA――通信中间件
l 中间件是处于应用程序及应用程序所在系统的内部工作方式之间的软件;
l 中间件把应用程序与系统所依附软件的较低层细节和复杂性隔离开来,使应用程序开发者只处理某种类型的单个API――其他细
节则可以由中间件处理;
l CORBA可以被称为通信中间件,它可以看成是把应用程序和通信核心的细节分离的软件;
CORBA规范的技术特点
l 引入了代理的概念;
l 所实现的客户方程序与服务器方程序的完全分离;
l 将分布计算同面向对象的概念相互结合;
l 提供了软件总线的机制;
l 分层的设计原则与实现方法;