(计算机应用技术专业论文)轻量级工作流引擎研究与设计.pdf_第1页
(计算机应用技术专业论文)轻量级工作流引擎研究与设计.pdf_第2页
(计算机应用技术专业论文)轻量级工作流引擎研究与设计.pdf_第3页
(计算机应用技术专业论文)轻量级工作流引擎研究与设计.pdf_第4页
(计算机应用技术专业论文)轻量级工作流引擎研究与设计.pdf_第5页
已阅读5页,还剩70页未读 继续免费阅读

(计算机应用技术专业论文)轻量级工作流引擎研究与设计.pdf.pdf 免费下载

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

文档简介

独创性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他 人已经发表或撰写过的研究成果,也不包含为获得西南科技大学或其它教育机构 的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均 已在论文中作了明确的说明并表示了谢意。 签名:搿武 日期:m 1 7 关于论文使用和授权的说明 本人完全了解西南科技大学有关保留、使用学位论文的规定,即:学校有权 保留学位论文的复印件,允许该论文被查阅和借阅;学校可以公布该论文的全部 或部分内容,可以采用影印、缩印或其他复制手段保存论文。( 保密的学位论文 在解密后应遵守此规定) 一缘扒翩虢钟誓沥例汐反多 西南科技大学硕士研究生学位论文第l 页 摘要 工作流引擎是工作流管理系统的核心。轻量级工作流引擎具有简洁、灵活等特 性并能方便地集成到面向流程的应用而成为当前研究的热点。本文为此研究设计 了一种模型简单、结构清晰、部署简便的轻量级工作流引擎。 本文采用有向图设计过程模型、从流程实例及活动实例的状态转换分析了控制 模型、以角色描述组织模型等三方面研究设计出了引擎支持的工作流模型,并用 工作流管理联盟提出的x p d l 语言来描述该模型。从逻辑层次把引擎的体系结构 划分管理控制台、引擎内核、数据持久层3 个部分,并根据功能对引擎内核划分 了流程定义管理、流程实例化、流程调度、任务管理、历史信息管理等模块。 最后按照工作流引擎的体系层次结构,分模块实现了引擎各个部分的功能,并 应用引擎实现了一个工作流管理系统的原型应用,达到了预期效果。 关键词:工作流引擎过程模型工作流管理系统 西南科技大学硕士研究生学位论文第1 i 页 a b s t r a c t w o r k f l o we n g i n ei st h ee s s e n t i a lo faw o r k f l o wm a n a g e m e n ts y s t e m l i g h t w e i g h t w o r k f l o we n g i n eh a sb e c o m eah o tr e s e a r c hs p o tw h i c hc a nb ee a s i l yi n t e g r a t e di n t o p r o c e s s - o r i e n t e da p p l i c a t i o n sw i t hs i m p l e ,f l e x i b l ef e a t u r e t h ep a p e rr e s e a r c h e sa n d d e s i g n sal i g h t w e i g h tw o r k f l o we n g i n ew i t hs i m p l em o d e l ,c l e a rs t r u c t u r e t h ew o r k f l o wm o d e lp r o p o s e dh a sf o l l o w i n gt h r e ef e a t u r e s :p r o c e s sm o d e l d e s i g n e db yd i r e c t e dg r a p h ,c o n t r o lm o d e lo ft h ep r o c e s si n s t a n c ea n da c t i v i t yi n s t a n c e a n a l y z e db ys t a t et r a n s i t i o n ,o r g a n i z a t i o nm o d e lb a s e do nr o l e s t h ew o r k f l o wm o d e li s p r o g r a m m e di n x p d ll a n g u a g e t h el o g i c a lv i e wo ft h ee n g i n ei sd i v i d e di n t o m a n a g e m e n tc o n s o l e ,e n g i n ec o r e a n dd a t ap e r s i s t e n c el a y e r t h ee n g i n ec o r eh a s f u n c t i o n ss u c ha s p r o c e s sd e f i n i t i o nm a n a g e m e n t ,p r o c e s si n s t a n t i a t i o n ,p r o c e s s s c h e d u l i n g ,t a s km a n a g e m e n ta n dh i s t o r i c a li n f o r m a t i o nm a n a g e m e n t t h ep r o t o t y p eo ft h ew o r k f l o wm a n a g e m e n ts y s t e mi sr e a l i z e dw h i c hh a sa b o v e f u n c t i o n so ft h ee n g i n ei na c c o r d a n c ew i t ht h es y s t e mh i e r a r c h y ad e m o n s t r a t i o n a p p l i c a t i o ni sb u i l tb a s e d o nt h ee n g i n e t h et e s t ss h o wt h ee x p e c t e dr e s u l t s k e y w o r d s :w o r k f l o we n g i n e ;p r o c e s sm o d e l ;w o r k f l o wm a n a g e m e n ts y s t e m 西南科技大学硕士研究生学位论文第1 li 页 目录 1 绪 仑。1 1 1 研究背景和研究意义1 1 2国内外研究现状2 1 3 论文的选题及研究内容4 1 4 论文的章节安排5 2 工作流技术概述:6 2 1 工作流的起源6 2 2 工作流的相关概念6 2 3 工作流管理系统8 2 4 工作流管理系统的部署9 2 5 工作流管理系统体系结构1 2 2 6 工作流管理系统参考模型1 3 2 7 小结1 5 3 轻量级工作流引擎研究与设计1 6 3 1 工作流引擎研究1 6 3 1 1 工作流引擎概述1 6 3 1 2 轻量级工作流引擎1 6 3 2 工作流模型设计18 3 2 1 工作模型概念18 3 2 2 过程模型设计18 3 2 3 组织模型设计2 4 3 2 4 控制模型设计2 4 3 3 基于x p d l 的过程定义语言2 5 3 3 1 过程定义概念2 5 3 3 2 过程定义元模型2 6 3 3 3 基于x p d l 的过程定义语言2 6 3 3 4 从工作流模型到x p d l 映射2 8 3 4 轻量级工作流引擎设计3 0 3 4 1 轻量级工作流引擎的设计目标3 0 3 4 2 轻量级工作流引擎的整体结构3 1 3 4 3 轻量级工作流引擎工作过程3 2 西南科技大学硕士研究生学位论文第1 v 页 3 5 小结一:3 4 4 轻量级工作流引擎的实现3 5 4 1实现引擎的相关技术3 5 4 1 1j a v ae e 3 5 4 1 2m v c 框架s t r u t s 3 6 4 1 3 1 ib e r n a t e 3 8 4 2 管理控制台实现3 8 4 3 引擎内核实现4 0 4 3 1 流程定义管理4 0 4 3 2 流程处理4 3 4 3 3 任务管理4 7 4 3 4 历史信息管理4 9 4 3 5 事件处理4 9 4 4 持久层实现5 0 4 5 数据库设计5 l 4 5 1 概念模型设计5 2 4 5 2 逻辑模型设计5 3 4 5 3 物理模型设计5 4 4 5 4 关系模型图6 0 4 6 引擎的应用实例6 2 4 7 小结6 4 结论6 5 致谢6 6 参考文献6 7 作者攻读学位期间发表的论文7 0 西南科技大学硕士研究生学位论文第1 页 1绪论 1 1研究背景和研究意义 工作流管理技术是处理企业管理信息系统中复杂的业务过程结构、解决 人机交互等问题的有效的技术方法,在企业的业务流程建模、实现企业经管 过程重组和提高企业信息化建设水平等方面发挥着重要作用。在传统的企业 信息系统应用中,业务流程以硬编码的方式写在程序中,使得业务逻辑和业 务流程掺杂在一起,业务流程被隐藏在企业应用系统的内部,给后期的业务 流程分析上带来诸多不便;而随着企业信息资源的不断膨胀及快速变化的市 场需求,传统的企业信息系统已经很难完成企业对生产经营过程的集成管理。 而工作流技术作为上世纪9 0 年代最流行的软件技术在实现业务逻辑和过程 逻辑分离的基础上,可以支持企业实现对经营管理和生产组织的过程控制以 及决策支持,能够实现现代企业对“在适当的时间把适当的信息传给适当的 参与者”的要求川。 工作流技术是实现企业业务过程建模、业务过程仿真分析、业务过程优 化、业务过程管理与集成,最终实现业务过程自动化的核心技术 2 1 。把工作 流的管理方法应用到企业经营过程中,对企业经营过程中的业务流程进行建 模并做深入研究对企业的业务过程的优化和重组具有重要意义。 工作流管理技术作为一种过程建模和过程管理的核心技术,可以与企业 的各种信息系统相结合,产生面向流程的管理应用系统,以满足企业的各种 复杂流程业务处理需求。采用工作流技术作为核心开发的业务管理系统最大 的特点是它们具有高度的灵活性,可以按照企业的具体需求,快速灵活地生 成应用软件系统,并且在客户业务流程发生变化时,能迅速的进行重组来满 足客户的需求【3 1 。 工作流引擎是工作流管理系统的核心,为工作流管理系统在业务流程定 义时提供支持、并在运行时提供解释和执行服务的_ 组数据模型和软件【4 】。 在传统的工作流管理系统中,工作流引擎被封闭在系统内部结构中,与系:统 的其它部分一起对外提供服务,造成了工作流管理系统庞大、复杂,不利于 工作流技术在中小企业的管理信息系统中应用。所以,很有必要把工作流管 理系统的最主要的、必不可少的功能从“系统”中剥离出来,独立成一个轻 量级的组件( 工具包) ,即工作流引擎,使其能够很方便灵活地嵌入式到具有 流程处理需求的企业信息系统中,达到具有工作流管理系统的功能。在企业 西南科技大学硕士研究生学位论文第2 页 信息系统中引入轻量级工作流引擎,具有如下优点: ( 1 ) 减少企业软件系统成本,面对业务流程的变化做出快速反应,提升企 业市场竞争力。 ( 2 ) 不断改善企业经营过程,提高企业业务过程工作效率。 ( 3 ) 实现企业业务过程自动化控制,提高企业服务水平。 1 2国内外研究现状 工作流技术在上个世纪8 0 年代得到研究机构和工作流产商的重视,并在 这个阶段得到长足地发展,被电子政务、电子商务、科学研究、生产制造等 相关行业客户的认同,使得工作流在以上各领域得到了广泛地应用。到了9 0 年代,工作流技术的标准化组织工作流管理联盟t 5 1 ( w o r k f l o wm a n a g e m e n t c o a l i t i o n 简称:w f m c ) 的成立,标志着工作流技术进入相对成熟的阶段。 而随着工作流技术标准和规范的不断完善,计算机和网络技术的不断使用和 推广,工作流技术得到了飞速发展。工作流管理系统产品的研究和丌发进入 了热潮。目前国外涌现一批工作流产品,比较著名的有:i b ml o t u sw o r k f l o w , j b o s sj b p m ,o p e n s y m p h o n yo s w o r k f l o w ,e n h y d r as h a r k 等。 i b ml o t u sw o r k f l o w t 6 l 是基于i b ml o t u sd o m i n o 而实现的一款工作流管 理系统。l o t u sw o r k f l o w 能够管理和监视企业的业务流程并使之实现自动化, 能优化业务流程以适应企业不断变化的业务需求,并提供方便易用的应用程 序开发工具来设计和调整业务流程,使之发挥最大效率。l o t u sw o r k f l o w 包 含图形设计工具、强大的数据库技术、内置工作流逻辑、目录工具和w e b 增 强应用程序编程接口工具箱。由于d o m i n o 系统结构不太灵活,开发者自由 发挥的余地比较小,对底层编程困难。 i b p m ( j a v ab u s i n e s sp r o c e s sm a n a g e m e n t ) 是j b o s s 企业中间件平台的一 个组成部分,它是覆盖了业务流程管理、工作流、服务协作等领域的一个开 源的、灵活的、易扩展的工作流管理系统【7 】。j b p m 在工作流模型的流程定义 没有采用工作流管理联盟规范,如x p d l 、b p m l 、e b x m l 、b p e l 4 w s 等, 而是采用自定义的j b p mp r o c e s sd e f i n i t i o nl a n g u a g e ( j p d l ) 。j p d l 把业务流程 看作一个u m l 状态图,并详细定义了状态图的每个部分,如起始、结束状 态,状态之间的转换。i b p m 专注于业务逻辑的处理,在企业应用集成( e a i ) 领域得到广泛应用。j b p m 有完善的文档和活跃的社区,目前广泛被企业所 采用的一款开源工作流引擎。但i b p m 的设计比较复杂,它运行的数据库需 西南科技大学硕士研究生学位论文第3 页 要创建3 2 张表。 o s w o r k f l o w 是用j a v a 语言编写的开放源代码的工作流引擎,具有显著的 灵活性及完全面向有技术背景的用户的特点【8 】。它的工作流模型是基于f s m ( f i n i t es t a t em a c h i n e ,有限状态机) 理论,每个步骤由步骤标识和状态组成。 事件触发驱动步骤之间的变迁,在工作流生命期内有至少一个或多个活动的 步骤。由于其灵活性强,所以二次开发难度大。另外,o s w o r k f l o w 自2 0 0 6 年8 月发布2 8 版本后,再也没有更新了,目前已经停滞不前。 s h a r k 宠一争基于w 伽c 和o m g ( 0 b j e c tm a n a g e m e n tg r o u p ) 标准,使用 x p d l 作为工作流定义语言的一款工作流引擎【9 】。s h a r k 中的各个功能组件如 持久层、事务管理器等都是相互独立,用户可以自由选择其它类型的组件。 而在s h a r k 的内部结构技术实现上,s h a r k 是基于轻量级的系统结构,可以方 便地集成到各类有工作流需求的应用中。但在s h a r k 是使用个冷门的开源 关系对象映射工具e n h y d r ad o d s 来作数据持久层,给应用开来带来不少难 度。 国内工作流技术的研究起始于九十年代后期,经过1 0 多年的发展,出现 了不少工作流产品。西安协同数码和西北大学共同研发的s y n c h r o f l o w 工作 流管理系统【1 0 】,目前已经发展到s y n c h r o f l o w6 ,它包括工作流引擎、图形 化的流程建模工具、流程监控、自定义表单、流程流转、分布式等完善的体 系架构,并且严格遵循w f m c 规范。它在工作流引擎内部使用高性能的消息 调度服务,使得引擎具有异步处理消息的能力,能高效的进行消息持久化。 通过调配消息队列数量,根据不同的系统负荷,灵活地将工作流引擎进行平 滑的伸缩,适应不同业务的需求。 杭州信雅达工作流管理软件s u n f l o w 是基于j 2 e e 技术规范和w f m c 标 准开发的,采用基于域的三级分层联邦系统架构,是一个分布式的工作流管 理软件产品1 1 1 】。它通过专门的i c o n n e t 组件把工作流管理系统集成到各种信 息系统中。同时,s u n f l o w 支持分布式管理及业务流程仿真。 尽管工作流技术的研究正日益受到人们的重视,在经过工作流研究人员 和众多工作流产商十几年的不懈努力,取得了很多的研究成果。但是从工作 流管理系统的实际应用状况来看,还远远未达到研究人员所期望的普及水平。 在企业经营过程尤其是在相当数量的中小型企业中采用工作流管理系统仍只 是少数,而且这些系统的应用范围也很有限,并不能全方位地支持企业的关 键业务流程。在仔细分析目前国内外主流工作流管理系统后,发现存在如下 问题: 西南科技大学硕士研究生学位论文第4 页 ( 1 ) 实现复杂,应用难度大。国外较早进入工作流技术研究的机构和企业, 在经过多年研发之后,出品了一些系统灵活,功能完备,模块众多、价格昂 贵的产品,只适合在少数大型企业或工作流技术应用经验丰富的企业里进行 推广,但对目前国内大部分中小企业及对工作流技术的应用掌握不多的开发 人员,这些工作流管理系统的产品复杂程度远远高于本身应用系统,企业学 习成本高,应用难度大。这些都给被实施项目带来一定的软件风险,不宜在 国内广泛普及。 ( 2 ) 系统封闭,部署时需要购置其它基础组件。工作流管理系统一般包括 流程定义模块,工作流引擎组件、工作流应用管理接口等多个功能模块,而 这些模块应该相互独立存在,互不影响,允许客户端用户自由选用不同的技 术方法实现,但目前有些工作流产商把工作流产品套件打包销售给用户。例 如i b ml o t u sw o r k f l o w 是基于i b md o m i n o 开发,l o t u sw o r k f l o w 无法单独 工作,必须与d o m i n o 软件一起才能实现工作流管理系统的功能。这种以群 组工作软件提供产品的形式限制了用户对软件产品组件的选择权,大大增加 了软件成本。 ( 3 ) 引擎支持的流程模型定义不遵守相关规范,各成体系。有些工作流系 统为了追求某些特性而没有采用w f m c 提出的规范作为流程定义模型,导致 工作流模型各具特色、互不兼容、移植性差,不利于与其它工作流产品进行 互操作。 1 3论文的选题及研究内容 本文针对当前工作流产品存在一些不足,结合大量中小企业对工作流管 理系统应用需求的特点,在对工作流的基本概念、功能、体系结构、参考模 型等研究的基础上,设计并实现了一个轻量级工作流引擎,引擎采用j a v a 语 言编写,最后以软件组件( j a r 包) 的形式发布,可以以嵌入式方式部署到面向 业务流程的企业信息系统应用中如办公自动化、电子政务、电子商务等。该 工作流引擎具体如下特点: ( 1 ) 模型简单并遵循w f m c 规范:设计了一种简洁的工作流模型,并用 x p d l t l 2 1 ( x m lp r o c e s sd e f i n i t i o nl a n g u a g e ) 实现来描述。x p d l 规范是工作流 管理联盟提出的一种基于x m l 的工作流过程定义语言,所有支持x p d l 语 言的流程定义的工作流管理系统都可以进行交互,使得工作流管理系统具有 一定的通用性及可移植性。 西南科技大学硕士研究生学位论文第5 页 ( 2 ) 结构清晰,易于理解:对工作流管理系统的参考栌型做了详细分析, 以轻量级为工作流引擎设计为首要目标,设计出的引擎结构清晰,模型划分 合理,层次简洁,使得应用开发人员能够很方便理解工作流引擎体系结构。 ( 3 ) 轻量级,应用简单:工作流引擎对外提供的接口及引擎使用的数据库 表结构都非常简单,能够很简单地嵌入式到面向业务流程的应用系统中。 为了实现如上所述的轻量级工作流引擎,本文将围绕以下几项主要工作 展开研究: ( 1 ) 工作流及工作流管理系统的理论研究。具体的研究内容包括:对工作 流的基本概念、工作流管理系统功能、系统结构、参考模型等进行详细地讨 论和分析。 ( 2 1 轻量级工作流引擎的研究设计。具体包括:工作流引擎支持的工作流 模型的研究与设计、引擎体系结构的详细分析,引擎各个模块核心功能的详 细设计等。 ( 3 ) 轻量级工作流引擎各个模块功能实现,并利用工作流引擎开发一个简 单的工作流管理系统应用,达到预期目的。 1 4 论文的章节安排 论文围绕如何设计出一个轻量级工作流引擎以满足业务流程类企业应用 需求等相关技术问题开展研究工作。全文共分四章,各章内容安排如下: 第一章简介工作流问题的研究背景及其研究意义,确定论文研究内容, 介绍国内外研究状况和本文的研究内容。 第二章研究工作流的基本理论知识,主要阐述工作流管理系统的基本概 念,相关术语,参考模型,以及整体框架结构,为下一章的研究设计提供理 论依据。 第三章设计了一个轻量级工作流引擎,包括模型设计,体系结构设计, 并详细说明了各个部分的功能。 第四章轻量级工作流引擎的实现,包括对引擎各模块详细分析,并给出 了一个简单的工作流管理系统原型。 最后总结了本文的研究工作及下一步需要继续研究的问题点。 西南科技大学硕士研究生学位论文第6 页 2 工作流技术概述 2 1 工作流的起源 工作流是由一系列需要不同人员共同参与才能完成的任务而形成的一个 过程。工作流技术起源于上个世纪7 0 年代的办公自动化系统中,它用来解决 同一个任务中不同人员,不同任务项之间交互的问题,以缩短任务的完成时 间,提高参与者的工作效率、降低企业经营支出、达到企业经营过程重组、 实现企业经营管理的自动化及增强企业市场竞争力的目的。工作流技术由此 得到越来越多的重视并在上世纪8 0 年代逐渐发展起来,给企业的管理信息系 统中业务过程的处理带来一种新的解决方案。到了9 0 年代伴随着计算机通信 和网络技术等相关信息技术的迅猛发展,工作流技术得到了快速的发展,特 别是在生产制造业领域,结合先进的企业资源计划( e r p ) 应用系统得到较 好的应用b 3 1 。 2 2 工作流的相关概念 目前学术界对工作流的定义并没有一个统一的说法,各个研究学者从不 同的角度对工作流的概念提出各自的见解。工作流管理联盟w f m c 将其定义 为:工作流是一类能够完全或者部分自动执行的经营过程,它根据一系列过 程规则、文档、信息或任务能够在不同的执行者之间进行传递与执行】。 i b ma l m a d e n 研究中心的定义:业务过程的一种计算机化的表示模型, 定义了完成整个过程所需要用到的各种参数,这些参数包括对过程中每一单 独步骤的定义、步骤的执行者,步骤间执行的顺序和条件、数据流的建立以 及每个活动所涉及的应用程序等i ”】。 “ w m p v a n d e r a a l s t 的定义:工作流是一系列工作的偏序集。工作的序列 可以有多种形式,例如:工作x 与y 满足x y 当且仅当x 在y 开始之前就 己经就绪i 。 而通俗地理解工作流是由企业生产经营过程中出现的依照事先定义的某 个“流程”而执行的一串任务项组成的过程,并且把过程中的参与者、任务 项及流程流转规则提取出以便于对经营过程进行分析、优化,以达到提高生 产经营水平及生产效果。工作流管理联盟组织在对工作流技术领域涉及的相 关定义、概念等术语方面制定了一些规范。以下介绍了与工作流相关的一些 西南科技大学硕士研究生学位论文第7 页 基本概念及其相互关系如图2 1 : 图2 1工作流概念之间的关系图 f ig u r e2 1t h er e i a t i o n s h i pb e t w e e nw o r k f i o wc o n c e p t s ( 1 ) 业务流程:在功能确定的组织结构中,能够实现业务目标和策略的相 互连接的过程和活动集【 】。例如:报销过程、请假过程。 ( 2 ) 过程定义:用形式化定义的方式来描述企业经营过程中潜在的业务流 程。过程一般由多个活动组成,而过程定义主要包括活动开始节点、结束节 点、活动节点之间的转换逻辑条件以及各个活动中涉及的人员信息及相应数 据信息。 ( 3 ) 活动:过程中每个步骤对应的任务项的逻辑表示。活动根据执行的主 体可以分为人工活动和系统自动活动。它是工作流管理系统中最小的逻辑执 行对象单位。 ( 4 ) 流程实例:工作流管理系统中运行的业务流程。流程实例能被工作流 引擎调度执行,并与外部应用完成交互,业务流程通过流程实例不断向前推 进。 ( 5 ) i 作流管理系统:一个软件系统,完成工作流的定义和管理,并按照 在计算机中预先定义好的工作流逻辑推进工作流实例的执行【1 8 】。 西南科技大学硕士研究生学位论文第8 页 2 3 工作流管理系统 工作流管理系统运行在具有一个或多个工作流引擎的软件上,引擎可以 对过程定义进行解释、与工作流的参与者进行交互,并根据需要调用外部应 用程序,推进工作流实例的执行,并监控工作流的运行状态【2 】。工作流管理 系统对工作流的管理过程主要包括以业务流程建模、工作流执行和控制及业 务流程重组等三方面如图2 2 所示: 工作流执行和控制 一、? v 汐乙 ? :遵新业务流程 ,7 荔 1 。,殇撬产 3 业务流程重组 图2 - 2工作流管理过程 fig u r e2 - 2w or k fi ,o wm a n a g e m e n tp r o c e s s 由工作流管理系统对工作流3 个方面的管理过程可得出,工作流管理系 统需要3 个功能,如图2 3 所示: ( 1 ) 工作流定义功能:把企业经营过程通过建立模型,描述成一种机器能 理解并能进行处理的过程。工作流定义是工作流管理系统的基础功能为其它 功能提供基础数据。 ( 2 ) 运行控制功能:分析处理企业中的经营过程定义,并根据过程定义启 动流程实例,对其执行过程进行管理,对执行过程中产生的各种数据进行维 西南科技大学硕士研究生学位论文第9 页 护。 ( 3 ) 运行交互接口:工作流管理系统开放与外部信息系统进行交互的接口, 以便与外部信息系统可根据不同的场景而选择不同的外部工具来完成与工作 流管理系统之间的交互。 经营过程分析、建模与 过程设计与定义 定义工具 姜事 建立阶段 运行阶段 过程定义 过程实例化与控制 图2 - 3工作流管理系统的功能 fig u r e2 3w o r k fio wm a n a g e m e n ts y s t e mf u n c tio n s 2 4 工作流管理系统的部署 工作流管理系统不同于e r p 和普通的企业管理信息系统,e r p 与普通的 企业管理信息系统是事务处理系统,其主要目的是满足企业业务操作功能, 提高企业事务处理的效率和水平【”】。而工作流管理系统的目的是让企业能够 在瞬息万变的信息时代能够随着不断变化的需求而做出快速反应的能力,由 此提升业务管理能力和提高市场竞争力。 因工作流管理系统与其它企业管理信息应用系统有很大的不同点,所以 在部署的方式方法与其它应用系统存在着差别。企业在部署工作流管理系统 西南科技大学硕士研究生学位论文第1o 页 之前必须以较高层次详细分析企业中的业务流程,以确定企业业务需求及部 署预期达到的目标。一般工作流管理系统部署的层次层,如图2 4 所示: 战略与组织层 1 协作的目标、协调的效果 2 组织集成的要求 之多之乡 设计层 1 设计方法学和设计元模型 2 工作流模型设计 弋7弋夕 运行层 控制层 1 丁作流执行 1 工作流跟踪 2 信息交换 2 工作流分析 j 弓j 弓 技术层 1 分布环境的交互 2 异构系统连接 图2 - 4工作流管理系统部署层次结构图 f i g u r e2 - 4 t h ew o r k f i o wm a n a g e m e n ts y s t e mh i e r a r c h yd e p i o y e d 只有在仔细研究工作流管理系统部署层次结构及预计成果后,企业才能 对工作流管理系统进行部署。工作流管理系统在实际系统中的部署一般分为 3 个阶段,即模型建立阶段、模型实例化阶段和模型运行阶段【2 0 】,如图2 5 所示。 模型建立阶段:过程工程师通过分析企业业务过程,并抽象出业务过程 以取得过程定义。 模型实例化阶段:系统管理员实例化业务流程并提供业务流程流转的各 种信息,为流程的执行提供基础数据服务。 模型执行阶段:一般用户启动流程实例,业务流程向前推动,同时需要 用户与计算机之间相互协作,以使得流程顺利向前运行,而系统管理员需要 监视流程的状况。 西南科技大学硕士研究生学位论文 第1 1 页 产品或者 其它结果 图2 - 5工作流管理系统部署过程图 fig u r e2 - 5w o r k fio wm a n a g e m e n ts y s t e md e pio y m e n tp r o c e s s 在生产环境下,企业的业务流程并不是一成不变的,因为变化莫测的市 场需求使得企业必须能够及时地做出调整,而业务流程的改善、优化是成败 的关键部分。所以,在工作流管理系统部署之后业务流程常常要随着外部因 素的不断变更而做出快速的反应。通常,工作流管理系统都要经过这么一个 周期,使其不断成熟,以达到业务流程的最优化。如图2 - 6 显示了一个完整 的部署周期: 图2 - 6工作流管理系统部署周期图 fig u r e2 - 6 w o rk fio wm a n a g e m e n ts y s t e m sd e pio y m e n tc y c ie ( 1 ) 首先在对传统的文档处理分析及深入研究的基础上,得出业务过程的 雏形。 ( 2 ) 运用计算机化的处理方式,引入相关的建模方法,建模工具对第一个 西南科技大学硕士研究生学位论文 第12 页 步骤得到的业务过程雏形进行研究处理,以获取业务过程的计算机化描述即 业务流程模型。 ( 3 ) 对第二个步骤得到的业务流程模型进行模拟执行,以便找出模型中的 不足,退回到建模阶段,重新建立更加合理的模型,不断重复本步骤,直到 符合预期目标。 ( 4 ) 在工作流管理系统中执行上一步得到的业务流程模型,通过监控数据 及其它信息分析业务流程中的b u g ,并及时修复,又回到第一个步骤,完成 了一个周期。 2 5工作流管理系统体系结构 w f m c 提出的工作流管理系统的体系结构如图2 7 所示。该体系结构规 范了工作流管理系统的功能组成部件,它满足工作流管理系统和产品应该具 有的主要功能特征,为实现工作流产品之间互操作提供公共基础【2 l 】。 图2 7工作流管理系统的体系结构图 f i g u r e2 7 w o r k f i o wm a n a g e m e n ts y s t e ma r c h i t e c t u r e 西南科技大学硕士研究生学位论文第13 页 工作流管理系统的各种组件模块具有独立性,模块之间使用接口进行通 信,而屏蔽了模块内部的具体实现细节如使用技术、实现语言等。从图2 7 可以把工作流管理系统体系结构分成以下几个部分: ( 1 ) 功能组件:工作流管理系统最核心的功能部分,提供对外服务的各个 功能模块。 ( 2 ) 工作流相关数据:工作流系统在运行过程产生的各类数据,提供给引 擎以做流程调度决策,也可提供给系统管理员做业务流程分析,以实现业务 过程重组。 ( 3 ) - i - _ 作流应用数据:提供与外部信息系统以便完成与工作流管理系统之 间的交互,并且只能被外部管理信息系统所调用,而工作流引擎无法访问该 数据。 2 6 工作流管理系统参考模型 由于工作流系统的多样性,为实现彼此的互连和互操作,有必要为不同 工作流系统提供一个共同的设计框架,对工作流系统的结构加以标准化1 :2 】。 工作流管理联盟在2 0 世纪9 0 年代中期发布了工作流管理系统的参考模型, 详细阐明了工作流相关术语及其定义,同时描述了组成工作流系统的各个功 能模块的功能,以及各个功能模块之间的接口功能定义1 2 3 】。工作流管理系统 参考模型如图2 8 所示: 西南科技大学硕士研究生学位论文第14 页 图2 - 8工作流管理系统参考模型图 fig u r e2 - 8 w o r k fio wm a n a g e m e n ts y s t e mr e f e r e n c em o d ei ( 1 ) 工作流执行服务位于整个系统结构图的中央,是工作流管理系统的心 脏。它通过五个接口完成与流程定义工具、系统管理监控工具、外部应用程 序、工具代理及其它工作流执行服务之间的信息传递与数据交换。 ( 2 ) 流程定义工具:完成把企业业务流程用一种直观友好的形式表示并展 示给最终用户。 ( 3 ) 客户端应用:完成最终用户与工作流引擎进行数据信息交换的界面应 用。 ( 4 ) 工具代理:完成工作流管理系统中不需要人工参与的任务( 系统任务) 的应用,如发邮件等等。 ( 5 ) 管理监控工具:完成在工作流系统执行过程中的各种对象状态、属性 等信息的管理和维护,系统管理员可根据这些信息分析业务流程,实现业务 过程重组。 工作流参考模型为工作流管理系统的关键软件部件提供了功能描述,并 西南科技大学硕士研究生学位论文第15 页 描述了关键软件部件之间的交互,从功能的角度定义五个关键软件部件的交 互接 2 1 ,推动了信息交换的标准化,使得不同产品间的互操作成为可能【2 4 】。 2 7 小结 本章首先介绍了工作流技术的起源及相关概念,接着介绍了工作流管理 系统的概念、部署、体系结构和参考模型。 西南科技大学硕士研究生学位论文第16 页 3轻量级工作流引擎研究与设计 3 1 工作流引擎研究 3 1 1 工作流引擎概述 工作流管理联盟对工作流引擎的定义是:为工作流实例提供运行时期的 执行环境的软件服务器或构件】。它对工作流过程定义进行解释并转换为引 擎支持的工作流模型,为流程实例的执行提供各类资源,并根据流程定义的 流程和数据信息调度推进实例向前运行。在工作流管理系统中,工作流引擎 主要完成以下功能: ( 1 ) 创建并执行流程实例:工作流引擎解析流程定义,把流程定义的节点 数据、转移条件等元信息提出来,为生成的流程实例运行做准备,而后创建 并启动流程实例,并对流程实例在执行过程产生的状态信息进行管理维护。 ( 2 ) 调度执行中的流程实例:根据流程定义和工作流相关数据,为过程实 例的运行进行调度;根据活动之间的关联条件和活动的执行条件,决定后续 的路由活动;给用户提供需要操作的工作流任务项信息;启动相应的应用程 序等【2 5 】。 ( 3 ) 与外部应用程序进行交互:引擎在与外部应用程序进行交互按照任务 类型的不同分为两类:对于自动型任务,工作流引擎直接与外部应用程序完 成交互,一般不需要人工的参与;而对于人工型的任务,引擎一般通过提供 一个管理控制台界面的方式来完成引擎与用户之间的信息交换及数据传送。 ( 4 ) 维护各类数据:流程实例在运行过程中其属性、状态等数据信息将发 生变化,工作流引擎对这些数据进行管理维护,在与外部应用程序进行交互 时提供数据支持。 3 1 2轻量级工作流引擎 工作流技术主要解决企业管理信息系统中具有过程性质的业务及其涉及 的人与任务项之间相互协作的问题。而在企业管理系统中的应用集成中引入 工作流技术有自治式和嵌入式两种方式: 1 在自治式工作流系统集成模式中工作流系统与业务应用系统的交互方 式上,工作流引擎以远程调用方式提供w a p i 汜“。而工作流引擎给外部应用程 序提供了如w e b 服务等远程方法调用接口,同时外部应用程序必须为自治式 工作流引擎提供远过程调用业务方法。 西南科技大学硕士研究生学位论文第17 页 2 嵌入式工作流引擎不能单独运行,以组件形式部署到外部应用系统中, 用于控制业务逻辑的执行顺序、管理任务队列和流程状态等旧“。 嵌入式工作流引擎相对自治式工作流引擎的优势: ( 1 ) 嵌入式工作流引擎基于组件的思想,复用性更好旧“。 ( 2 ) 嵌入式工作流引擎可以加速投入市场周期,以较低的成本提供丰富的 工作流功能| 2 。 ( 3 ) 嵌入式工作流引擎更便于部署,若嵌入式工作流引擎用j a v a 语言编 写,部署时把引擎对应的j a r 包入到类路径中就可以。而自治式工作流引擎 是与外部应用程序相分开的,需要通过w e bs e r v i c e 等远程调用技术与外部 应用程序进行交互,在部署时要复杂不少: ( 4 ) 嵌入式工作流引擎二次开发更加简单。由于大部分独立运行工作流引 擎也会在客户端,提供方便远程调用的本地调用,所以在二次开发时,程序 员大部分时间都可以不大关注引擎是本地的还是远程的。但在传递某些业务 参数和例外处理中,远程调用还是有些特殊的要求和限制的。 而轻量级工作流引擎是指从够用、灵活和低成本的设计原则出发,不追 求工作流引擎的功能的完备和复杂,只是实现其中必不可少的功能和特征。 在设计工作流引擎时主要考虑对其数据模型的定义和解释、活动之间的协调 以及任务的分配和控制等功能提供支持】。 采用轻量级工作流引擎是基于如下原因: ( 1 ) 许多现有的工作流产品都在不同程度上提供了对外部工具的集成功 能,部分产品还提供了基于表单的应用逻辑的定制和开发环境。但是,外部 工具的多样性和复杂性决定了对外部工具的集成难以做到无缝;而工作流产 品内建的开发工具除了与流行的丌发工具不兼容外,其开发功能往往都比较 简单。因此,对于简单的应用( 例如公文流转、订单的审批等) ,这些产品是 合适的。但是,如果是开发关键业务的应用系统( 特别是行业应用系统) ,现 有工作流产品所能提供的开发功能是远远不够的。 ( 2 ) 许多针对d b m s 的开发工具提供了极强的应用开发手段,但是这些开 发工具往往不具备对工作流机制的支持,而现有的工作流产品由于其出发点 不同,很难与其它开发环境有机地融合在一起。因此开发人员往往苦于找不 到一套合适的工作流支撑系统来开发具有工作流特征的应用。 ( 3 ) 具有工作流特征的应用的形态千变力化,要想在工作流系统中对不同 的应用( 包括应用数据) 进行统一的表示往往不遂人意。利用这种所谓灵活的 ,工作流系统开发出来的应用在实际运作过程中反而表现不灵活。因此,另外 本文提出的“轻量级工作流引擎”是以嵌入式的方式集成到面向有工作 流管理技术需求的中小企业信息系统,可以在这些信息系统中以嵌入式的方 式引入轻量级工作流引擎,而集成成本低廉、应用简单、部署方便等特点完 全符合广大中小企业对工作流管理系统的需求。 3 2 工作流模型设计 3 2 1工作模型概念 工作流模型是对工作流的抽象描述,也是对经营过程的抽象表示,工作 流模型不仅需要明确地表达经营过程中的活动以及活动间的关系,而且还要 对活动间所传递的信息、活动的执行实体、活动所需要的资源等方面进行定 义【3 2 】。工作流模型一般包括过程模型、组织模型、控制模型。 ( 1 ) 过程模型用于描述业务流程的过程逻辑,包括组成工作流的所有活动 以及活动之间的依赖关系,是整个工作流模型的基础与核心,其它模型

温馨提示

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

评论

0/150

提交评论