(计算机软件与理论专业论文)基于行为驱动开发的轻量级工作流引擎的设计与实现.pdf_第1页
(计算机软件与理论专业论文)基于行为驱动开发的轻量级工作流引擎的设计与实现.pdf_第2页
(计算机软件与理论专业论文)基于行为驱动开发的轻量级工作流引擎的设计与实现.pdf_第3页
(计算机软件与理论专业论文)基于行为驱动开发的轻量级工作流引擎的设计与实现.pdf_第4页
(计算机软件与理论专业论文)基于行为驱动开发的轻量级工作流引擎的设计与实现.pdf_第5页
已阅读5页,还剩84页未读 继续免费阅读

(计算机软件与理论专业论文)基于行为驱动开发的轻量级工作流引擎的设计与实现.pdf.pdf 免费下载

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

文档简介

t h ed e s i g na n di m p l e m e n t a t i o no f l i g h t w e i g h t w o r k f l o w e n g i n eb a s e d o n 一一 1 o b e ha v i o r - d r i v e nd e v e l o p m e n t at h e s i s s u b m i t t e di np a r t i a lf u l f i l l m e n to ft h er e q u i r e m e n t f o rt h em a s t e rd e g r e ei nc o m p u t e rs c i e n c e b y q i a nm a o p o s t g r a d u a t ep r o g r a m d e p a r t m e n t o fc o m p u t e rs c i e n c e c e n t r a lc h i n an o r m a lu n i v e r s i t y s u p e r v i s o r :y ej u n m i n a c a d e m i ct i t l e :p r o f e s s o r s i g n a t u r e a p p r o v e d m a y 2 0 1 1 硕士学位论文 m a s t e r st h e s i s 华中师范大学学位论文原创性声明和使用授权说明 原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师指导下,独立进行研究工作 所取得的研究成果。除文中已经标明引用的内容外,本论文不包含任何其他个人或 集体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体,均已在 文中以明确方式标明。本声明的法律结果由本人承担。 作者签名:钱荑 日期:知1 1 年6 月3 日 学位论文版权使用授权书 学位论文作者完全了解华中师范大学有关保留、使用学位论文的规定,即:研 究生在校攻读学位期间论文工作的知识产权单位属华中师范大学。学校有权保留并 向国家有关部门或机构送交论文的复印件和电子版,允许学位论文被查阅和借阅; 学校可以公布学位论文的全部或部分内容,可以允许采用影印、缩印或其它复制手 段保存、汇编学位论文。( 保密的学位论文在解密后遵守此规定) 保密论文注释:本学位论文属于保密,在年解密后适用本授权书。 非保密论文注释:本学位论文不属于保密范围,适用本授权书。 作者签名:瓴美 日期:a o t t - f f - ( 月5 日 导师签名: 1 眠 日期:幽,1 年月) 日 本人已经认真阅读“c a l i s 高校学位论文全文数据库发布章程 ,同意将本人的 学位论文提交“c a l i s 高校学位论文全文数据库 中全文发布,并可按“章程 中的 规定享受相关权益。圜童诠塞握童卮进唇:旦圭生;旦= 生;旦三生蕉查! 作者签名:蚀蒜 日期:2 0 l ( 年6 月日 导师签名:叶缈 日期:e :狐lj 年i 月;日 中文摘要 随着业务流程自动化应用的趋势,工作流技术成为了近年来研究的热点,广泛 应用于电子商务、办公自动化等领域。工作流引擎是工作流管理系统的核心组件, 是实现企业应用集成的关键。针对目前工作流应用操作性差、集成能力弱等问题, 结合w f m c 工作流技术标准,本文提出了一种轻量级的工作流引擎开发方法。为保 证工作流引擎的可用性和方便性,本文做了如下方面的研究: 1 解析了工作流过程模型。在分析x p d l 原理的基础上,提出并实现了解析x p d l 描述的过程定义模型的方法,通过结合x p d ls c h e m a 验证模型语法的正确性。 2 实现了支持多种数据格式的工作表。使用工作表作为工作流执行实例数据的 存储结构,通过对工作表通用操作方法,实现了过程实例数据的访问和转化、 消息的解析和发送、命令的解析和调用、运行报告的过滤和组合等多种数据 管理功能。 3 设计并实现了平行解释架构的工作流引擎的运行解释模块。通过模块功能的 分离与使用时进行关联解释,最大限度地隔离了业务系统对工作流系统的影 响,提高了系统部署能力和扩展性。 4 提出并实现了结合工作流模式的p e t r i 网组网和运行算法。运行模块能根据 过程模型的设置,自动完成对工作流模式的匹配,并调用对应的组网方法, 将过程模型映射为p e t r i 网模型,以进行仿真和运行。 5 给出并实现了有色p e t r i 网模型的变量绑定及转移发生算法。在实现了可估 值表达式和自定义变量设计的基础上,为p e t r i 网扩展了连接弧的表达式变 量绑定算法,以此为基础实现了p e t r i 网模型对带自定义变量的表达式进行 估值的转移发生方法。这种方法使引擎支持对更贴近现实描述的过程模型的 转化和仿真。 6 实现了对外部应用的集成方法。以物流配送为例,分析了配送过程的逻辑和 数据关系,将其转化为x p d l 过程模型。通过转换和执行过程模型,调用物 流活动的具体应用,引擎完成了对物流配送过程的工作流仿真。 本文使用r u b y 作为工作流引擎的开发语言,结合行为驱动开发方法,分析了 引擎的功能,设计了组件体系结构,在实现引擎基本运行功能的基础上,以迭代的 方式扩展了引擎的功能,使之成为灵活、方便、可操作性强的工作流系统组件。 关键词:工作流引擎;x p d l ;有色p e t r i 网;表达式估值 a b s t r a c t w i t ht h et r e n do f b u s i n e s sp r o c e s sa u t o m a t i o n , w o r k f l o wt e c h n o l o g yh a sb e c o m ea r e s e a r c h a b l eh o ts p o tr e c e n ty e a r s ,w h i c hh a sb e e nw i d e l yu s e di ne c o m m e r c e ,o f f i c e a u t o m a t i o na n do t h e rf i e l d s w o r k f l o we n g i n ei st h ec o r ec o m p o n e n to fw o r k f l o w m a n a g e m e n ts y s t e m i ti st h ek e yt oe n t e r p r i s ea p p l i c a t i o ni n t e g r a t i o n o w i n g t ot h ep o o rp r e s e n t a t i o na b o u ti n t e r o p e r a b i l i t ya n di n t e g r a t i o no ft h ec u r r e n t w o r k f l o wa p p l i c a t i o n s ,c o m b i n i n gw f m cw o r k f l o wt e c h n o l o g ys t a n d a r d s ,t h i sp a p e r p r e s e n t s al i g h t w e i g h tw o r k f l o we n g i n e d e v e l o p m e n tm e t h o d o l o g yt o e n s u r et h e a v a i l a b i l i t yo ft h ew o r k f l o we n g i n ea n dc o n v e n i e n c e t h i sa r t i c l ec o n t a i n st h ef o l l o w i n g r e s e a r c h e s : 1 t h ea n a l y s i so ft h ew o r k f l o wp r o c e s sm o d e l b a s i n go nt h ea n a l y s i so fx p d l d e s i g np r i n c i p l e s ,am e t h o dp a r s i n gp r o c e s sm o d e ld e s c r i b e di nx p d li sp r o p o s e d a n d i m p l e m e n t e d i nt h i sm e t h o d ,t h es y n t a xc o r r e c t n e s so f t h em o d e lc a l lb ev e r i f i e d - w i t hx p d ls c h e m a 2 t h ea c c o m p l i s h m e n ta b o u tt h ew o r kl i s ts u p p o r t i n gav a r i e t yo fd a t af o r m a t s t h e w o r kl i s ta saw o r k f l o wi n s t a n c ed a t as t o r a g es t r u c t u r e ,b yu s i n gt h ec o m m o n o p e r a t i o nm e t h o d s ,a c h i e v e sas e r i e so fd a t am a n a g e m e n tf u n c t i o n s ,s u c ha sp r o c e s s i n s t a n c ed a t aa c c e s sa n dt r a n s f o r m a t i o n ,m e s s a g ea n a l y s i sa n dd i s p a t c h , c o m m a n d p a r s i n ga n dc a l l ,r e p o r tf i l t e r i n ga n dc o m b i n a t i o n 3 t h ed e s i g na n di m p l e m e n to fap a r a l l e la r c h i t e c t u r ea b o u tt h ee x e c u t i o nm o d u l eo f w o r k f l o we n g i n e w i t l ls e p a r a t i o no ff u n c t i o n sb yt h em o d u l e ,a n da s s o c i a t i o n 、) l ,i t l l i n t e r p r e t a t i o nw h e ne x e c u t i n g ,t h i s a r c h i t e c t u r em a x i m i z e st h e i s o l a t i o ne f f e c t b e t w e e nt h ee n t e r p r i s ea p p l i c a t i o na n dw o r k _ f l o ws y s t e m ,a n di m p r o v e sd e p l o y m e n t c a p a b i l i t ya n ds c a l a b i l i t y 4 t h ed e s i g na n di m p l e m e n tt h em e r g i n ga n de x e c u t i n ga l g o r i t h m so fp e t r in e t c o m b i n e dw i mw o r k f l o wp a t t e r n s a c c o r d i n gt op r o c e s sm o d e l ,t h ew o r k f l o w p a t t e r n sw i l lb em a t c h e da u t o m a t i c a l l y , a n dt h ee x e c u t i o nm o d u l ec o u l dc a l lt h e 。 c o r r e s p o n d i n gm e r g i n gm e t h o d s t om a k et h ep r o c e s sm o d e lm a pt oap e t r in e tm o d e l f o rs i m u l a t i o na n do p e r a t i o n 5 t h ei m p l e m e n to ft h eb i n d i n ga n do e c u r i n ga l g o r i t h mo fc o l o r e dp e t r in e t b a s e d o nf a c i l i t yo ft h ee x p r e s s i o ne v a l u a t i o na n dc u s t o m - d e s i g nv a r i a b l e s ,t h ea r c s 硕士学位论文 m a s t e r st h e s i s e x p r e s s i o ni nc o l o r e dp e t r in e ta r ee x t e n d e dt ob i n dv a r i a b l e s ,s om a k es u r ep e t r in e t m o d e lc o u l df i r et r a n s i t i o nw i t he x p r e s s i o n sw h i c hc o n t a i nc u s t o mv a r i a b l e s t l l i s f e a t u r ea l l o w st h ee n g i n et os u p p o r tm o r er e a l i s t i cd e s c r i p t i o no ft h ep r o c e s sm o d e l i nt r a n s f o i t s a t i o na n ds i m u l a t i o n 6 n l ea p p r o a c hf o re x t e r n a l a p p l i c a t i o ni n t e g r a t i o n t oap r o c e s so fl o g i s t i c s d i s t r i b u t i o n ,f o re x a m p l e ,t h er e s u l t so fa n a l y z i n gl o g i ca n dd a t ar e l a t i o n s h i p sw i l lb e t r a n s f o r m e di n t ox p d l p r o c e s sm o d e l s t h r o u g ht h et r a n s f o r m a t i o n sa n de x e c u t i o n o fp r o c e s sm o d e la n dc a l l sa m o n gt h es p e c i f i ca p p l i c a t i o no fl o g i s t i c sa c t i v i t i e s ,t h e e n g i n ec a nc o m p l e t et h es i m u l a t i o ni nc a s eo fl o g i s t i c sd i s t r i b u t i o np r o c e s s t h i sa r t i c l eu s e st h er u b ys c r i p t i n gl a n g u a g ef o rw o r k f l o we n g i n ed e v e l o p m e n t c o m b i n e dw i t hb e h a v i o r - d r i v e nd e v e l o p m e n ta p p r o a c h , t h ef u n c t i o n so ft h ee n g i n e w e r ea n a l y z e da n da r c h i t e c t u r ew a sd e s i g n e d b a s e do nt h eb a s i cf u n c t i o ni m p l e m e n t so f t h ee n g i n e ,a ni t e r a t i v ea p p r o a c hw a su s e dt oe x t e n dt h ee n g i n e sc a p a b i l i t i e s ,s oa st o m a k e e n g i n ea saf l e x i b l e ,c o n v e n i e n ta n do p e r a b l ew o r k f l o ws y s t e mc o m p o n e n t k e y w o r d s :w o r k f l o we n g i n e ;x p d l ;c o l o r e dp e t r in e t ;e x p r e s s i o ne v a l u a t i o n 硕士学位论文 m a s t e r st h e s i s 中文摘要 a b s t r a c t 目录 第一章绪论 1 1 1 课题研究背景一l 1 2 国内外研究现状概况1 1 3 本文的主要工作4 1 4 论文组织结构5 第二章工作流技术概述及相关技术介绍 。6 2 1 工作流技术概述6 2 1 1 工作流管理系统6 2 1 2 工作流参考模型:7 2 1 3 工作流过程模型9 2 1 4 工作流模式1o 2 2 工作流引擎开发相关技术背景概述1 1 2 2 1x m l 、x p d l 和其他数据格式1 1 2 2 2p e t r i 网与有限状态机1 4 2 2 3r u b y 脚本语言17 2 2 4 行为驱动开发方法18 2 3 小结2 l 第三章轻量级工作流引擎设计 2 2 3 1 基于接口的工作流引擎的功能分析2 2 3 2 工作流引擎架构设计一2 6 3 3 过程模型解析器设计2 6 3 3 1x p d l 体系结构分析2 7 3 3 2 基于x p d l 的过程定义解析器设计方案2 8 3 4 工作表结构设计3 0 3 5 工作流实例运行器设计3 3 3 5 1 工作流实例运行案例分析3 3 硕士学位论文 m a s t e r st h e s i s 3 5 2p e t r i 网模型的设计3 4 3 5 3 工作流实例执行方式。3 6 3 6 本章小结。3 7 第四章基于行为驱动开发的工作流引擎实现 4 1 工作表的实现3 8 4 1 1 工作项数据转化方法的实现一3 8 4 1 2 工作项处理方法的实现4 0 4 2p e t d 网基本功能实现4 1 4 3 工作流运行解释模块实现4 2 4 3 1p e t r i 网模型组网方法的实现4 3 4 3 2p e 仃i 网模型运行方法的实现4 6 4 3 3 转移对应活动实例的实现4 7 4 3 4 运行解释模块的其他功能实现4 9 4 4 基于工作流行为的运行解释模块改进与扩展4 9 4 4 1 使用工作流控制模式改进组网和运行算法5 0 4 4 2 基于有色p e t r i 网的运行解释模块扩展实现5 2 4 5 工作流引擎各模块的集成。5 8 4 5 1 工作流引擎的基本模块组装5 9 4 5 2 引擎的分布式服务应用5 9 4 5 3 引擎用户界面的简单实现6 0 4 6 本章小结6 1 第五章结合物流配送管理的应用集成。 6 2 5 1 物流配送业务流程分析6 2 5 1 1 配送申请流程6 2 5 1 2 计划编排流程6 3 5 1 3 配送执行流程6 4 5 2 系统分析与建模6 5 5 2 1 控制流分析与设计6 5 5 2 2 数据流分析与设计6 8 5 3 本章小结7 3 第六章结束语。 7 4 6 1 本文主要工作7 4 6 2 后续工作展望吖7 5 参考文献 在校期间参与项目 致谢。 7 6 8 0 8 1 : 硕士学位论文 m a s t e r st h e s i s 1 1 课题研究背景 第一章绪论 信息自动化技术在现代企业管理中发挥着越来越重要的作用。目前具备一定程 度信息化的企业应用,如销售系统、财务系统、办公自动化系统等,都只是针对某 个领域的具体事务开发的。而在现代企业运作过程中,很多任务是需要两个或以上 不同业务的工作人员共同参与协作完成的,需要经过多个步骤的执行和流转。为了 应对企业实际业务流程中可能出现的变化,减少系统维护难度和减少财务支出,企 业必须找到一种能够满足业务流程自动化的技术,提高自身的信息化程度、运行效 率以及竞争能力。工作流技术即是应这种需求所提出的,它是一种用于实现企业业 务过程建模、业务过程仿真分析、业务过程优化、业务过程管理与集成,最终实现 业务过程自动化的技术。 工作流技术起源于二十世纪八十年代兴起的生产组织和办公自动化,它针对日 常工作中具有固定程序的活动,将工作分解成定义良好的任务、资源和角色,并按 照一定的规则和过程来执行这些任务并进行监控和管理,以达到提高工作效率、降 低生产成本、提高管理水平和企业竞争力的目标。在工作流中把企业活动描述为事 务,通过事务组成的工作流模型来表示业务流程。工作流模型从多个角度定义业务 流程、事务、流程相关数据、执行者和应用程序、组织机构功能等,并描述了这些 信息之间的相互关系,通过对流程的执行及监管,以实现业务分析设计、集成管理 以及自动化控制的目标。实施工作流管理是企业信息化过程中必不可少的环节。 1 2 国内外研究现状概况 在工作流的概念提出至今的三十多年中,工作流管理联盟w f m c ( w o r k f l o w m 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 提出了有关工作流管理 技术的一系列规范,规定了工作流的相关术语、体系结构、应用接口等,成为软件 厂商、科研单位及咨询机构的主要参考标准u 喇。1 9 9 4 年1 1 月2 9 日w f m c 发布了工 作流参考模型,详细描述了工作流管理系统的主要组成部分、各部分的功能及相互 之间的接口。该模型也是本文研究、设计与实现轻量级工作流引擎的直接参考标准。 目前国外许多科研机构、学校以及大型公司的研究院已经开展了很多关于工作 流的研究工作,提出了多种解决方案,取得了不少成果,并还在进一步发展中。较 著名的有i b ma l m a d e n 的基于持久消息队列的分布式工作流系统e x o t i c a f m q m 。; 佐治亚大学设计的具有自适应能力的工作流系统m e t e o r 阳一;苏黎世大学的基于事 件的工作流执行平台中间件体系结构e v e 等n 们。国外很多公司都致力于开发商业化 的工作流系统,如i b m 的m q s e r i e s ,a c t i o n 的m e t r o ,f u j i t s u 的i f l o w ,b e a 的w l i ,f i l e n e t 公司的v i s u a lw o r k f l o 等。开源应用方面,j b p m ,s h a r k ,o s w o r k f l o w 和o p e n w f e 等以其灵活的架构以及简明的实现方法成为集成应用开发主要的解决方 案。工作流应用己成为海外i t 市场中非常稳定的一部分。 相比下国内信息化进程相对落后,管理尚未达到国外水平,工作流技术的研究 应用还处于起步阶段,但也出现了一些优秀的研究和应用,较突出的有清华大学的 基于c o r b a 和w e b 的分布式工作流管理系统c i m f l o w n ,哈尔滨工业大学、浙江大 学等高校也都对工作流技术方面展开了相应的研究n 纠4 l 。国内该领域研究较多的学 者主要有清华大学的范玉顺n 5 j 刮、史美林n 卜1 9 1 等。国内一些企业也推出了具有特色 的工作流产品,如西安协同数码的s y n c h r of l o w ,杭州信雅达的s u n f l o w ,上海东 兰的d l f l o w 等。可以预见,随着国内信息产业的发展和企业技术的进步,国内工 作流应用的前景是非常广阔的。 通过对国内外技术与应用的分析和总结,可以发现工作流相关研究主要集中在 以下几个方面: ( 1 ) 工作流过程建模:主要研究工作流过程的形式化描述方法和语义。过程模 型是对业务流程的形式化描述,包含定义和执行流程所需的各种必要信息,如流程 的开始和结束、流转条件、流程的活动、活动间的逻辑关系、活动引用的内部或外 部数据、数据资源、应用程序和参与者信息等。一些商业或开源的工作流应用往往 有独自定义的过程描述语言。 ( 2 ) 工作流模型的验证与分析:在工作流建模的基础上,研究过程模型的逻辑 正确性验证,主要以p e t r i 网或有限状态机为理论指导,包括选择、环路、并发同 步、死锁等特性的检测。在业务特征分析的基础上,建立功能、数据、资源、组织、 角色模型,以及可能用到的收益和决策模型,并验证这些模型数据的正确性和功能 的完备性。 ( 3 ) 工作流事务管理:事务管理是数据库技术中的概念,指对数据的一组逻辑 操作单元,具有原子性、一致性、独立性和持续性。事务管理保证了数据操作的正 确性、可靠性和易用性,以适应处理大规模业务应用的需求。它潜在要求研究工作 流异常处理和恢复等问题,提供异常情况处理策略、容错能力、故障恢复策略、数 据保护及恢复方法。目前事务模型己在许多领域中得以应用,但工作流系统中的事 务管理尚未达到灵活支持的程度。 ( 4 ) 工作流分布与集成:工作流是由企业自动化和集成提出来的概念,它往往 是针对遗留系统的集成和控制管理,因此对系统的运行和维护问题是对分布式子系 统的集成、部署和控制问题。一个工作流过程的活动可能分布在网络中多个执行引 擎上,通过资源共享、协作通信、并行计算完成流程定义的任务。分布式工作流系 统需要研究活动实例到执行引擎的分解问题,还需要解决分布式系统中所存在的可 靠性、安全性和效率问题。 ( 5 ) 工作流交互:研究包括工作流实例之间的交互和引擎的通信。工作流过程 的活动可能是异构的,并可能有多个实例,需要研究如何检查活动实例,并给出实 例之间交互数据的方法。多引擎下的同步协作对过程定义、通信接口、工作项维护 和任务分配提出了新的要求,对异步工作流的支持是进行更大范围的工作流集成的 基础。工作流交互研究是工作流领域中的一大难点。 ( 6 ) 基于w e b 的工作流:随着互联网的迅猛发展和普及,针对w e b 服务的工作 流管理系统也渐渐得以应用和推广。w e b 服务的优势在于提供了统一的用户界面, 不需要添加额外的组件,使系统管理更加方便,但也受位置透明性、事务功能、安 全性和性能等多方面因素制约。需要研究如何通过w e b 页面向用户表示工作项列表、 待处理的数据、过程执行状态等信息并提供交互操作,以及如何使用c o r b a , j 2 e e ,n e t 等技术完成引擎与w e b 服务器之间的信息传递。基于w e b 的工作流要解 决异构组件部署、对已有系统集成和分布对象计算等问题,使系统具有开放性。 就目前的工作流产品现状来看,工作流应用的功能和规模在向大型化和复杂化 的方向发展。由于工作流应用是一个结合具体业务的再开发过程,用户往往需要接 受相当多的领域知识训练,而开发人员也容易将许多工作流以外的特性引入系统 中,会出现双方职责重叠、行为制约、功能收益者不明的情况,增加了系统开发的 复杂度。现有的工作流系统常存在如下问题: ( 1 ) 过程描述混乱无规范,或表述能力不佳。 ( 2 ) 很难和已有的应用系统集成。 ( 3 ) 无法利用工作流系统进行二次开发。 ( 4 ) 工作流应用执行困难。 ( 5 ) 需要用户进行过多的编程训练才能实现工作流应用。 硕士学位论文 m a s t e r st h e s i s 上述情况主要是设计时存在两种缺陷所致:第一,缺乏严密的形式化数学模型 支持,只是从直观或是用户理解出发来定义过程模型,导致应用很难实现异常处理、 事务管理、过程重组,无法胜任复杂的流程处理任务;第二,缺乏对工作流应用集 成的考虑,没有设计灵活的体系架构和外部接口,导致系统不能方便地和外部应用 交互,失去了交互能力的工作流系统将只能在特定范围内使用。 1 3 本文的主要工作 针对现有工作流产品和研究中存在的问题,本文提出一种轻量级工作流引擎解 决方案。本着满足工作流引擎主要功能需求,能灵活扩展并减低成本的设计原则, 设计时主要考察工作流模型的设计和解析,工作流实例的运行和解释,以及引擎的 外部调用接口,而对具体的外部应用客户端、更深层次的运行方法研究以及完善的 异常处理机制等不做细致展开。 工作流引擎是工作流管理系统的核心构件,它的直接使用者是进行工作流系统 设计和集成的开发人员而非一般用户。故引擎的设计主要针对如下几个目标: ( 1 ) 简化工作原理,使用户容易进行二次开发来满足不同的应用需求; ( 2 ) 方便地插桩和重构模块功能及架构,让开发者能够在线调试和扩展; ( 3 ) 通用的外部接口,便于将该引擎集成到已有应用系统中。 为了实现上述目标,本文在如下几个方面进行了深入研究: ( 1 ) 工作流管理系统的功能特征分析:详细分析工作流参考模型和工作流管 理系统特征,根据参考模型的五大接口确定工作流引擎的功能需求,包括数据接口、 运行解释模块、外部应用和服务接口等部分,根据这些功能需求编写特征用例,建 立行为驱动开发计划和程序框架。 ( 2 ) 工作流引擎体系结构的设计:研究以工作表为主要处理对象的接口、运 行解释、调用和通信等模块之间的关系,在接口、服务、公共组件和内核等多个层 次上讨论各模块职责,设计层级分明、扩展方便、配置灵活的工作流引擎架构。 ( 3 ) 过程定义模型和数据接口设计与实现:通过对w f m c 标准工作流定义语言 x p d l 模板的解析,为过程定义设计通用的数据接口,通过比较在不同场合使用数据 结构的差异,设计了通用性高的过程模型数据格式。 ( 4 ) 工作流引擎的运行和解释功能的实现:提出了平行解释的引擎运行思想, 从两方面考察工作流运行的含义,实现工作流实例的流程逻辑和业务逻辑的分离。 针对工作流的流程逻辑特征,通过分析p e t r i 网的语义特点,结合w f m c 过程模型 的含义,给出工作流实例的运行算法;针对工作流的业务逻辑特征,参照工作流控 硕士学位论文 m a s t e r st h e s i s 制及数据模式,对流程逻辑的执行做出解释并生成报告。 ( 5 ) 对工作流语义的扩展研究:结合动态估值方法设计表达式估值机制,为 工作流应用中表达式设计提供了可能。通过研究有色p e t r i 网原理和工作流控制模 式,改进了运行和解释模块的功能,使之能表述更复杂语义的工作流模型。 此外,引擎在功能层面上还提供了对外部应用、监控客户端、数据库以及分布 式架构的支持,并做了简单实现。 本文使用r u b y 脚本语言实现工作流引擎。针对工作流过程模型数据的多样化 和可变性等特点,利用了脚本语言动态加载特性降低了设计和实现的复杂度。以物 流配送过程为案例,使用行为驱动开发方法,分析并形式化描述了引擎的基本特征, 通过单元级的特征描述、实现、验收流程带动系统级的功能开发及构件集成,量化 了引擎的各种功能指标,逐步实现系统所需功能,提供需求明晰、高复用性的用例 设计代码及文档,通过迭代开发和持续集成完成轻量级工作流引擎的快速构造。 1 4 论文组织结构 本文章节安排如下: 第一章介绍工作流技术背景、研究现状及存在问题,明确了本文的主要目标。 第二章介绍工作流领域中的基本概念及实现工作流引擎所使用的一些技术。 第三章根据工作流引擎的基本功能,设计了系统主要功能模块及体系结构。 第四章实现各模块功能,结合行为驱动开发方法,给出了运行解释模块的组网 和运行算法及实现,并提出了改进和扩展方法。 第五章结合物流配送案例,设计了物流过程的工作流模型,给出了工作流引擎 向应用系统集成的方法。 第六章总结了全文的工作,并对下一步工作进行展望。 硕士学位论文 m a s t e r st h e s i s 第二章工作流技术概述及相关技术介绍 本章将介绍工作流领域相关的技术背景和实现工作流引擎所用技术。首先介绍 工作流管理系统、工作流参考模型、工作流过程模型以及工作流模式四个方面相关 背景。根据这些背景,本文实现引擎时将会使用到x m l 、p e t r i 网、r u b y 脚本语言 以及行为驱动开发方法。 2 1 工作流技术概述 2 1 1 工作流管理系统 w f m c 对工作流管理系统的定义是:工作流管理系统是一个对工作流进行定义和 管理,并根据预先定义好的流程逻辑推进实例执行的软件系统。工作流管理系统不 等于企业的业务系统,很大程度上是为企业的业务系统运行提供一个更大范围的软 件支撑环境,并为各予系统提供引导和控制功能。工作流管理系统直接面向企业经 营管理的软件产品,它可以定义与执行不同覆盖活动范围和时间跨度的经营过程, 通过集成具体的业务应用软件和操作人员的界面操作,实现对企业经营过程运行的 支持。 根据经营过程和组成活动的复杂性和实现方式的不同,系统的管理方式将有所 差异,但一般都提供以下三种功能: ( 1 ) 流程定义:将业务流程描述为工作流过程,并指定过程活动所关联的数 据、资源、参与者、组织以及外部应用。业务人员需要进行业务层面的过程分析与 设计,并通过系统提供的形式化建模工具将其转化为系统可接受的过程模型描述。 过程模型可以是文字,也可能是图形化表示。 ( 2 ) 流程实例化控制:在一定环境下执行工作流过程,实现对过程中每个活 动的监视和控制等功能。根据之前建立的过程模型产生执行实例,对实例的创建、 运行和监控主要由工作流执行服务完成。 ( 3 ) 人机交互:在系统运行中,工作人员的活动将影响流程运行的结果。在 具体的每个活动实施环节,不同的操作人员将和不同的实例客户端交互,将活动的 进展情况反馈给系统,这些交互功能由模型设计工具、具体业务客户端、系统监控 工具等支持。 图2 - 1 给出了工作流管理系统的主要功能之间的关系。该图也明确了一个工作 流管理系统所需要具备的三种主要功能模块,即建模工具、工作流执行工具以及对 硕士学位论文 m a s t e r lst h e s i s 应的实例应用。引擎扮演着执行工具的角色。 工作流管理系统是直接面向客户的,反映在系统中的流程也被称为业务流,它 要求简化用户进行流程设计的培训,用户仅凭自己的业务领域知识在系统帮助下就 能进行流程设计与管理,它是工作流应用的最终表现形式。 图2 - 1i 作流管理系统功能示意图 2 1 2 工作流参考模型 工作流参考模型是w f m c 为实现工作流系统而给出的一种设计架构。w f m c 对工作流执行服务的定义是:由一个或多个工作流机构成的软件服务器,用来创建、 管理、执行工作流实例,应用程序通过工作流应用编程接口( w a p i ) 与之交互。 工作流执行服务可能由多个执行实体共同完成,把工作流执行服务的职责分配给多 个工作流机,这些工作流机被称为工作流引擎。w f m c 对工作流引擎的定义是:为 工作流实例提供运行时执行环境的构件或软件。 工作流引擎需要提供如下功能:解释工作流过程模型;对工作流实例的创建、 激活、挂起、终止等控制功能;对过程活动的导航,包括序列、平行操作、时间调 度以及工作流相关数据的解释;关联参与者;对用户提出的工作项的响应,提供与 用户交互的接口;维护工作流控制数据与相关数据,为应用和用户传输这些数据; 为外部应用调用提供接口,并提供相关数据的连接;提供活动的控制、管理和监视 功能。 工作流引擎的主要职责是执行流程,为了和其他构件交互还需要一些外部接 口。参考模型将工作流执行服务作为参考模型的主要实现对象,并以此提出了五类 接口,只有支持接口功能的工作流执行服务才是能够进行系统集成的有效组件。 ( 1 ) 过程定义接口( 接口1 ) 通过转换格式和a p i 调用来支持过程定义信息的互相转换和传递。该接口把建 模阶段与运行时环境进行了分离,使用户可以选择建模工具和执行引擎,提高了系 统的灵活性。w f m c 为该接口设计了专门的过程定义语言x p d l 。 ( 2 ) 客户端功能接口( 接口2 ) 该接口指出用户和工作流引擎的交互方式。用户通过指定的客户端向工作流系 统发出交互请求,而工作流系统响应该请求,并将结果返回给客户端。系统为客户 端维护一个任务工作表,记录了和客户交互的任务内容。工作表处于引擎和客户端 的边界上,它是引擎执行时需要处理的主要实体。 ( 3 ) 应用程序调用接口( 接口3 ) 工作流引擎通过调用外部应用程序完成活动实例的执行。被调用的应用程序可 能在工作流系统之内,在工作流系统相同的平台下,或是在其他独立的系统中,因 此应用程序调用分为直接访问系统内应用和通过代理访问系统外应用两种情况。进 行调用时根据过程定义中的应用程序信息来确定外部应用的性质、类型、所需的数 据和寻址方法。 ( 4 ) 工作流互操作接口( 接口4 ) 该接口指出多个引擎协同工作时的处理方法。主要有四种场景:离散连接模型 是一起开始但不同步的任务活动;层次模型是指一个过程作为另一个过程中活动所 对应的子过程;非离散连接模型指两个引擎分别占有同一过程的部分活动,通过切 换执行完成过程的执行;平行同步模型是两个过程的某些活动具有同步关系,当执 行到其中一个时将触发事件等待其他活动同步。互操作涉及到子过程控制、数据交 互、同步、系统部署等多种问题,需要检查多引擎中过程定义的一致性,并支持控 制信息、工作流相关数据及应用数据的转换与传输。 ( 5 ) 数据管理接口( 接口5 ) 提供一套全面的功能集对引擎执行进行监视和管理。主要包括:用户管理,建 立、删除、吊销、修改用户或工作组权限;角色管理,定义、删除、修改角色的参 与者,

温馨提示

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

评论

0/150

提交评论