📄 基于corba的企业应用集成.htm
字号:
实现应用系统集成和即插即用的一个关键是标准规范和相应的支持软件。近几年国际上研究较多,出现了一些规范和产品。目前,几种主流的分布式对象的标准和具体化模型主要有:OMG组织的CORBA、Microsoft的OLE/COM(DCOM)、CI
Labs的OpenDoc等。其中CORBA和OLE/COM(DCOM)是两个主要的标准规范,已成为应用系统集成和即插即用的主要支撑技术。<br>
国际性行业协会组织对象管理集团(OMG)是一个非盈利性组织。OMG组织自1989年成立开始就一直致力于在异构和分布的环境下开发和集成应用软件的标准,对象管理体系(OMA:Object
Management Architecture)就是OMG组织作为分布对象计算的参考模型。<br>
OMA体系结构的核心是对象请求代理,它支持对象服务、通用设施、领域接口和应用接口之间的交互和通信。在OMA参考模型的接口层示意图中,对象服务(Object
Services)是独立于应用领域、为各种分布式对象软件提供的一组基本服务的接口,如命名服务,事件服务等。通用设施(Common
Facilities)是向终端用户应用提供的一组服务接口,如组合文档等。领域接口(Domain
Interfaces)是针对某个应用领域(如产品数据管理PDM)而提供的服务接口。应用接口(Application
Interfaces)是特定的高层应用的对外接口。<br>
由于对象请求代理(ORB)是整个OMA体系结构的核心。CORBA规范得到了900余家厂商和机构的支持,包括:IBM、HP、SUN、COMPAQ、APPLE、Oracle、Sybase和麻省理工学院、华盛顿大学等。其目的是制定标准以实现在不同的网络和计算机环境下独立开发的应用软件的互用性,保证组件/部件的重用性、可移植性和互操作性,基于已商业化了的对象技术,使分散的应用软件的集成成为可能。<br>
CORBA为解放企业集成提供了规范<sup>[6,7]</sup>。它提供如下支持:从通用台式应用系统中存取分布信息和资源;使已有的企业数据和系统作为网络资源来利用;通过集成企业特殊的应用功能,增强通用台式应用系统和工具;支持软件可重用,集成新的技术和新的资源。<br>
随着Web应用的飞速扩展和CORBA技术的日益成熟,CORBA的Web使能技术已成为近年来CORBA研究的热点之一。目前,国际上主流的CORBA产品均已实现了Java语言版本的CORBA系统,如IONA公司的OrbixWeb,Enprise公司的VisiBroker等。这些产品采用了CORBA与Web相结合的解决方案,即Web浏览器通过下载Java
Applet形式的CORBA客户方程序来访问CORBA应用服务。这已成为实现CORBA的Web使能的主要方式。OMG已在最新的CORBA2.2规范中正式提出IDL-Java映射<sup>[8]</sup>。<br>
为了适应开放性、可扩展性和应用广泛性的需求,各个CAD/CAM/PDM/MRP
II生产厂商软件产品基于CORBA技术和Internet技术的重构工作已成为研究和开发的热点。<br>
PTC公司于98年5月宣布了其Windchill技术。Windchill技术是继承了EPD(Electronic
Product Definition)的思想,即集成产品生命周期的每一项产品开发过程,结合分散式的组织及供应链,形成集成协同的开发环境。Windchill采用Web/Java和CORBA技术,集成产品开发所需的CAD/CAM/CAE/PDM/ERP等各类应用系统和企业信息。</font></p>
<p ALIGN="left"><strong><font face="宋体" size="4">3 基于CORBA的企业应用集成方法及其实现技术</font></strong></p>
<p ALIGN="left"><font face="宋体" size="3"> 基于CORBA的企业应用集成的基本方法是以产品为对象,以产品开发过程为核心,采用面向对象和分布式对象计算技术,以企业模型、信息共享模型为基础,利用软总线和软构件技术,开发不同应用软件的接口适配器。实现应用软件的即插即用以及各应用软件之间的信息交换与共享[9]。<br>
参照OMG规范,企业应用系统集成可采用如图3所示的基于CORBA的企业应用集成体系结构。<br>
CORBA对象请求代理支持公共对象服务、通用设施、领域接口和应用接口之间的互操作性和交互通信。公共对象服务独立于应用领域,为各种分布式对象软件提供的一组基本服务(如事务服务、安全服务、命名服务和永久对象服务等)的接口;支持制造业的垂直领域通用设施向终端用户应用提供工作流、对象管理和安全管理等的服务接口;水平领域通用设施是针对某个应用领域(如PDM和MRP
II等)提供服务接口,并为特定的高层应用(如CAx/DFx等)提供对外接口。</font></p>
<p ALIGN="center"><img src="image1/t27-1.gif" width="333" height="168"
alt="t27-1.gif (3227 bytes)"></p>
<p ALIGN="center"><font face="宋体" size="3">图2对象管理体系结构(OMA)</font></p>
<p ALIGN="center"><img src="image1/t28-1.gif" width="435" height="210"
alt="t28-1.gif (6441 bytes)"></p>
<p ALIGN="center"><font face="宋体" size="3">图3 基于CORBA的应用软件集成模型</font></p>
<p ALIGN="left"><font face="宋体" size="3"> 具体的实现方法是在垂直领域通用设施开发和提供一组过程(工作流)建模、产品数据管理、组织管理、资源管理以及对象管理和安全管理等的服务接口。基于CORBA的应用软件集成模型开发各种应用集成的接口适配器,包括CAD、CAPP、CAM、PDM、MRPII等软件接口适配器。过程建模工具、过程执行和管理工具、产品数据管理、组织管理、资源管理是一个集成的综合多视图建模和管理工具。<br>
过程(包括活动模型、状态等对象)、产品数据、组织、资源和工具在CORBA/ORB支持下成为一个相互作用的对象集合,通过ORB,用户实现了各对象间的透明互操作。过程建模工具通过ORB调用产品数据管理对象服务,得到产品结构树,供用户浏览和选择,从而建立活动和产品数据间的联系;通过ORB调用组织管理工具和资源工具的对象方法,建立活动与组织、资源的关系。在过程执行和管理中,过程管理工具通过ORB向产品数据管理系统提交数据,并通知产品数据项的状态改变;通过ORB向组织管理系统请求对象服务,完成对用户登录权限的验证;通过ORB向资源管理系统实时地申请资源、释放资源;通过ORB实时激活插在软总线上的应用软件。<br>
应用接口适配器可以归纳为对服务与请求的封装集成(适配器层)。应用系统的集成和封装的具体实现可以划分为客户端封装和服务端封装两个部分,这两种封装都遵循如下通用和统一的封装操作模式。<br>
<b><sup>.</sup></b>服务端系统封装<br>
(1)通过对应用系统交互应用需求分析,得到相应应用系统服务功能及其描述。<br>
(2)根据得到的服务功能描述,使用标准的OMG IDL语言进行描述,从而得到应用系统服务功能的IDL文件。IDL文件中包括了应用系统服务的数据类型和服务接口,服务接口又可以分为属性和操作(包括操作名称、操作的参数和返回值等)。</font></p>
<p ALIGN="center"><img src="image1/t29-1.gif" width="655" height="411"
alt="t29-1.gif (17152 bytes)"></p>
<p ALIGN="center"><font face="宋体" size="3">图4 基于CORBA的企业应用集成的建模和集成方法</font></p>
<p ALIGN="left"><font face="宋体" size="3"> (3)通过CORBA软件总线系统提供的IDL编译器工具对应用系统服务的IDL描述文件进行转换,得到与应用系统开发所使用的编程语言或者二次开发所使用的编程语言一致的服务端架构(skeleton)文件。<br>
(4)通过直接调用相应应用系统的内部接口(在可以得到系统的原代码的情况下)、调用相应系统的二次开发接口或者其他方式,按照应用系统的服务接口描述实现具体的服务功能。通过将服务功能实现代码与前面阶段所生成的服务端架构代码联合编译得到实现相应系统服务功能的软构件,随后使用对象管理工具将该构件注册到CORBA软件总线支持环境中,以供与该应用系统交互客户端系统调用和访问。<br>
<b><sup>.</sup></b>客户端系统封装<br>
(1)分析客户系统的应用需求,列出需要调用的服务端系统及其相应的服务接口。<br>
(2)使用相应服务接口的IDL语言描述文件,通过CORBA软件总线系统提供的IDL编译器工具对应用系统系统服务的IDL描述文件进行转换,得到与应用系统开发所使用的编程语言或者扩展功能所使用二次开发的编程语言一致的客户端桩(stub)文件。<br>
(3)通过调用服务端系统(包括应用系统)服务接口,编写客户端系统对服务端系统的访问和交互的代码。通过将客户端代码和前面阶段所生成的客户端代码联合编译形成客户系统(应用系统)功能的扩展嵌入到客户系统中。</font></p>
<p ALIGN="left"><strong><font face="宋体" size="4">4 结束语</font></strong></p>
<p ALIGN="left"><font face="宋体" size="3"> 本文分析了企业集成的特点,介绍了基于CORBA集成技术的研究开发和产品化的现状和趋势。基于CORBA的应用集成技术是实现企业应用中不同应用软件(如CAD、CAM、CAPP、DFA、DFM、PDM和MRPII等)之间的信息集成与共享、过程集成和生命周期数据管理的有效途径。提供支持多厂商、多平台、异构网络、不同操作系统和已有的传统应用软件的集成和即插即用的环境,使用单一接口提供多用户应用;它既能保护原有投资,又能快速引进新的应用,降低维护及支持费用。使企业在实施CIMS集成的过程中,按照集成的需求,方便地从应用系统集成套件中选择不同的应用软件,建造企业的现代集成制造的先进集成环境。本文探讨了一种基于CORBA的企业应用集成方法及其实现技术,可以为企业实施现代集成制造技术提供解决集成方案和实现方法。</font></p>
<p ALIGN="left"><font face="宋体" size="3">基金项目:<span class="jj">本文研究得到国家863/CIMS课题资助。</span><br>
作者简介:<span class="zj">颜雄雄,高工,主要研究领域为计算机应用,计算机控制与测量。全春来,研究员,主要研究领域CIMS、并行工程、控制与仿真软件。刘嘉,高工,主要研究领域为计算机应用,CAD/CAM系统集成。</span><br>
作者单位:<span class="zz">颜雄雄(航天科技集团一院101所,航天机电集团二院23所,北京,100854)<br>
全春来(航天科技集团一院101所,航天机电集团二院23所,北京,100854)<br>
刘嘉(航天科技集团一院101所,航天机电集团二院23所,北京,100854)</span></font></p>
<p ALIGN="left"><strong><font face="宋体" size="3">参考文献:</font></strong></p>
<p ALIGN="left"><span class="wx"><font face="宋体" size="3">[1] 李伯虎,全春来,顾冠群,张申生等.CIMS集成策略和框架.第四届中国计算机集成制造系统(CIMS)学术化文集,1996,哈尔滨.<br>
[2] Donald E.Carter,Barbara S.Baker.CE-Concurrent Engineering:The Product Development
Environment for the 1990's Addison-Wesley Publishing Company Inc.,1992.<br>
[3] Jack Conaway.Digital's CIM Strategy:Information Technology Integration,Digital
Equipment Corporation,1994,10.<br>
[4] Object Management Group.The Cmmon Object Request Broker:Architecture and
Specification,revision 2.0,1996,7.<br>
[5] CORBA 2.0,OMG,1995,6.<br>
[6] Steve Vinoski,CORBA:Integrating Diverse Applications Within Distributed Heterog
enous Environments,IEEE Communication Magzine,1997,14(2).<br>
[7] Annrai O'Toole,Making Software Work Together,Orbix Journal,1998.<br>
[8] David Curtis.Java,RMI and CORBA.White Paper of Object Management Group,1996.<br>
[9] 全春来,李伯虎,张申生.顾冠群,陈加栋,刘嘉,汪芸.并行工程集成框架CEIF.第五届中国计算机集成制造系统(CIMS)学术会议论文集,1998,8,成都.</font></span></p>
<p ALIGN="right"><font face="宋体" size="3">收稿日期:<span class="sg">1998-06-16</span></font></td>
</tr>
</table>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -