资源描述:
《基于CORBA 实现专业领域软件在网络环境下的集成》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第32卷 第3期 航空计算技术 Vol.32No.32002年9月 AeronauticalComputerTechniqueSep.2002文章编号:1671-654(2002)03-0052-03基于CORBA实现专业领域软件在网络环境下的集成蔡 苗,余雄庆(南京航空航天大学,江苏南京210016)摘 要:如何有效地将已有系统集成或泛的应用前景。移植到新系统中,是集成系统开发中提本文基于CORBA技术探讨如何实现遗留系统出的一个重要问题。本文基于CO
2、RBA集成的方法,并通过实例重点阐述如何将已有的系技术探讨如何实现遗留系统集成的方统封装成CORBA对象的步骤。法,并通过实例重点阐述如何将已有的系统封装成CORBA对象的步骤。关键词:CORBA;系统集成;一体化设计1 基于CORBA技术实现集成的方法中图分类号:TP393CORBA技术之所以提供了一种很好的实现系文献标识码:A统集成的方案,是因为它有如下特点:1)引入了代理的概念;2)实现客户方程序与服务方程序的完全分引言离;3)将分布式计算与面向对象相结合;4)提供了软随着计算机在各行各业的广泛深入的应用,用件总
3、线的机制;5)分层的设计原则和实现方式。户已经积累了一批极具价值的系统,通常这些系统本节首先对CORBA体系结构的工作原理作简改造和重写的代价很高,所以在构造新系统时,用户要介绍,然后介绍对应用系统的进行封装原理和步希望能够利用这些资源。例如,在研制飞机多学科骤。一体化设计系统时,需要利用气动、结构、重量、推进1.1 基于CORBA的体系结构的工作原理系统、性能分析等学科的计算软件,如果重写的各学在一个基于CORBA的系统中,一个应用由许科计算软件,代价会很高。而另一方面,各学科组已多对象组成,通过对象间的交互来实现应
4、用的功能,开发或积累了各种计算软件系统,这些资源用不同而对象间的交互则是通过ORB来传递的。对于一的语言编写的,分布在不同专业部门的计算机中。个交互过程而言,有客户和服务器之分,这实际上是因此,如何有效地将这些已有系统集成或移植到新对客户/服务器结构的一种应用。但这里的客户、服系统中,并且在将来尽可能使它们不再成为“孤岛”务器是完全分离的,服务器调用具体的对象实现并系统,是集成系统开发中提出的迫切需求。对客户提供服务,客户获得服务器提供的服务。CORBA(CommonObjectRequestBrokerArchi2服
5、务器端的工作原理:1)初始化对象请求代理tecture)技术为解决上述问题提供了一条新的有效(ORB);2)用所需策略创建一个可移植对象适配器[1,2](POA);3)创建帐户管理员的servant;4)激活ser2途经。CORBA规范是由OMG(ObjectManage2mentGroup)组织制订的工业标准,它充分体现了分vant;5)激活POA管理器和POA;6)等待接入的请布对象计算系统的异构性、互操作性、可迁移性和可求。重用性。使用该技术能使程序设计者免去创建和管客户端:客户通过访问目标(服务)对象的引用理分
6、布式应用中许多乏味的和易出错的细节,对于来调用并执行目标(服务)对象的操作。客户仅仅了快速研制和开发各种复杂的分布式应用系统具有广解目标对象的逻辑结构—目标对象的接口及其参收稿日期:2002-05-16基金项目:本文得到航空科学基金项目(00B52017)资助。作者简介:蔡苗(1976-),女,安徽太湖人,硕士研究生,主要研究方向为分布式技术。©1995-2004TsinghuaTongfangOpticalDiscCo.,Ltd.Allrightsreserved.2002年9月 蔡 苗等:基于CORBA
7、实现专业领域软件在网络环境下的集成 53数,目标对象的实现方式对于客户而言都是透明的。通过IDL语言实现的。用IDL定义接口,使用不同的IDL编译器对文件进行编译,得到相应开发语言的stubs或skeleton。Stubs是用来产生CORBA服务请求的客户端接口,skeleton是服务器对象的框架。在skeleton基础上实现实际的CORBA服务对象。对象实现的形式多种多样,可以是一个独立的服务器,可以是一个类库,也可以是被封装的一个应用系统。用IDL定义的客户端的接口是统一的,从图1 单个ORB体系结构而实
8、现了不同开发语言系统之间的通讯和互操作。在单个ORB(见图1)支撑的环境中,当一个客户要使用某个对象实现所提供的服务时,其操作步骤如下:1)客户通过某种方式找到特定对象实现的对象引用,这些查询方式包括:使用ORB接口中提供的操作resolve-initial-references;使用CORBA对象服务中的名录服务;通过其他接口的