CORBA体系结构研究.docx
文本预览下载声明
CORBA体系结构研究
摘 要:CORBA 规范被称为是面向21世纪的软件总线,已经成为流行的分布对象计算规范。本文重点分析了CORBA的体系结构和实现机制, 详细描述了ORB 的体系结构和CORBA 的运行流程,并给出了一个利用CORBA实现c++和java混合编程的实例。
关键词:CORBA; ORB;SMART AGENT;混合编程。
The Research of CORBA Architecture
Abstract: CORBA specification is called 21st century - oriented soft bus. Now, it becomes a popular distributed object computing specification. This paper analyses its Architecture and Implementation. And an example of implementing a HelloWorld program using c++ and java mixed programming based on CORBA is given in this paper.
Key words: CORBA; ORB; Smart Agent; Mixed Programming.
CORBA 简介
CORBA 是OMG 定义的分布式应用程序的标准结构。它的目的是为了简化开发分布式应用程序的复杂性,用于创建一个基于对象的跨平台的分布式结构。为了实现上述目标,OMG 组织制定了OMA(Object Management Architecture ,对象管理体系结构) 参考模型。该模型描述了OMG的规范所遵循的概念化的结构基础,其核心部分是ORB (Object Request Broker , 对象请求代理) 。基于ORB 机制就可以充分利用分布的、可以互操作的对象构造和可以互操作的应用。这种优势是明显的,用户可以在不了解实现交互细节的情况下,建立共享资源的应用。
CORBA 是一个透明的中介分布式对象标准,遵循CORBA 标准编写的分布式对象可以在许多平台中执行。以C + + Builder5. 0 中所使用的Inprise公司的VisiBroker 为例,目前其所支持的平台有Windows 95/ 98 , Windows NT , Solaris , HP - UX ,IBM AIX ,SGI , IBM 390 以及Dec。此外CORBA 也是一个语言无关的对象标准,同样可以使用多种语言来开发CORBA 对象及客户端应用程序,甚至可以混合各种语言来开发CORBA 应用系统。
2 CORBA 的体系结构
2. 1 CORBA 的体系结构与实现机制
在CORBA 应用系统中主要分为两部分:一是位于应用程序服务器中的CORBA 对象,另一个是应用使用的客户程序。这些客户程序通过CORBA技术使用CORBA 对象提供的服务来完成其工作。CORBA 规范定义了客户程序与服务程序中的对象
如何进行通信的机制。
对象请求代理(ORB) 负责处理它们之间的通信。ORB 提供了支持分布式处理的机制:为请求查找具体的对象实现, 让对象实现作好接收请求的准备,传送构成请求的数据等。客户所看到的接口完全独立于对象所在的物理位置,实现对象的编程语言,以及在对象的接口中没有反映出来的其他特性。ORB 通过IDL 程序框架或动态程序框架来定位相应的实现代码,传送参数,以及对对象实现的传送控制。
处理通信的对象分别称为存根和构架。客户端为存根(Stub) ,服务器端为构架(Skeleton) 。在客户端存根对象担当CORBA 对象的代理,当客户程序调用CORBA 对象的方法时,存根把调用传递给ORB ,ORB 使用Smart Agent (聪明代理) 程序定位CORBA 服务器,在CORBA 服务器上,ORB 应用程序把调用传递给构架,构架ORB 的通信需要经过BOA(Basic Object Adaptor ,基本对象适配器) ,CORBA 服务器运行指定的过程,然后由相反的路径返回结果。
图1 显示了CORBA 应用程序各部件之间的调用关系,ORB 在CORBA 客户和服务器之间传递方法调用和相关信息。
框架Skeleton存根Stub
框架Skeleton
存根Stub
对象实现
客户机应用
基本对象适配器
基本对象适配器
CORBASmart AgentORB
CORBA
Smart Agent
ORB
图1 CORBA 应用程序结构图
Smart Agent 用来定位CORBA 服务器。启动程序时,自动访问Smart Agent 。如果要支持CO
显示全部