(计算机应用技术专业论文)基于jm_workflow框架的工程管理信息系统设计与实现.pdf_第1页
(计算机应用技术专业论文)基于jm_workflow框架的工程管理信息系统设计与实现.pdf_第2页
(计算机应用技术专业论文)基于jm_workflow框架的工程管理信息系统设计与实现.pdf_第3页
(计算机应用技术专业论文)基于jm_workflow框架的工程管理信息系统设计与实现.pdf_第4页
(计算机应用技术专业论文)基于jm_workflow框架的工程管理信息系统设计与实现.pdf_第5页
已阅读5页,还剩73页未读, 继续免费阅读

(计算机应用技术专业论文)基于jm_workflow框架的工程管理信息系统设计与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

江苏大学硕士学位论文 摘要 随着计算机与网络技术的迅速发展,现代氽业信息系统的处理模式和应用环 境也发生了巨大的变化:从集中式向人规模的分布协作式发展。传统三层应用架 构已无法满足新环境下的企业需求,企业信息系统的设计重心正从面向功能的事 务处理过渡到面向流程晰i p 务处理卜来。本文提出一种基于工作流技术和p e t r i 网建模原理的j mw o r k f l o w 企业应用框架f 是为了满足当前的这种迫切需求。本 文的主要工作包括: 首先本文分析了当前工作流管理系统的应用现状,指出了工程项目管理系统 中存在的问题,对传统i 层架构进行改进后,提出一种基于工作流技术和p e t r i 网建模原理的j mw o r k f l o w 企业应用框架。 然后深入论述了t 作流引擎设计和工作流过程的状态转化关系,采用p e t r j 网建模方法描述j 作流,定义严格遵守w f m c 接口规范输出标准的x p d l 工作流 过程定义文本描述文件和x p d l 解析器,详细论述了j m _ w o r k f l o w 框架实现过程 中的关键问题及解决方案。 设计实现部分运用j a w e 图形化设计器设计工作流过程,动态输出x p d l 文 件供工作流引擎解析使用;采用面向对象技术设计工作流引擎;模型层接i _ 通过 对象关系映射和设计模式设计实现,系统的业务功能模块都通过该接口进行层倒 交互。 最后结合j mw o r k f l o w 框架的设计思路,采用j a w e 工作流建模工具、u m l 建模方法,成功完成了镇江水业总公司工程项目管理信息系统课题的设计开发工 作。 关键谒:p e t r i 网、工作流、设计模式、x p d i ,、u m l 江苏大学硕士学位论文 a b s t r a c t w i t ht h er a p i dd e v e l o p m e n to f m m p u t e ra n dn e t w o r kt e c h n o l o g y ,t h ea p p r o a c h o fe n t e r p r i s ei n f o r m a t i o n s y s t e m a n d a p p l i c a t i o ne n v i r o r a n e n t h a st m d e r g o n e t r e m e n d o u sc h a n g e sf r o mc e n t r a l i z a t i o nt ot h em a s sd i s t r i b u t i o no fc o l l a b o r a t i o n 1 a d i t i o n a lt h r e e t i e ra p p l i c a t i o na r c h i t e c t u r eh a sb e e nu n a b l et om e e tw i t ht h en e w a p p l i c a t i o nb u s i n e s s e st h ef o c u so nt h ed e s i g no fe n t e r p r i s ei n l b r m a t i o ns y s t e mi s c h a n g i n gf r o mt h ef u n c t i o n o r i e n t e db u s i n e s sp r o c e s s i n gt ot h ep r o c e s s o r i e n t e d o p e r a t i o n a lp r o c e s s i n g t h i sp a p e rp r e s e n t e daj m w o r k f l o wf r a m e w o r kb a s e do nt h e w o r k f l o wt e c h n o l o g ya n dt h ep r i n c i p l eo l p e t r in e tw h i c hc a nm e e tt h ec u r r e n ts u c h u r g e n tn e e d so fb u s i n e s sa p p l i c a t i o n s t h em a i nw o r ki n c l u d e s : f h e p a p e r f i r s t a n a l y s e st h ec u r r e n t s t a t u so ft h ea p p l i c a t i o no fw o r k f l o w m a n a g e m e n ts y s t e m ,p o i n t so u te x i s t i n gp r o b l e m sa n dp r e s e n t st h ej m w o r k f l o w e n t e r p r i s ea p p l i c a t i o n sf r a m e w o r kb a s e do nw o r k f l o wt e c h n o l o g ya n dt h ep r i n c i p l eo f p e t f in e tm o d e l l i n gb ym o d i f y i n gt h et r a d i t i o n a lt h r e e - t i e rf r a m e w o r k t h r o u g hi n d e p t ha n a l y s i so fw o r k f l o we n g i n ea n dt h es t a t et r a n s f o r m a t i o n r e l a t i o n so fw o r k f l o wp r o c e s s ,p e t r in e tm o d e l l i n gi d e a st od e s c r i b ew o r k f l o w , s t r i c t c o m p l i a n c ew i t ht h ed e f i n i t i o no fw f m cs t a n d a r d i z e di n t e r f a c eo fx p d ld o c u m e n t s a n dx p d ld o c u m e n t sp a r s e r , w ed e t a i lt h e k e yi s s u e s o ft h ej m ,w o r k f l o w f r a m e w o r ka n dt h ea p p l i c a t i o np r o c e s s e st oa c h i e v eas o l u t i o n t h ec h a p t e ro fd e s i g na n di m p l e m e n ta c h i e v e st h ed e s i g no ft h ew o r k f l o w p r o c e s sb yj a w eg r a p h i cd e s i g n e rw h i c hc a nd y n a m i c a l l ye x p o r tt h ex p d l d o c u m e n t st ow o r k f l o we n g i n ep a r s e r i tu s e so b j e c t o r i e n t e dt e c h n o l o g yt op l a n w o r k f l o we n g i n em o d e ll a y e ri n t e r f a c ea r er e a l i z e dt h r o u g ho b j e c tr e l a t i o nm a p p i n g a n dd e s i g np a t t e r n s f u n c t i o nm o d u l eo fs y s t e mb u s i n e s si n t e r c h a n g e sw i t hw o r k f l o w e n g i n et h r o u g ht h el a y e ro ft h ei n t e r f a c e , f i n a l l yw i t hc o m b i n a t i o no fj mw o r k f l o wf r a m e w o r kd e s i g n ,u s i n gj a w e w o r k f l o wm o d e l l i n gt o o l s ,u m i m o d e l l i n gi d e a s ,w es u c c e s s f u l l yc o m p l e t e dt h e d e s i g na n dd e v e l o p m e n tt a s k so fz h e n j i a n gw a t e ri n d u s t r yc o r p o r a t i o np r o j e c t m a n a g e m e n ti n f o r m a t i o ns y s t e m k e yw o r d s :p e t r in e t 、w o r k f l o w 、d e s i g np a n e m 、x p d l 、u m l 学位论文版权使用授权书 y 。1 0 1 3 9 g 2 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同 意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许 论文被查阅和借阅。本人授权江苏大学可以将本学位论文的全部内容或 部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制 手段保存和汇编本学位论文。 本学位论文属于 学位论文作者签名: ,多年# 月2 日 保密口,在年解密后适用本授权书。 不保密函。 景魄 指导教师签身“z 勺 夕。缉易月砂日 独创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独立 进行研究工作所取得的成果。除文中已注明引用的内容以外,本论文不 包含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究 做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意 识到本声明的法律结果由本人承担。 学位论文作者签名:灰幺彳欠 日期:嘶年月岁日 江苏大学硕士学位论文 1 1 选题背景 第一章绪论 随着时代的发展,计算机与网络技术日益普及,特别是在基于w e b 的企业 应用日益普及的情况下,现代企业的信息系统越来越表现出自治、异构、分布式 的特点,相府的企业信息资源也存储在分布的、异构的计算机环境中,信息源之 间的连接表现出松散耦合的特点,从而使得计算机的处理模式和应用环境也发生 了巨大的变化:即从集中式向大规模的分布协作式发展。三层w e b 应用架构、分 布式处理技术( d c o m ”、c o r b a 羽、r m i 3 】) 的日益成熟和广泛运用都充分说明 了这一点 4 。这种新的处理模式和应用环境要求应用系统不仅仅要处理单个的任 务,还要能够监控和处理过程逻辑,即实现处理过程的自动化或半自动化。在这 种背景下,传统企业应用信息系统已无法满足新环境f 的企业需求,新的企业应 用信息系统的设计重心正从面向功能的事务处理过渡到面向流程的业务处理上 来。 1 2 工作流管理系统的应用现状 工作流技术的研究起源于2 0 世纪7 0 年代,最初的工作流系统主要以企业内 部的文档处理为主,它不是作为一个独立的平台进行应用,而是将工作流思想运 用到具体的应用系统中。第二阶段工作流系统的发展标志是i b m 的d o m i n on o t e s 产品的 : 现,极大地推动了工作流的成熟和应用,在文档的传输和处理中得到了 非常成功的应用,其主要特征是丁作流系统作为一个平台,以群件的形式运用于 文档处理中,产品本身有自己独特的体系结构和基础的通信技术。随着企业业务 过程的规范化和内部效益的不断提高,工作流技术发展到了第三个阶段业务 过程管理( b u s i n e s sp r o c e s sm a n a g e m e n t ,b p m ) 阶段。其进步主要表现在:应 用范围扩大,不仅仅能够管理文档,而且能够管理各类业务过程,应用范围将更 加宽广;功能增强,包括业务过程的设计、分析、评测、仿真、运行和管理,可 以管理流程、人和其它资源之间的关系,整合企业内外部的资源,监视整个流程 的进行,而不仅仅限于对文档处理界面的设计与处理。 当前j _ 作流系统是企业应用开发中缺失的一环。将企业业务流程逻辑在企业 级软件中实现的缺省方式是分散的。这意味着业务流程逻辑散布在各种系统中, 江苏大学硕士学位论文 如e j b 、数据库触发器、消息代理等等。这样得到的软件系统难于维护,结果, 企业只能将改变业务流程作为最后的选择。他们经常能够做的是,改变流程以适 应软件。上述问题也适用于采用大型外部e r p 软件包的企业。进一步,假设我 们认识到这个问题,并打算将个流程相关的代码都集中起来。对= f 一个流程来 说这很不错,但当你要实现多个流程时,你会看到管理状态和流程变量的代码被 到处复制。最后,我们会整理这些代码放到一个集中的库中,这就是一个工作流 管理系统了【5 , 6 1 。, 1 3 当前工程项目管理系统存在的问题 现代大型企事业单位的分布式管理信息系统往往是跨地域、跨平台的,规模 也越来越大,应用也越来越广泛,基于传统分布式对象技术的三层w e b 应用架构 己不能满足现代企业信息系统的需求,面临的主要问题如下: ( 1 ) 传统的结构化开发方式已不适应现代管理信息系统的开发需求,无法适 应企业的快速业务流程重组( b u s i n e s sp r o c e s sr e e n g i n e e r i n g ,b p r ) 。 应用传统的基于模型的结构化软件工程方法开发大、中型管理信息系统所面 临的主要问题是开发时间长,维护难度人,由此而导致系统开发和维护的成本难 以控制,甚至最终导致系统开发无法维持。有经验的软件系统开发人员都知道最 困扰他们的问题是软件系统的维护包括系统开发过程中的维护和系统运行过程 中的维护 】。系统维护工作的焦点就是处理软件复用问题,这里的复用包括系统 分析和设计过程中文档、模块( 程序) 、等等的复用【8 】。采用面向对象的软件工程 方法可以较好地解决这些问题。 ( 2 ) 传统分布式管理信息系统难以与异构环境下的企业l e g a c y 系统进行集成 1 9 l 。即便可以集成,集成的难度、复杂度、成本和代价也是双方无法承受的。 由于目前分布式信息系统一般采_ j 传统分布式对象技术d c o m 、c o r b a 、 r m i 等方案实现,虽然以上模式具有稳定、高效的特点,但是它们都存在一个 共同的不足,即要求在服务器端和客户端都要配置明确的、同类型基本构架的对 象模型协议,系统之间的互操作性差,难以跨平台运行。如果要同其他语言丹发 的应用系统集成且进行数据交换,则必须采用特殊的方法,如文件传输和分析, 消息队列,开发接口桥,还有仪适用于某些情况的a p i ,如i b m 的a p p c 技术 1 ,实现过程复杂、昂贵、低效。丽对于i n t e r n e t 中松散的应用系统来说,要 求所有成员都采用单一的体系结构是不现实的。另外,传统分布式计算技术在 i n t e r n e l 环境下很难穿越防火墙、代理服务器,难以实现分布式企业应用信息集 成【l2 1 。 江苏大学硕士学位论文 ( 3 ) 传统应用框架的业务逻辑、数据存取都放在应用逻辑层,数据对象、业 务逻辑、$ q l 语句交织在一起,导致应用逻辑层的控制关系复杂,条理不清,层 次感不强。这些种类繁多,使用方法各异的类的调用任务,完全落到了w e b 表 示层,使得业务逻辑处理与w e b 表示语句夹杂在一起,增加w e b 表示层的代码 量,将w 曲表示层的任务复杂化,违背了表示层只负责与用户交互的设计初衷, 使得逻辑层之间控制关系复杂,增加了层与层之间的耦合度,给开发和维护带来 极大的不便。 ( 4 ) 没有解决面向对象设计与关系数据库设计之间的“阻抗不匹配”问题。 传统系统一般采用手工编写s q l 语句或存储过程的紧耦合方法实现数据库操 作,该方法使得应用系统和数据库中的数据紧密耦合在一起,降低了系统的可维 护性和可移植性,同时也没有解决面向对象设计与关系数据库设计之间的对象关 系映射( o b j e c tr e l a t i o nm a p p i n g ,o r m ) 和“阻抗不匹配”问题【1 3 , 1 4 1 ,导致了 开发人员要花费人量精力来实现对象持久化,解决二者之问的不匹配,既增加了 对数据库数据的操作复杂度,又降低了系统开发效率。 1 4 研究课题的提出 目前,国内工程建设企业有1 0 0 0 0 0 家以上,总体上技术基础较为薄弱,一 些在技术上较为先进的企业虽然采用了计算机管理,但自动化程度不高,实际应 用与管理存在定的脱节,企业存在的主要问题总结如下i is l : 计算机资源分散,造成了资源的极大浪费; 信息流通不畅,降低了企业的生产效率,增加了成本,降低了企业的竞争力; 企业业务基本上足以手工操作方方式进行,效率低: 用传统的纸质信息存档,信息的流动速度和利用率低。 本课题以解决以上问题为日标,完善企业迫切需要的协同工作,提高企业的 生产效率、工程质最,最大限度减少人为失误和生产浪费,提高企业现代化管理 水平。本课题结合工程项目建设管理企业的实际应用情况,通过集成工作流技术, 消除企业在项目管理和工程建设中的信息孤岛。本课题的研究解决不仅能提高企 业生产效率,也能增强企业的生产能力和实力,为企业带来巨大的经济效益。本 文所提出的j m w o r k f l o w 框架即为该课题研究成果的核心部分。 1 5 论文的主要工作 论文的主要工作包括以下几方面: 江苏大学硕士学位论文 ( 1 ) 针对现有传统三层应用框架存在的不足,结合p e t r j 网建模、工作流 引擎技术和设计模式对传统三层应用框架进行改进,提出了一种新颖的。n e t 环 境下,基于工作流技术的企业应用框架- - j m w o r k f l o w 框架,并给出了框架实现 过程中关键问题的解决方案,最后将该框架成功应用于镇江水业总公司工程项目 管理系统的设计开发。 ( 2 ) 数据生成器的设计采用基于表单的对象关系映射( t a b l e b a s e d m a p p i n g ,t b m ) ,通过x m l 文件建立数据对象的存储结构;采用x m l 文件作 为工作流数据对象的提供者,数据生成器作为工作流活动的数据对象抽取者。数 据生成器将事先定义好的x m l 格式的数据对象文档转化成程序中可用的数据 集,数据集按照业务规则进行业务处理之后生成s q l 语句集,避免了手工书写 大量的s q l 语句和存储过程。对s q l 语句集执行数据库事务操作,保证了数据 的完整性和唯一性,实现面向对象的数据到关系数据库的映射,消赊了面向对象 设计与关系数据库没计之问的“阻抗不匹配”问题。 ( 3 ) 业务模型层采用抽象工厂( a b s t r a c tf a c t o r y ) 设计模式设计业务对象、业 务处理和业务规则接口。该层通过接口来指定对象调用之间的协议,创建了一套 符合接口规范的对象对象组模型。系统所有的功能模块都通过这套接口进行设 计开发,提高了系统的可维护性和代码的町复用性,简化了的系统开发、维护的 难度、复杂度。 ( 4 ) 按照面尚对象的软件工程思想,采用p e t r in e t 和u m i ,建模方法,结 合建模工具j a w g 、r a t i o n a lr o s e 对镇江水业总公司工程项目管理系统进行分析 与设计,并给出了j mw o r k f l o w 框架在该系统开发中的设计实现过程。 1 6 论文结构安捧 论文共分七章,主要内容概要如下: 第一章绪论 介绍课题的研究背景和研究意义,分析目前管理信息系统的应用现状,指出 了其中存在的不足。同时分析并提出水文的主要工作内容。 第二章工作流的研究及相关技术 本章阐述_ i _ :作流技术的概念、_ 1 作流参考模型、当前国内外工作流领域的研 究热点以及初步论述以工作流为核心的企业开发架构。对开发中使用到的技术进 行了简单的介绍,为下一章提出j mw o r k f l o w 架构做铺垫。 第二三章j mw o r k f l o w 框架设计 钳对传统三层应用框架中存在的不足,提出了一种n e t 平台f 的基于工作 4 江苏大学硕士学位论文 流技术的企业应用系统开发框架j mw o r k f l o w 框架。介绍了该框架的体系结 构,分析了框架各关键部分的实现技术,并给出相应的解决方案,最后总结了该 框架模型的特点。 第四章工程项目管理信息系统的设计与实现 按照面向对象的软件工程思想,采用u m l 建模工具r a t i o n a lr o s e 和工作流 定义工具j a w e ,对镇江水业总公司t 程管理信息系统进行分析设计。在系统设 计过程中,严格遵循j mw o r k f l o w 框架的解决方案,结合该食业的实际情况, 给出了详细设计过程。 第五章结束语与展望 对全文进行工作总结,对今后的研究工作进行了展望。 江苏大学硕士学位论文 第二章工作流的研究及相关技术 随着计算机技术的飞速发展和先进技术在企业中应用的推广,从并行工程到 敏捷制造,从业务流程管理到业务流程重组,越来越显示出面向过程的业务处理 的优势和重要性。传统的面向功能的事务处理已经不能满足当今企业发展的需 求,单纯的面向功能的事务处理技术也将随着先进制造技术的应用被一种面向过 程的业务处理技术所代管。 在这一转变的过程中,工作流技术的出现,无论是从理念上还是从技术支持 上来说,都为这一转变提供了有利的条件。1 一作流技术是致力于企业业务过程管 理、业务过程重组和业务过程自动化的先进技术i i 。 2 1 工作流的概念和定义 1 9 9 3 年工作流管理联盟( w o r k f l o wm a n a g e m e n tc o a l i t i o n ,w f m c ) 的成立 标志着工作流技术开始进入相对成熟的阶段。为了实现不同工作流产品之问的互 操作,w f m c 在工作流管理系统的相关术语、体系结构及应用编程接口( w a p i ) 等方面制定了一系列标准。 目前对工作流还没有完全统一的定义。不同的研究者和工作流产品供应商从 不同角度给出了对工作流的不同定义,下面给出几个有代表性的描述: 工作流管理联n ( w f m c ) 给出的工作流定义旧1 8 j 是:工作流是一类能够完全 或者部分自动执行的经营过程,它根据一系列过程规则、文档、信息或任务 能够在不同的执行者之问进行传递与执行。 g e o r g a k o p o u l o s 【i 州给出的工作流定义是:j2 作流是将一组任务( t a s k ) 组织起 来完成某个经营过程。在上作流中定义了任务的触发顺序和触发条件。每个 任务可以由一个或多个软件系统完成,也可以由个或一组人完成,还可以 由 个或多个人与软件系统协作完成。任务的触发顺序和触发条件用来定义 并实现任务的触发、任务的同步和信息流( 数据流) 的传递。 g i g ag r o u p 的定义【2 u j :工作流是经营过程中可运转的部分,包括任务的顺序 以及由谁来执行、支持任务的信息流、评价与控制任务的跟踪、报告机制。 i b m a l m a d e n r e s e a r c h c e n t e r 给出的定义川是:工作流是经营过程的一种计 算机化的表示模型,定义了完成整个过程所需要用到的各种参数。这些参数 包括对过程中每一个步骤的定义、步骤问的执行顺序、条件以及数据流的建 江苏大学硕士学位论文 立、每一步骤由谁负责以及每个活动所需要的应用程序。 w m ev a nd e r a a l s t 的定义口“:工作流是一系列工作的偏序集。工作的序列 可以有多种方式,比如工作x 与y 满足x n ,一t c 正工i x l t 四i k 。 牡t l f , 她i 门内沛是吐 止ii 社j z f l , 瘟i l i i 帕 岛 i ! 。 n 叱0 :一一鹏山郝枉地一- t 。j 几,呻m 正: - 1 j i 入,蚌联 , 。h 甜m 。: l x p d l 迎垂j 匦兰 、过 图 过程定义转换原理 的工作流过程语占包括个基本实体,见图2 5 : 工作流定义:反映企、l t 。个业务流程的目的。 活动:对应业务流程中的任务,主要反映了完成该业务流程所需要执行 的功能操作。 转换条件:负责为过程实例提供导航依据,对应于一个业务流程中的业 务规则和操作顺序。 作流相关数据:是引擎执行任务推进的依据之一,引擎根据相关数据 和转换条件执行后续活动。 角色:角色或组织实体决定了参与某个活动的人员或组织单元,描述了 业务流程中参与的操作人员和组织单位。 应用程序:描述了用于完成业务流程所采用的外部工具或工具。 江苏大学硕士学位论文 图2 5x p d l 的元模型实体 活动是过程定义的核心部分。一个过程包括若干活动组成:特定的角色参与 活动的执行;活动执行过程中使用工作流相关数据,激活特定外部应用程序;过 程实例的推进是根据转换条件和1 一作流相关数据进行的。 2 8 对象关系映射 当今,关系数据库在商业市场上雄据方,大部分采用面向对象开发的软件, 都用它来存储数据。这样,要把o o ( o b j e c t o r i e n t e d ) 的对象关系转换成关系 数据序的e r ( e n t i t yr e l a t i o n ) 实体关系,而数据库中的关系,则成了面向对象 中的持久对象。目前要把对象关系映射到关系数据库,有两种办法: 1 将面向对象应用围绕关系数据库来建立。设计的每一个对象,都要知道 如何读取和存储其数据,并且每一个类要作额外的设计,把对象映射成表格。所 以,这一办法称为“对象关系映射法”( o r m ) 。 2 将面向对象应用移到关系数据库中实施,以关系表格来模拟对象。但是, 关系数据库只有很有限的数据类型,而对象特有的继承、引址等都不能在关系数 据库中直接用,所以做起来也相当困难。 权衡两者,方法l 比较可行,而且它把应用程序和数据存储分开,有利于系 统的管理和演变。一些商业产品,己建立了面向对象的前端或界面,并提供一些 工具,帮助用户把对象映射到芙系表格。通过附加的应用服务器( a p p l i c a t i o n s e r v e r ) ,负责管理对象和优化系统性能。这些产品其实就是扩展关系数据库 ( e x t e n d e dr e l a t i o nd a t a b a s e ) 。 江苏大学硕士学位论文 使用映射法来把对象持久化时,必须对映射技巧有牢固的认识,才能取得较 好的系统性能。另一方面,设计时也可以先作面向对象设计,再把设计映射为实 体关系图,根据实体关系图设计关系数据库。经验表明,这是行之有效的设计手 段【4 6 。 2 9 设计模式 模式的研究起源f 建筑工程设计丈师c h r i s t o p h e ra l e x a n d e r 的关于城市规划 和建筑设计的著作。a l e x a n d e r 在1 9 7 9 年出版的( ( t h et i m e l e s sw a yo f b u i l d i n g ) ) 中首先提出_ 厂模式的概念,他认为:每一种模式描述了个在我们周围不断重复 发生的问题,以及该问题的解决方案的核心。这样,你就能一次又一次地使用该 方案,而不必重复劳动。尽管他的著作是针对城市规划和建筑设计的,但是其观 点实际上适用于所有的工程设计领域,包括软件开发设计领域。 2 9 1 设计模式的概念 g o f 从面向对象设计的角度,将设计模式定义为:为解决特定场景下的一般 设计问题,对相关的类和相互通信的对象的描述【4 ”。设计模式确定了所包含的类 和对象,它们的角色、协作方式和职责分配:集中于特定的面向对象设计问题或 设计要点,描述了何时使用它,在另一些设计约束条件下是否还能使用,以及使 用的效果和如何取舍。 本文中的设计模式是“对被用来在特定场景下解决一般设计问题的类和相且 通信的对象的描述”。 设计模式在粒度、抽象层次上各不相同。为了将众多的设计模式组织起来, g o f 提出了2 条模式分类准则。目的准则,即模式是_ i = j 来完成什么工作的。据 此,可将设计模式分为创建型、结构型、行为型3 种。创建型模式与对象的创建 有关;结构型模式处理类或对象的组合;行为型模式描述类或对象怎样交互和分 配职责。范围准则,即模式是t 要用于类还是对象。类模式处理类和予类间的 静态关系:对象模式处理对象h j 的动态关系f 4 7 】。 2 9 2 抽象工厂模式 抽象工7 模式很好地贯彻了一个在设计模式,或者说在整个面向对象设计领 域所遵循的设计原则:针对接口编程,而不是针对具体的实现。对接口编程可以 江苏大学硕士学位论文 说是设计模式的基石之一。现在的很多对象模型,比如e j b ,c o m + 等等,无不 是遵照这个基本原则来设计的。针对接口编程的好处有很多,通过接口来定义对 象的抽象功能,方便实现多态和继承;通过接口来指定对象调用之问的契约,有 助于协调对象之间的关系;通过接口来划分对象的职责,有助于寻找对象,等等。 抽象工厂模式就是为了实现这个目的而设计出来的。它创建一个个符合接口规范 的对象对象组,使得用同一个f a c t o r y 创建出来的对象对象组可以相互替换。这 种可替换性称为多态,是面向对象的核心思想之一【4 8 】。 抽象工厂模式又称工具箱( k i t 或t o o l k i t ) 模式,我们给出抽象工厂模式的类 图定义如图2 6 : 图2 6 抽象工厂模式类图 从图中可以看出,抽象工厂模式涉及到以下的角色: 抽象工厂( a b s t r a c tf a c t o r y ) 类或接口 担任这个角色的是工厂方法模式的核心,它是与应用程序无关的。任何在模 式中创立对象的工厂类必须实现这个接口,或继承这个类。 具体工| 类( c o n c r e t ef a c t o r y ) 担任这个角色的是与应用程序紧密相关的,直接在应用程序调用下,创立产 品实例的那样些类。 抽象产品( a b s t r a c tp r o d u c t ) 担任这个角色的类是工厂方法模式所创立的对象的父类,或它们共同拥有的 接口。 具体产品( c o n c r e t ep r o d u c t ) 担任这个角色的类是工厂方法模式所创立的任何对象所属的类。 江苏大学硕士学位论文 必须指出,在抽象工厂模式中,抽象产品( a b s t r a c tp r o d u c t ) 可能是一个或多 个,从而构成一个或多个产品族( p m d u c tf a m i l y ) 1 a 9 1 。在只有一个,。品族的情况 下,抽象工厂模式实际上退化到工厂方法模式。在本系统设计中考虑使用抽象工 厂模式。首先,本系统的产品有多于一个的产品族,其次,同属于同一个产品族 的产品是设计在一起使用的。 江苏大学硕士学位论文 第三章j m w o r k f io w 框架设计 3 i 传统三层架构 三层结构的应用软件系统,由于其众多的优点,已经成为典型的软件系统架 构,也已经为广大开发人员所熟知。在传统三层w e b 应用框架中,通常被划分成 以下三个逻辑层次:w e b 表示层、应用服务层和数据库层。,如图3 1 所示。 l 、舰b 表示层。i 用户界面一i f l 应用服务层iw e b 萋i s , 务器。i l 【 i 数据库层。i 数据高蹦r 器一i 图3 1 三层w e b 应用框架 在该框架中,w e b 表示层是应用系统的用户接e l ( 用户界面) 部分,提供用户 与应用系统间的对话功能。应用服务层是整个应用系统的核心,实现,整个系统 的业务功能。应用系统的主要功能和业务逻辑都在应用服务层进行处理,这一层 的载体通常是w e b 服务器。数据库层负责数据信息的存储、访问及优化,数据库 管理系统( d a t a b a s e 4 a n a g e m e n ts y s t e m ,d b m s ) 必须能迅速执行大量数据的更 新和检索,目前主要使用的是关系数据库管理系统( r e a t i o r d a t a b a s e m a n a g e m e n ts y s t e m ,r d b m s ) 。 在应用服务层主要解决以下四个问题1 5 0 - 5 2 1 : ( 1 ) 业务流程的改变带来大量的系统修改、维护l z 的困难。传统三层架构没 有提供一种简单、快速的业务流程修改方式,降低了系统的灵活性和可维护性。 ( 2 ) 数据的表示方式。也就是实体类的表示方式,以及同数据库的对应关系, 即所谓的o r m 问题。 ( 3 ) 数据的存取方式。也就是实体类的持久化问题,目前通常采用关系数据 库来永久存储数据实体,这就需要解决面向对象( o b j e c t o r i e n t e d ) 设计同关系 数据库的交互问题。 ( 4 ) 业务逻辑的组织方式。用面向对象技术开发的系统中,业务逻辑是通过 对象间的消息传递来实现的。在这个部分,为了保证逻辑处理的正确性和可靠性, 江苏大学硕士学位论文 还必须支持事务处理。 为了能够更好地解决上述这些问题,本文将工作流技术和设计模式应用到应 用服务层设计中,提出了一种n e t 平台下的w e b 应用框架。 3 2 改进后的j l w o r k f l o w 框架结构 新框架采用工作流技术来解决目前企业管理信息系统的强耦合与弱柔性的 问题。图3 2 给出了框架体系结构模型。此系统结构包含5 个层次,由下自上分 别是数据库层、数据访问层、模型层、工作流层和表示层。数据库层差要存放各 种应用数据,包括企业业务数据、控制数据及各种相关数据;数据访问层为一 = 层 提供数据库访问服务。模型层封装企业的业务逻辑功能:工作流层由流程定义 : 具和工作流引擎构成,为用广提供工作流程的定义和1 。作流实例的建立、管理、 协调及控制功能等,它是整个系统协作的关键;表示层是用户交互接【j 层,直接 与用户进行交互。 表示层 1 广 - 岜。b 一 工作流层 j 模型层 丁亡 数据访问层 图3 2 系统体系结构图 表示层主要由任务列表、任务列表管理器构成。该层负责获取用户请求执行 的任务,向工作流层发出执行工作流的请求。工作流层分为工 乍流执行引擎、工 作流流程定义两个部分。工作流过程定义( p r o c e s s ) 反映了企业中个经营过程的 目的,即这个过程要实现的目的和最终达到的目标是什么。工作流执行引擎是该 层的核一t l , ,它负责解释工作流流程定义文档,将流程定义文档转换为业务处理逻 辑,控制j :作流实例的运转,调用模型层生成的相应业务数据对象集和业务处理 逻辑执行c r u d 事务操作,展现给工作流客户端,保证了事务完整性和数据一 ,4 江苏大学硕士学位论文 致性。模型层采用w e bs e r v i c e s 构件设计了一个单一而简单的接口,简化了应用 框架中逻辑层之间的控制关系,提高了系统的互操作性和可集成性。 系统结构框架模型建立在系统的体系结构模型之上,是系统体系结构的细化 和拓展,它详细的描述了层内构件的组成和层间的通信机制。图3 - 3 给出了本系 统的框架结构模型。下面详细讨论各层的设计思路: 1 表示层:在该模型中,表示层主要是用户与系统的交互接口。 本架构同时支持b s 模式和c s 模式,用户可以分别使用浏览器或w i n d o w s f o r m 来获取系统提供的服务功能,表示层主要由任务列表、任务列表管理器和 工作流服务请求者构成。该层负责获取用户请求执行的任务,向工作流层发出执 行工作流的请求,以及请求模型层提供的数据服务;任务列表给用户呈现出所有 需要完成或已完成的任务,它根据用户的角色信息到各个任务列表中搜索用户应 执行的任务,提醒用户协同工作;工作流服务请求者是用户任务请求的代理,一 切请求都通过它来负责调用模型层提供的数据服务。 2 工作流层:工作流层是该框架的核心。 工作流层分为工作流流程定义、 二作流执行引擎两个部分,本文根据p e t r i 网理论建立工作流流程描述,采用j a w e 图形化编辑器定义工作流过程,输出严 格遵守w f m c 的接口规范标准的过程定义文本描述文件一x p d l ( x m lp r o c e s s d e f i n i t i o nl a n g u a g e ) 流程定义文件,x p d l 是一种灵活、易理解的过程定义语 言站】,用它来定义流程结构很容易解析给工作流执行引擎,控制工作流程的协作, 保证工作流程的正确执行。工作流执行引擎负责解释工作流流程定义,将流程定 义转换为业务处理逻辑,控制工作流实例的运转,调用模型层提供的相应业务数 据对象集和业务处理逻辑执行c r u d 事务操作,展现给工作流客户端,保证了 事务完整性和数据一致性。 3 模型层:模型层是该框架模型的第二个核心。该层采用抽象工厂( a b s t r a c t f a c t o r y ) 设计模式设计业务对象、业务处理和业务规则,采用x m l 文件作为工作 流数据对象的提供者。数据生成器作为工作流活动的数据对象抽取者,根据事先 定义好的x m l 格式的数据对象生成数据集,将该数据集按照业务规则进行业务 处理之后动态生成s q l 语句集,调用数据访问层的事务操作服务。 4 数据访问层:该层封装一些通用的数据库访问方法,如建立连接、断开 连接、事务开始、事务回滚、事务提交等,供上层直接调用。本框架实现了s q l 语句的动态生成,没有使用与单一数据库密切相关的存储过程,可以使用策略模 式( s t r a t e g yp a t t e r n ) 设计该层的数据库的访问方法和模型层的s q l 语句生成器, 实现对多种数据库的支持,扩展该框架的适用范围。 江苏大学硕士学位论文 表示层:浏览器、w i n d o w s 窗体 任务列表管理器k 一任务列表 工作流服务请求者 1 二作流层 r x p d l 丁作流执行引擎 工作流 流程 工作流任务 u 定义 t 模型层 ,叫数据生成器k x m l 骜据 业务对象 i 对象足义 t i s a c t i o np r o c e s s i l 业务规则l ll 语句集u集u 虱爿黑 图3 3 系统结构框架模型图 5 应用数据库层:该层主要是存储系统涉及到的各种数据,它是工作流层 与模型层能够发挥作用的数据通道。在该系统中涉及到的数据是与具体业务有关 的数据,它对于工作流层和模型层来说是透明的,不可直接访问的。 江苏大学硕士学位论文 3 3j u j o r k f l o w 框架的优点 1 提出了j m w o r k f l o w 框架,提高了系统开发的可扩展性、可维护性和可 移植性。 本文针对当前工程管理系统中存在的不足,采用工作流技术对传统三层应用 框架进行改进,提出了一种n e t 环境下基于工作流技术的w e b 应用框架。该框 架对传统三层w e b 应用框架重新划分为:表示层、工作流层、模型层和数据访问 层。工作流层采用j a w e 图形化流程编辑器定义工作流过程,输出严格遵守w f m c 的接口规范标准的过程定义文本描述文件( x p d l ) 。设计工作流引擎动态解析 x p d l 流程定义文件,并控制工作流过程、节点、工作项的状态转换,处理工作 流过程、节点、工作项之间逻辑关系以及负责数据在各个步骤之间的传递,调用 模型层提供的相应业务数据对象集和业务处理逻辑执行数据库事务操作。模型层 根据业务逻辑复杂度可迸一步细化为业务对象层、业务处理层和业务规则层,采 用a b s t r a c tf a c t o r y 设计模式进行设计,将不同的业务处理逻辑视为系统的不 同产品线,以多种具体的业务处理工厂和业务规则工厂来处理多种类型的业务对 象产品。该方案使得系统逻辑结构更加清晰,易于维护和开发。 2 采用p e t r i 网建模技术,将传统企业应用信息系统的设计实现从面向功能 的事务处理过渡到面向流程的业务处理上来。 工作流技术是流程建模和流程管理的核心技术,它根据一系列定义良好的规 则、文档、信息等将工作分解成具体的任务、角色,并按照一定的规则和流程来 执行这些任务并对它们进行监控,完全或部分地自动执行工作中的业务流程:将 流程的控制逻辑与业务处理逻辑分离,较好的解决了因环境变化而带来的动态流 程维护难题,缩短了业务流程修改的处理时问,扩大了软件的适用范围。系统提 供这样一个工作流层来封装这些业务流程,向w e b 表示层提供服务,同时作为 系统各个模块间功能调用的接口,保证系统的高内聚和低耦合性。 3 本系统设计实现了模型层的数据生成器和数据访问层。模型层将x m l 文 件映射为数据对象的数据集模式( d a t a s e ts c h e m a ) ,采用对象关系映射技术配合 业务模型层来实现s q i ,语句集的动态生成。数据集模式配合数据访问层对s q l 语句集执行事务操作来解决对象模型和关系模型两者间的“阻抗不匹配”,大大 减轻了手工编写数据库交

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论