正题
要想了解基于CORBA的中间件,就得先了解CORBA是个什么东东,所以本篇先介绍CORBA的一些相关概念。
OMG——制定CORBA规范的组织
要想知道CORBA从哪里来,就得先知道OMG(Object Management Group ,对象管理组织),因为它就是负责制定和发布CORBA规范的组织,他的主要目标是促进分布式系统开发中面向对象技术理论与实践的发展。OMG现在有成员800 多个,包括IBM 、Sun、HP、西门子、爱立信等大型信息产品供应商;也包括像Oracle、BEA、Borland等知名软件开发商;同时还包括波音、花旗等最终用户和全球众多的高校与研究机构。
OMG所制定和发布的规范覆盖了从分析、设计到编码、部署、运行和管理的整个软件开发过程。这些规范是一种工业或行业标准。其中有我们熟悉的UML规范和今天要说到的CORBA规范。
CORBA规范
CORBA是一套面向分布式系统的中间件规范。
具体的讲,CORBA又包含一系列单独的规范,比如核心的ORB体系结构、接口定义语言IDL 、网络通信协议GIOP和IIOP 、可移植对象适配器POA 、CORBA组件模型CCM等。
OMA——CORBA基于的概念框架
OMA(ObjectManagement Architecture ,对象管理体系结构)描述了一个基于CORBA 的应用系统的基本结构与构成系统的构件的特性。
下面我们来看下OMA模型,它描述了一个基于CORBA的应用系统的基本结构。从图中我们可以直观地看到,软件系统有很多个构件(对象)构成,这些对象都挂接到了一个类似总线(ORB)的东西上;这些对象又被划分到不同的组中。图中方框加半圆的表示被封装成对象的非面向对象实现。
ORB——CORBA程序通信总线
在上面的OMA参考模型图中我们可以看到,ORB(Object Request Broker,对象请求代理)是OMA的核心基础设施,同时ORB也称为CORBA的程序通信总线。
既然ORB这么重要,那么它到底可以完成什么功能呢?
ORB负责完成查找请求的对象实现、让对象实现准备好接收请求、传递构成请求的数据等完成远程调用时底层通信任务所需的全部机制。
我们先来看一下ORB整体的一个体系结构。
这个ORB体系结构图可能不太理解,但是对于我们认识ORB是很有帮助的,通过该图我们可以知道ORB采用的是Stub/Skeleton结构来支持客户端与分布式对象的交互,那么ORB在这个交互过程中到底是怎么进行工作的呢,下面我们来看下ORB的一个简单的工作流程图:
关于CORBA,首先我们要知道它是一种规范,我们可以根据这种CORBA规范来开发中间件,开发前我们要知道它的几个相关的概念:OMG(对象管理组织),OMA(对象管理体系结构)和ORB(对象请求代理),除此之外,当然还要了解它的各种具体的规范,相比另外几种规范来讲,CORBA中间件的特点就是互操作性能较好,具体的表现要在实际的项目中去体会,下一篇我们会讲到基于J2EE规范的中间件,