admin 管理员组

文章数量: 1086019


2024年6月2日发(作者:eschool)

第l2期 

2008年l2月 

文章编号:1001—3997(2008)12—0225—03 

机械设计与制造 

Machinery Design&Manufacture 225 

:管: 

基于模型驱动框架的企业服务软件开发模式 

曩 

- 女— 

木 

理 

●卜 —■ 

吕瑞峰王刚 问晓先周宇鹏 

(哈尔滨工业大学机电工程学院,哈尔滨150001) 

ESA software development mode based on model driven architecture1 

LV Rui-feng,WANG Gang,WEN Xiao—xian,ZHOU Yu—peng 

(School of Mechatronics Engineering,Harbin Institute of Technology,Harbin 1 5000 1,China) 

l 【摘要】鉴于ESA软件的灵活性差、开发周期长、二次开发和升级困难等缺点,提出了一种基于模i 

;型驱动体系结构的可互操作、可配置、可执行的企业服务软件开发模式。在这种模式下,首先建立企业的; 

;业务现状模型,经过模型诊断、仿真、优化,建立起设计模型,以此模型为基础,逐步建立起面向过程的计2 

《算无关模型、面向对象的平台无关模型和面向模式的平台相关模型,最终转化为企业服务软件代码。 i 

; 关键词:企业建模;模型驱动框架;企业服务软件 l 

l 【Abstract】Considering the shortcomings of ESA(Enterprise service Architecture)sotfware such l 

i poorfiexibility,long development cycle and second development and upgrading dififcuhies,an interopera—l 

;ble,conifgurable,executable ESA so,ware development mode based on MDA(Model Driven Architecture)l 

l/s putforward.In this mode,thefirst step is to build enterprise AS—IS business model,through odelm diag-; 

i nosing,simulating,nd aoptimizing,the TO-BE business odeml Was build.On the basis ftohis TO-BE mod-; 

el,the process oriented IT CIM(Calculation Independent Mode1),object oriented PIM(Platform Indepen—i 

《dent Mode1)and pattern oriented PSM(Platform Speciifc Mode1)were built step by step.A t lsta 砘PSM l 

l Was transformed ESA so ̄ware∞de. 

i 

; 

Key words:Enterprise model;Model driven architecture;Enterprise service architecture soft-; 

i:: 

1引言 

, 5 ,: , ! , ,; ,:  , , , ,; :;、!/. ・ 

中图分类号:TH16,TP391文献标识码:A 

端结构,后来发展到C—S结构,现在又是B—s结构;采用的软件 

语言也不同,最初有用FORTRIN的,现在多用Java;信息技术的 

变化带来了软件的变化,作为企业而言,需要一个完整的信息系 

ERP、SCM等ESA软件使许多企业的生产经营管理发生了 

全新的变化。成功实施信息化的企业从中获得了显著的效益。但 

来面向市场的需求,所以软件中新的信息技术的注入,就需要 

是现在大多数的ESA软件存在的问题也不容忽视。主要表现在 

统,

要能够与老系统进行互操作,进行集成,这样,就需要一套方法, 

以下方面: 

 

(1)现有的ESA软件灵活性差,不能适应企业运行模式的迅 

来驱动企业的信息化系统能够动态变化。

将MDA软件开发方法应用于ESA软件的开发过程中可以 

速调整和系统重组。 

 

快速的市场变化,需要企业能够快速地响应市场需求。要想 

很大程度上解决这些问题。

OMG于2001年7月发布了模型驱动体系(MDA)结构。可以 

使企业能够快速响应市场需求,就需要企业生产方式和业务流程 

但所带来的影响却 

能够决速重组,这种快速重组导致了企业业务发生变化。传统的 

说MDA的初衷是为了解决软件互操作问题,

 

信息化系统更多的是面向过程,所以企业的业务一发生变化,传 

将远远超越互操作领域。MDA是一种基于模型的软件开发框架,

严格区分系统 

统信息系统就没用了,这就导致了信息化系统需要变化,就是说 

它的基本思想是将模型作为软件开发的核心产品,

软件要发生变化。传统的面向功能、面向过程的软件没有这种适 

的功能规约与实现细节。最初的MDA结构只有平台独立模型 

M,PlatformIndependentMode1)、平台相关模型(PSM,Plaftorm 

应性,一旦企业的业务发生变化,现在这种软件结构是不能适应 

(PI

ifc Mode1)和代码层,PIM用于描述软件系统的业务功能,它 

企业对信息化系统的需求变化,需要一种新的方法使我们的软件 

Speci

我们的信息化系统能够快速响应企业流程的变化。 

的方法来支撑和加快开发的速度、降低成本。 

(3)ESA软件的升级和二次开发困难。 

和功能实现的平台无关,PSM用于描述在特定的平台之下系统功 

PIM到PSM的转换和PSM道程序代码的转换,完成软件系统的 

开发过程。这些转换可以是手工的,也可以是由工具辅助的,或者 

(2)ESA软件的开发,周期漫长,成本很高。因此需要一套新 能的实现,代码层通过部署软件系统,生成软件系统代码。通过 

信息技术的发展日新月异,最初的ESA软件是主机带着终 是全部由工具自动完成口12]。 

★来稿日期:2008—02—07★基金项目:国家863计划资助项目(2006AA04Z165,2006AA01Z167),国家科技支撑计划资助项目(2006BAH02A09) 

226 吕瑞峰等:基于模型驱动框架的企业服务软件开发模式 第l2期 

2003年,OMG进一步完善了MDA结构,在MDA框架上又增 析人员,为企业实施BPR提供服务。建模人员常用的CIM—OSA 

加了计算无关模型(CIM,Computation Independent Mode1),CIM 

模型,GRAI模型、ARIS模型等都是面向业务需求的CIM。ICE 

不考虑计算机系统的作用,完全从业务的角度进行建模,是最高 

MDA框架提供了一套面向业务需求的CIM建模规范,采用 

层次的业务模型[31。系统的业务功能由CIM来描述,然后转换为 

EPMS(EnterpriseProcessModelSystem)对企业的资源、组织、过程 

PIM模型,PIM模型被称为软件模型,软件模型描述软件的功能, 

等进行建模。 

PSM和代码层涵义不变。MDA支持的软件开发过程,如图1所示 。 面向业务需求的CIM包括As—Is模型和TO—BE模型两层。 

图1 MDA支持的软件开发过程 

Fig.1 MDA to suppo ̄the software development process 

MDA方法可以提高软件的生产效率、可移植性、可复用性、 

可维护性、互操作性、易集成性等 ,鉴于MDA的这些优点和 

ESA软件的问题,我们提出了基于MDA的ICE(Interoperable, 

Configurable,Executable)ESA软件开发模式。 

2基于MDA的ESA软件开发模式 

将MDA的相关技术、思想应用于ERP、SCM等ESA软件的 

开发和实施过程中,并对MDA体系结构进行了适合ESA软件特 

点的扩充,形成了基于MDA的ESA软件开发模式,如图2所示。 

整个框架分为四层:CIM、面向对象的PIM、面向模式的PSM和基 

于构件的软件系统(代码层o CIM又分为两层:面向业务需求的 

CIM和面向过程的IT CIM。 

需面求向的C业i 务IM  臣 

r ] 

勾过程的I IT CIM 孽 

转换 l 

l , 

.1 l 1 广:= :: 

l ● ’l搁 玎_ 身‘ 

向对象的PIM I业务对象模型r_

i L.± _

 

+-.f 砸飘 罄 

的工作扫f 型1

I l 回竖壹 l 

 .

± 。 

r 『] 

l r静热 hl l 

晌模式的PSM I业务卡句f串 理【 ll I可撕 工作}梢到 耋 刊 

J 麴避 l J 

代码生成,车专换l 

l I 跫牺瞪文件ll工佾jfc酉己置II数屠飙 

基于构件 

的软件系统 

L+I.构 彳相渫H] 稿 l 

I 2EE平台应用眼务器J 

图2基于MDA的ICE ESA软件开发模式 

Fig.2 Ofthe MDA-based ICE ESA software development model 

2.1面向业务需求的ClM 

面向业务需求的CIM完全从业务的角度描述企业的方方 

面面:企业的功能、过程、资源、产品、信息、决策等。面向业务的 

CIM模型主要面向企业的业务人员或者企业咨询公司的业务分 

首先建立企业的As—IS CIM模型,经过优化、仿真、诊断,或者经 

过BPR,得到企业的TO—BE CIM模型。面向业务需求的TO—BE 

CIM是以下各层模型的基础。 

为了将面向业务的CIM向下层模型转环,EPMS模型需要转 

换为基于UML的业务协作模型。其他的面向业务需求的模型如 

GRAI、ARIS等向下层模型转换也是以输出UML模型为标准。 

2.2面向过程的lT CIM 

面向过程的IT CIM不同于面向业务的CIM,传统的企业建 

模方法,例如CIM—OSA和GRAI等所描述的内容非常广泛,涉及 

到企业的各个方面,而面向过程的IT CIM一般只描述与业务过 

程相关的信息,其目的是为获取用户的需求,从而为软件系统的 

设计和开发提供支持。 

面向过程的IT CIM描述主要概念有: 

(1)过程:在面向过程的ESA CIM模型中,描述的核心业务 

过程,过程由一系列有序的活动完成。 

(2)活动:活动是ESA系统的基本行为单元。活动既可以由 

人和软件系统协同来完成,也可以由软件系统自动来实现。组成 

过程的活动序列可以是并发的,可以是J颐序的,也可以是混合的, 

大的业务活动称为子过程,并且可以继续分解。 

(3)信息实体:信息实体是对参与过程或者被过程所用的资 

源在信息系统中的抽象描述。 

(4)业务规则:定义过程如何运作的相关约束、条件和策略。 

(5)组织:组织可以定义为职责、权限和相互关系得以有序安 

排的一组人员及设施。 

这些概念分别由功能/过程模型,信息模型和组织模型三个 

模型来描述,描述面向过程的IT CIM所包含的主要概念及其之 

间的关系,如图3所示。 

图3面向过程的IT CIM中的概念及其之间的关系 

Fig.3 Process-oriented IT CIM and the concept of the relationship 

between the 

2.3 PlM层模型 

面向对象的PIM是以业务对象(Business Object,BO)处理为 

No.12 

Dec.2008 机械设计与制造 227 

中心的。PIM层的业务对象源于CIM层的信息实体,每个业务对 为程序代码。在软件运行阶段,用户向ESA系统提出业务需求, 

象都表达了业务领域中一个相对独立、自治的业务概念。如果我 

工作流引擎调用工作流配置文件,然后驱动构件运行框架,构件 

们能够识别出一个系统的所有业务对象,并且将每个业务对象的 运行框架调用系统配置文件,同时构件库应构件运行框架的驱 

数据结构与数据依赖关系分析清楚,将作用在每个业务对象上的 

动,配置构件,响应用户的业务需求。如图4所示,描述了基于构 

操作分析清楚,将业务对象间的关联关系分析清楚,便可以很好 

件的ESA软件生成和运行。 

地完成ESA软件的分析与设计工作。 

业务对象的操作集(活动)是有顺序上的衔接关系的,业务对 

象之间也存在处理上的衔接关系,这种衔接关系就体现了企业的 

业务流程。 

Build time Rtin time 

晦, J[  ̄:J2EE 

从业务对象角度,业务流程就是业务对象操作集的衔接关系 

和业务对象衔接关系的描述,这种衔接关系体现了ESA软件围 

绕业务对象及其处理的集成。 

我们用业务对象模型来描述业务对象之间的关系。业务对象 

模型可以由CIM层的功能/过程模型通过一定转换机制转换得 

到。通常情况下,业务对象是静态的,而业务流程是动态的。将业 

务对象的不同操作集,按照用户需要的方式、需要的顺序、需要的 

衔接关系、需要的控制关系进行动态的组合,就是工作流。我们用 

工作流模型来描述工作流。 

工作流模型由CIM层的功能/过程模型和PIM层的业务对 

象模型转换得到。 

在PIM层还要描述角色模型和数据模型,角色模型为ESA 

系统用户权限控制提供依据,由CIM层的功能/过程模型和组织 

模型通过转换机制得到;数据模型为ESA软件提供数据基础,由 

PIM层信息模型和PIM层业务对象模型转换得到基于业务对象 

关联的数据模型,进一步被转化为基于实体关联的数据模型。 

2.4 PSM层模型 

PSM模型是专用的,面向平台的,每一个PIM模型可以对应 

多个PSM模型,并且每个PSM模型都是建立在特定的技术基础 

上,因此每一个PSM模型都有不同的模式,不同的界面风格,不 

同的业务配置方法等。在ICE MDA的ESA软件开发框架中是针 

对J2EE框架的模式。 

业务构件作为一种粒度较大的构件,是对业务对象的封装和 

处理逻辑的软件实现,依据PIM层的业务对象模型和协同服务 

模型,通过业务构件的配置形成业务构件模型和Web服务模型。 

静态配置模型主要用来配置用户界面与控制器以及控制器与业 

务逻辑构件之间的关联关系和组装机制。可执行工作流模型就是 

动态配置模型,依据PIM层基于业务对象的工作流模型,从动态 

的角度描述如何配置业务逻辑构件来实现业务功能。在PSM层 

模型中,基于是关联的数据模型被映射转化为基于关系模式的数 

据模型。 

2.5基于构件的软件系统 

PSM模型需要进一步转换,以便支持ESA软件的开发和运 

行。PSM模型中的数据模式被转换为数据库表和视图。PSM模型 

中的静态配置模型和工作流配置模型通过转换器转换为配置文 

件,配置文件包括系统配置文件和工作流配置文件。在ESA软件 

的开发阶段,通过代码生成器,将程序员定制的的业务构件转化 

I 必 承 

驴界面

双雅l

{陆 

蘸视 

 

兰 

I—

・ 

, 

置,

构鲑醒 

L 

 

部署 运行时配 

! 

置构件库 

图4基于构件的ESA软件生成与运行 

Fig.4 Component-based software ESA Formation and Operation 

3结束语 

用MDA思想构建起来的ESA软件系统具有以下优点: 

实施速度快:从建立企业业务模型开始,通过模型转换,最终 

直接生成程序代码,提高ESA软件的实施速度,降低了实施难 

度。 

柔性高:基于MDA的ESA软件结构可以随着企业业务过程 

的局部变化而稍作调整,这个调整只需通过业务模型的调整即可 

完成,而不需要整个ESA发生改变。 

支持企业内部新老系统的协同:对于早期基于ODBC ̄DBC 

的系统,如MRP、MRPⅡ系统,可在PSM层对新老进行数据集成; 

对于基于应用集成平台的业务系统,如早期的ERP系统,可在 

PIM层对新老系统进行工作流集成。对于都是基于MDA的系统, 

可以在CIM层进行模型集成。 

另外,在基于MDA的ICE MDA软件开发模式中,将CIM分 

为两层:面向业务的需求的CIM和面向过程的ITCIM,一方面有 

利于其他的业务模型如GRAI、ARIS等实用该开发模式;另一方 

面使面向业务的需求的CIM只专注于业务的实现和优化,方便 

企业人员、咨询人员使用,而使面向过程的IT CIM描述ESA软 

件需要实现的那一部分内容。 

参考文献 

1董建武.MDA:新—代软件互操作体系结构[J].计算机工程,2003(2):3-5 

2 OMG,Model Driven Architecture,A TechnicalPerspective,Document ab/ 

210o1_02_05,Februray 2001,http://www.omg.org 

3 Dan Pilone,Neil Pitman.UML2.0 In a Nutshell[M],2005:183~192 

4张小华,韩永生,余军合膜型驱动体系综述[J].计算机工程,2004(1):111~ 

1l2 

5来猛,赵剑华,李宣东,郑国梁.MDA的设想与实现[J]_计算机工程与设 

计,2004(11):1878--1879 


本文标签: 模型 业务 企业 软件 过程