预览加载中,请您耐心等待几秒...
1/4
2/4
3/4
4/4

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第23卷第5期重庆工商大学学报(自然科学版)2006年10月 Vol.23No.5JChongqingTechnolBusinessUniv.(NatSciEd)Oct.2006 文章编号:1672-058X(2006)05-0449-04 基于SOA和MDA的构件技术应用研究 汪卫星,张梁平 (重庆工商大学应用技术学院,重庆400067) 摘要:介绍了面向服务的体系结构(Service-OrientedArchitecture,SOA)的思想和原则、模 型驱动架构(ModelDrivenArchitecture,MDA)原理、构件技术应用关键技术、开源软件特性;根据 商业软件开发过程中的特性,提出了一种实用软件开发框架。此框架是基于SQA架构思想和 MDA架构实现原理,按照构件技术组装方法,运用开源软件技术快速搭建应用软件;通过一个具 体商业软件OSWit的开发实例说明该方案的实用价值及理论意义。 关键词:SOA;构件技术;开源软件;MDA;业务模型 中图分类号:TP393文献标识码:A 近年来,面向构件技术的应用研究在国内外IT业得到了重视,许多大工程、大项目都纷纷采用此技 术。在商业软件中应用此技术的关键是如何找到一个切入点,以使成本、进度、质量处于一个平稳线[1]。 近来将构件技术与面向服务的体系结构(Service-OrientedArchitecture,SOA)相结合是一个新的研究方 向。模型驱动架构(ModelDrivenArchitecture,MDA)将会成为对未来IT技术产生重大影响的开发方法, 它起源于分离系统规约和平台实现的思想,目标是实现模型直接转化生成代码。目前公开源代码已经发 展到超出了技术和商业的领域。开源技术的发展必然会给软件行业的发展带来深远的影响。在此结合 当前这方面技术的最新研究,提出了一个基于SOA和MDA思想,应用构件技术和开源技术进行商业软件 开发方案,为国内外应用软件开发提供一种新的思路和方法。 1框架的原理与方法 (1)面向服务的体系结构。SOA是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这 些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它独立于实现服务的 硬件平台、操作系统和编程语言。这使得构建在各种系统中的服务可以以一种统一和通用的方式进行交 互。要应用SOA思想来指导应用软件开发,首先要花时间考虑系统(或企业)业务、与合作伙伴系统的交 互、希望用户怎样与服务进行交互以及系统(或企业)希望利用服务实现什么。这种思考将反映到体系结 构设计和应用程序如何进行内部和外部传送上来。 (2)MDA架构。MDA架构模型不是一种辅助建模工具,而是开发过程的产品。MDA的构想是将开 发过程提升到更高的抽象层级———分析模型级,把针对特定计算平台的编码工作交由机器自动完成,这 样的情况下,业务逻辑与实现技术被成功地解耦,二者相对独立变化,因此模型的价值在包容已有技术的 条件下被最大化。其目的根源于软件开发的现状,在传统的软件开发方法中,随着项目的进展,设计阶段 产生的UML模型和代码之间的同步变得越来越困难———代码为了应付新增加的需求和新产生的想法而 不断变化,模型却一直停留在原地不动,这样的模型在一段时间之后就失去了它的价值。 MDA就是把模型本身也作为一个开发的工件。使用编译器来自动生成和实现架构如J2EE、.Net、 收稿日期:2006-04-30;修回日期:2006-06-10。 作者简介:汪卫星(1974-),男,重庆市人,硕士,从事应用软件开发、网格计算研究。 054重庆工商大学学报(自然科学版)第23卷 CORBA、COM相关联的数据转换、持久存储、转换完整性、数据格式等,甚至得到Webservices[2]。 按照MDA思想,从要建构的系统中分离出了两个抽象级别的模型:PIM(PlatformIndependentModel 平台无关模型)和PSM(PlatformSpecializeMode平台相关模型),PIM是一个纯粹不考虑实现技术的分析 模型,而PSM可以视为一个基于特定实现技术,比如J2EE的设计模型。设计师只需要建立表达业务逻辑 的PIM,剩下的工作都将由MDA引擎自动完成。描述业务逻辑的PIM将具有长久的价值,而针对特定平 台的PSM则可能会随着平台技术的进步而快速地迁移。在MDA开发过程中,系统的开发工作的最终产 品是PIM,从PIM到PSM及至代码实现都是由第三方的自动化工具来完成的。 (3)开源运动。开源软件是当今计算机工业界最具活力的领域。现在开源软件正在向浏览器、架构 软件、桌面软件、开发工具,甚至成套应用软件发展。开源就意味着大量软件是可以免费使用的,而且开 源运动发展迅速,在一定程度上