什么是 CORBA 架构?
概述
通用对象请求代理体系架构 (CORBA) 是由对象管理组 (OMG) 定义的标准,它使以多种计算机语言编写并在多台计算机上运行的软件组件能够协同工作。
CORBA 是一种跨网络分发对象的标准,以便可以远程调用对这些对象的操作。CORBA 与特定的编程语言无关,任何具有 CORBA 绑定的语言都可以用来调用和实现 CORBA 对象。对象以称为接口定义语言 (IDL) 的语法进行描述。
公共对象请求代理体系结构(CORBA,Common Object Request Broker Architecture)是由 OMG(Object Management Group)定义的标准,旨在促进部署在不同平台上的系统的通信。
CORBA支持不同操作系统、编程语言和计算硬件上的系统之间的协作。
CORBA使用面向对象的模型(object-oriented model),尽管使用CORBA的系统不必是面向对象的。CORBA是分布式对象范式的一个例子(CORBA is an example of the distributed object paradigm)。
CORBA 实现了以不同语言编写并在不同计算机上运行的软件之间的通信。来自特定操作系统、编程语言和硬件平台的实现细节都不再由使用 CORBA 的开发人员负责。CORBA 规范了位于同一地址空间(应用程序)或远程地址空间(同一主机或网络上的远程主机)中的应用程序对象之间的方法调用语义。
CORBA 的主要特点有:
-
把中间件作为事务代理,完成请求与响应。服务请求映射、服务器的自动搜寻以及路由的自动设定等均由事务代理完成;
-
实现了客户端与服务器的完全分离。
-
提供软件总线机制,以使无论在何种环境下、采用何种语言开发软件,只要符口规范定义, 均能集成到分布式系统中;
-
实现了对象内部细节的完整封装,提供了对象方法的标准接口定义。一个能被客户程序使用,又能为服务器程序使用,修改对象的实现亦不会影响双方的序,因此软件重用率很高。
核心结构
CORBA 包括四个组件:
1.对象请求代理 (ORB,Object Request Broker )
对象请求代理 (ORB) 处理参数的通信、编组和解组(communication, marshaling, and unmarshaling),以便参数处理对于 CORBA 服务器和客户端应用程序是透明的。
The Object Request Broker (ORB) handles the communication, marshaling, and unmarshaling of parameters so that the parameter handling is transparent for a CORBA server and client applications.
2.CORBA 服务器(CORBA server)
CORBA 服务器创建 CORBA 对象并用 ORB 初始化它们。服务器将对 CORBA 对象的引用放置在命名服务中,以便客户端可以访问它们。
The CORBA server creates CORBA objects and initializes them with an ORB. The server places references to the CORBA object