一. 基本概念
CORBA,断句成C-ORB-A,译为“通用对象请求代理结构”。CORBA是较早的中间件技术,作为“对象总线”的功能体现在ORB一词中。
CORBA的底层结构是基于面向对象模型的,由OMG接口描述语言(OMG Interface Definition Language,OMG IDL)、对象请求代理(Objec tRequest Broker,ORB)和IIOP标准协议(Internet Inter ORB Protocol,也称网络ORB交换协议)3个关键模块组成。
二. IDL
接口定义语言(IDL)用来定义CORBA对象使用的、应用组件之间的接口。它不是过程语言,它只能定义接口,而不是去实现某个接口。
IDL独立于任何编程语言,用IDL编译器可以将它映射为其它常用的语言,如C++,C,JAVA,COBOL等等。
IDL框架主要包括四种元素:1)模块 2)接口 3)操作 4)数据类型
三. ORB
对象请求代理(ORB),它是CORBA的基础,是分布环境下,CORBA应用使用的、基于对象模型的软件。它的基本职责是解决对象引用的请求和建立应用对象之间的联结,
通过标准接口,使这种联结独立于所使用的硬件和软件的平台,从而保证了对平台的透明性以及对操作系统、网络协议和编程语言的透明性。
ORB的核心作用:
第一步:
- 当客户激活一个调用操作时,操作中指出的目标对象的对象引用经码根传递ORB核心。ORB核心代表客户自动寻找对应的服务器
- 找到服务器后,ORB要确保该服务器做好接受请求的准备工作
第二步:
- 客户端的ORB核心接受被调用操作的参数,并将它组码为网络可接收的格式。
- 服务端的ORB核心将来自网络的操作参数进行解组,然后送给服务器,并启动服务器执行所调用的操作
第三步:
- 执行操作后,如有返回参数,ORB核心将它组码后传入网络。客户端ORB核心对它进行解码,并将操作结果返回客户。
四. IIOP
GIOP:General Inter ORB Protocol,通用ORB间协议,是一类抽象的协议,指定了转换语法和消息格式的标准集,运行独立开发的ORB可以在任何一个面向连接的传递中进行通信。
GIOP包括三个要素:编码方式,消息格式,对底层网络传输的要求。
IIOP:Internet Inter-ORB Protocol,因特网ORB间协议,指定GIOP如何在TCP/IP上实现。