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

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

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

文档简介

基于状态的轻量级工作流引擎的研究与设计 摘要 工作流技术起源于办公自动化,随着管理技术和计算机技术的发展,作 为新兴的信息化应用软件,工作流软件受到越来越多的学者和用户关注。对 工作流系统的研究具有重要的现实意义。 在企业日常经营管理活动中,为适应市场快速变化的需要,企业要经常 要进行流程重组。在采用传统技术开发的系统中,系统主要以菜单驱动为主, 没有将过程逻辑与业务逻辑分离,必须修改程序才能满足变化的要求,缺乏 必要的灵活性。将工作流技术与业务系统结合可以很好的克服这个缺点,这 也是工作流技术的应用越来越多的主要原因。工作流技术为我们开发具有灵 活性的系统提供了强有力的技术保证,现己成为e r p 、c r m 、物流管理等现 代企业经营管理技术的核心。但从工作流系统的实际应用情况来看,还远未 达到人们所期望的普及状态。 目前,软件开发的个普遍现象是软件产品的规模和功能越来越向大型 化和复杂化的方向发展,许多现有的工作流产品过于复杂,对企业的实施应 用成本较高且周期也较长,很多中小型企业难于接受。由于工作流引擎是整 个系统非常重要的组成部分,本文从够用、灵活和低成本的设计原则出发, 提出解决实际工作流应用的基于状态的轻量级工作流引擎方案。在此方案 中,不追求工作流引擎功能的完备和复杂,只实现其中必不可少的功能和特 征。由于是基于状态进行引擎的驱动,所以它可以在传统的关系数据库基础 之上定义工作流信息模型,从技术角度降低了工作流引擎开发的技术难度和 l 工作量,可以非常方便的利用企业现有的关系数据库系统,构造一个能够无 缝地嵌入到传统的应用开发环境中的轻量级工作流引擎,从而实现具有工作 流性质的信息系统,提高了系统开发部署进度并切实地降低了企业实施成 本。它能够最大限度的利用企业现有系统资源,无缝地嵌入到传统的应用开 发环境中。 在文中对工作流中公共的、抽象的、为大多数人所承认的、可以被重用 的逻辑单元“工作流模式”进行了深入的分析和总结,设计出能够满足 大多数应用需要的建模元素,然后以此为依据,设计了相应的工作流活动状 态及状态变迁条件。为了从技术角度降低工作流引擎开发过程中的技术难度 和工作量,使用关系结构来表达工作流引擎中的信息模型,并具体给出了关 键的工作流、工作流节点、工作流节点数据、工作流节点关系、工作流节点 规则、表单与工作流节点关系的信息模型。利用关系数据库管理系统中所提 供的存储过程、包以及触发器等机制,通过节点状态的变化进行流程的驱动 运转,从而在信息模型上实现了基于状态的轻量级工作流引擎的构建。 关键词:工作流引擎,轻量级,状态驱动,节点状态,节点状态转换 r es e a r c ha n dd es i g nf o rs t a t e d ri v e n l i g h t w e i g h tw o r k f l o we n g i ne a b s t r a c t w o r k f l o wt e c h n o l o g yc o m e sf r o mo f f i c ea u t o m a t i o n a n dw o r k f l o w s o f t w a r e ,a st h e 删i n f o r m a t i o n a a p p l i c a t i o n ,i ss h o w ns o l i c i t u d eb yt h em o r e a n dm o r es c h o l a r sa n dc u s t o m e r sw i t ht h ei m p r o v e m e n to fm a n a g e m e n ta n d c o m p u t e rt e c h n o l o g y s o ,r e s e a r c h o nw o r k f l o w s y s t e m h a sm u c hm o r e i m m e d i a t es i g n i f i c a n c e i nd a i l ym a n a g e m e n to fm o d e me n t e r p r i s e s ,p r o c e s s e sh a v eb e e no f t e n r e o r g a n i z e dt om e e tt h en e e d so ft h er a p i d l yc h a n g e dm a r k e tr e q u i r e m e n t s s o f t w a r em u s tb em o d i f i e dt od e a l 、斩t 1 1t h ec h a n g e dr e q u i r e m e n t si nt h e m e n u d r i v e nt r a d i t i o n a li n f l e x i b l es y s t e m ,b e c a u s et h el o g i ch a n d l i n gi s n t d e t a c h e db e t w e e ns e r v i c ea n dp r o c e d u r e n o w , i n t e g r a t i o no fw o r k f l o w t e c h n o l o g yi nt h es e r v i c es y s t e mc a ns u p p l yu sf l e x i b i l i t yt oo v e r c o m e t h i sd e f e c t , s om o r ea n dm o r ea p p l i c a t i o n sw i t l lw o r k f l o wt e c h n o l o g yc o m et ou sa n d b e c o m et h ec o r et e c h n o l o g yi nm o d e mm a n a g e m e n t h o w e v e r , w o r k f l o w s o 任w a r eh a s n tb e c o m et h ep r e v a l e n ts y s t e mi np r a c t i c e ,w h i c hi so u rb e s t o n eu n i v e r s a lp h e n o m e n o ni nt h es o f t w a r ed e v e l o p m e n ti st h a tt h es c a l e s a n df u n c t i o n sa r ee x c e s s i v e l yc o m p l i c a t e dn o w , i n c l u d i n gl o t so fa v a i l a b l e 1 1 1 w o r k f l o wp r o d u c t s t h eh i g h e rc o s t sa n dl o n g - t e r m e dt i m e sa leb e y o n do ft h e c a p a b i l i t yo fm a n ym e d i u ma n ds m a l l s c a l e de n t e r p r i s e s s ow i t hn i m b l ea n d l o w - c o s td e s i g n e dp h i l o s o p h y , t h i sp a p e rs u g g e s t sal i g h t w e i g h tw o r k f l o w e n g i n e s o l u t i o n ,w h i c h i sm o r e p r a c t i c a l t h i s s o l u t i o nd o e s n t p u r s u i t f o r c o m p r e h e n s i v ea n dc o m p l e xw o r k - f l o we n g i n ef e a t u r e s ,b u tf o rt h ee s s e n t i a l f u n c t i o n sa n df e a t u r e s b a s e do nt h es t a t e d r i v e ns c h e m e ,i tc a nb ew o r k e do nt h e t r a d i t i o n a lr e l a t i o n a ld a t a b a s et os u p p l yt h ei n f o r m a t i o nw o r k f l o wm o d e l ,r e d u c e t h ew o r k l o a da n dt h ed i f f i c u l t yo fd e v e l o p m e n ta n dc o n s t r u c tt h el i g h t w e i g h t w o r k f l o w e n g i n e w h i c hc a nb e s e a m l e s s l y e m b e d d e di nt h et r a d i t i o n a l a p p l i c a t i o nd e v e l o p m e n te n v i r o n m e n t ,t h u sa c h i e v i n gaw o r k f l o wn a t u r eo ft h e i n f o r m a t i o ns y s t e mt or e d u c et h ep r o g r e s so ft h ed e v e l o p m e n ta n dd e p l o y m e n t a n d e f f e c t i v e l yr e d u c et h ee n t e r p r i s e s c o s t s t h i sp a p e rg i v e si n d e p t ha n a l y s i sa n ds u m m a r yo ft h er e u s a b l el o g i cu n i t 一 ”w o r k f l o ws c h e m e ,w h i c hi sp u b l i c ,a b s t r a c ta n dr e c o g n i z e db yt h em a j o r i t yo f p e o p l e ,a n dd e s i g n sm o d e l i n ge l e m e n t st om e e tt h en e e d so fm o s ta p p l i c a t i o n s , a n dt h ec o r r e s p o n d i n gw o r k f l o wa c t i v i t i e s ,c h a n g i n gc o n d i t i o n so fs t a t e s i n o r d e rt or e d u c et h ed i f f i c u l t ya n dt h ew o r k l o a di nt h ed e v e l o p m e n t p r o c e s s ,t h i s s t r u c t u r a lr e l a t i o n st oe x p r e s st h ei n f o r m a t i o nm o d e li nt h ew o r k f l o w e n g i n e ,a n dg i v e st h ek e ys p e c i f i cw o r k f l o w , w o r k f l o wn o d e ,t h en o d ed a t a , t h e n o d er e l a t i o n s ,t h en o d er u l e s ,a n dt h er e l a t i o n sb e t w e e nf o r m sa n dw o r k f l o w si n t h em o d e l i ta l s ou s e st h es t o r a g ep r o c e s s ,p a c k a g ea n dt r i g g e rm e c h a n i s m si n i v r e l a t i o n a ld a t a b a s em a n a g e m e n ts y s t e m ,w i t ht h en o d es t a t e s c h a n g e si nt h e o p e r a t i n gp r o c e s s ,a c h i e v e st h ec o n s t r u c t i o no ft h ei n f o r m a t i o nm o d e lb a s e do i l s t a t e d r i v e nl i g h t w e i g h tw o r k f l o we n g i n e k e yw o r d s :w o r k f l o wt e c h n o l o g y ,l i g h t w e i g h t ,s t a t e d r i v e n ,n o d es t a t e , n o d es t a t et r a n s i t i o n v 陕西科技大学硕十学位论文 原创性声明及关于学位论文使用授权的声明 原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下, 独立进行研究所取得的成果。除文中已经注明引用的内容外,本 论文不包含任何其他个人或集体已经发表或撰写过的科研成果。 对本文的研究做出重要贡献的个人和集体,均已在文中以明确方 式标明。本人完全意识到本声明的法律责任由本人承担。 论文作者签名: j 耋,选 e l 期:2 q q 笸生月 关于学位论文使用授权的声明 本人完全了解陕西科技大学有关保留、使用学位论文的规定, 同意学校保留或向国家有关部门或机构送交论文的复印件弄口电 子版,允许论文被查阅和借阅;本人授权陕西科技大学可以将本 学位论文的全部或部分内容编入有关数据库进行检索,可以采用 影印、缩印或其他复制手段保存论文扣汇编本学位论文。 ( 保密论文在解密后应遵守此规定) 论文作者签名:j 岔迭导师签名:膨日 基丁状态的轻鼍级【作流引擎的研究与设计 1 绪论 1 1 课题研究的背景 工作流是针对日常工作中具有固定程序的活动而提出的一个概念。目的是 通过将一个具体的工作分解成多个任务、角色,通过一定的规则和过程,约束 这些任务的执行和监控,以达到提高企业生产经营管理水平。 工作流技术发端于7 0 年代中期办公自动化领域的研究工作。7 0 年代人们 对工作流技术充满着强烈乐观情绪,研究者普遍相信新技术可以带来办公效率 的巨大改善,然而这种期望最终还是落空了。失败的技术原因则包括:在办公 室使用个人计算机尚未被社会接受,网络技术还不普遍,开发者还不了解群件 技术的需求与缺陷。 含有工作流特征的商用系统的开发始于8 0 年代,早期的商用系统主要来 自于图像处理领域和电子邮件领域。图像处理许多时候需要流转和跟踪图像, 工作流恰好迎合这种需求。增强的电子邮件系统也采用了工作流的思想,把原 来点对点的邮件流转改进为依照某种流程来流转。在这些早期的工作流系统中 只有少数获得了成功。f i l e n e t 于1 9 8 4 年推出的w o r k f l o wb u s i n e s ss y s t e m 、 v i e w s t a r 于1 9 8 8 年推出的v i e w s t a r 、a c t i o nt e c h n o l o g y s 0 年代推出的 c o o r d i n a t o r 便是其中的典型代表1 。 进入9 0 年代以后,相关的技术条件逐渐成熟,工作流系统的开发与研究 进入了一个新的热潮。据调查,如今声称支持工作流管理或者拥有工作流特征 的软件有数百种之多。工作流技术被应用于电讯业、软件工程、制造业、金融 业、银行业、科学试验、卫生保健领域、航运业和办公自动化等领域,许多产 品( 如e r p 、c r m 、呼叫中心等) 纷纷集成了工作流管理的功能口】。 工作流的发展阶段也经历了从最初的某些特定领域应用系统,如基于文 件、图像的工作流系统;到具有一定的通信机制,可实现一定的交互协作的应 用系统:再到具有完整的建模用户界面,过程控制界面,利用工作流引擎来进 行独立控制的协同应用系统。 1 2 当前研究应用现状 工作流技术的发展,经过十几年的努力,取得了一定的成果。在我国,从 事工作流管理技术研究,推广以及工作流相关产品开发的并不是很多,基本停 留在文档流转等工作流管理技术的初级阶段,可以说还没有真正按照统一标准 进行开发的可应用于企业核心业务流程的工作流系统产品。 陕两科技大学硕士学位论文 在实际应用中,应用工作流管理系统的企业还是比较少,应用的范围也窄, 效果不理想。虽然国际工作流管理联盟定义了完整意义上的工作流体系结构及 操作标准。但根据工作流管理联盟的结构和标准研制工作流管理系统是一项十 分复杂和庞大的工程,其浩瀚的实施过程难以令大部分企业接受。而且实际操 作过程之中,研发者往往把所谓过程逻辑和应用逻辑捆绑在一起,造成面对不 同需求的重复开发。现有的许多工作流管理系统要求用户必须根据开发商提供 的过程描述语言编写流程脚本,这对于用户而言是件困难的事情。此外,企业 经常会根据市场的变化不断的修改和重组业务流程,甚至完全否定以前的业务 运作模式,或者新增业务流程。目前很多工作流管理系统并未真正做到流程重 组,充其量只是在某些特定环节做一些应用层面的微调而己。出现这些状况的 原因主要有以下几点: 1 工作流底层环境的建立 工作流管理系统必须建立在底层通信的基础上,才能实现分布计算,这要 额外付出经费和精力进行构筑,这是企业所不希望的,从而限制了在企业中的 广泛应用。 2 标准化程度差 不同的厂商所提供的工作流产品具有独立的一套工作流模型、工作流定义 语言、a p i 函数。但难于在不同系统之间进行交互,集成的效果不理想,不能 方便地在不同系统间进行应用对象的重复利用和数据的方便交流。 3 系统的集成性不理想 工作流管理系统没有达到真正的集成,还是在自己独立地运行,处理一些 行政上简单的流程业务不能很好将o a 、e r p 、c r m 、s c m 等具体事务处理 系统紧密地联系在一起,达到数据录入一次即可有效的目的。 4 实现的复杂性 实旌一个完整的工作流管理系统,是一个复杂的过程,要了解其他应用系 统的业务,进行流程处理分析、业务流程改造、管理规程和操作规范建立等, 并且还必须有不同软件供应商的全力配合。 5 系统的安全性 系统中对于并发访问和异常错误缺乏正确和可靠的支持。一旦系统出现非 正常退出,如何恢复数据并保证数据的一致性还需要解决。 6 企业管理者的观念改变 一个系统实施的好与坏,与企业的管理者有密切的关系。任何一个应用系 统只有被用户在实际工作中进行使用才能够算是实施成功。 2 基于状态的轻量级工作流引擎的研究与设计 1 3 课题研究的内容 ( 1 ) 分析、总结各种工作流模式; 工作流模式是整个工作流系统的基础,文中对工作流模式进行深入的分 析,对其进行了一次全面的总结。 ( 2 ) 基于对工作流模式的分析,从够用、灵活和低成本的设计原则出发, 研究设计一种基于状态的轻量级工作流引擎。主要目的是为了屉大限度的利用 企业现有资源,从技术角度去降低工作流引擎开发的难度和工作量,从而使实 施者能够以较低的成本快速进行系统开发部署。 3 陕西科技大学硕士学位论文 2 工作流概述 2 1 工作流和工作流管理系统定义 所谓的工作流就是一组人员为完成某一项业务所进行的所有工作与工作 转交( 交互) 过程。几乎所有的业务过程都是工作流,特别是办公自动化应用 系统的核心应用一一公文审批流转处理、会议管理等。每一项工作以流程的形 式,由发起者( 如文件起草人) 发起流程,经过本部门以及其他部门的处理( 如 签署、会签) ,最终到达流程的终点( 如发出文件、归档入库) 。 2 1 1 工作流 国际上成立了一个称为工作流管理联盟( 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 删c ) 的国际组织,在建立工作流的相关规范和标准方面作了大量的工作。工 作流管理联盟给出的工作流定义是h 1 :工作流( w o r k f l o w ) 是一类能够完全或 者部分自动执行的经营过程,它根据一系列过程规则,文档、信息或任务能够 在不同的执行者间进行传递与执行。 此外,许多学者也尝试对工作流的定义给出一定的描述,但由于每个人有 每个人对工作流的理解,很难对工作流有一个统一的定义。以下列举一些有代 表性的定义: i b ma l m a d e nr e s e a r c hc e n t e r 给出的定义心3 : 工作流是经营过程中流程的计算机化模型,它定义了完成整个过程所需的 各种参数,这些参数包括组成流程的各个步骤,各步骤必须执行的顺序及条件 ( 步骤问的数据流、步骤负责人、步骤使用的应用等) 。 s u s h i lj a j a d i a 给出的定义啼1 : 工作流是计算机辅助流程,它由一系列趋同于同一目标的活动组成。 y e o n g h o k ,s u kh o k 给出的定义拍1 : 工作流是可被计算机系统自动执行和管理的商业流程,通常包括相关的所 有任务、工具、过程和组织。 a m i ts h e t h 给出的定义 】 工作流是涉及多任务协调执行的活动,这些任务分别由不同的处理实体来 完成。一项任务定义了需要傲的某些工作,它可用多种形式来进行定义,包括 在文件或电子邮件中的文本描述、一张表格、一条消息以及一个计算机程序, 用来执行任务的处理实体可以是人,也可以是计算机系统( 比如一个应用程序、 一个数据库管理系统) 。 从以上定义可以看出。工作流实际就是将一组任务组织起来完成某个经营 4 基于状态的轻量级工作流引擎的研究与设计 过程。在工作流中定义了任务的触发顺序和触发条件。每个任务可以由一个或 多个软件系统完成,也可以由一个或一组人完成,还可以是由一个或多个人与 软件系统协作完成。任务的触发顺序和触发条件用来定义并实现任务的触发、 任务的同步和信息流( 数据流) 的传递。 2 1 2 工作流管理系统 工作流描述了组织机构复杂的业务处理过程,涉及到多个系统与多个用户 之间的交互操作以及多个复杂流程,不可能单纯依靠人工干预进行管理,为此 必须建立工作流管理系统w f m s ( w o r k f l o wm a n a g e m e n ts y s t e m ) 。 工作流管理系统的定义是e 8 :“工作流管理系统是一个软件系统,它完成 工作流的定义和管理,并按照在计算机中预先定义好的工作流逻辑推进工作流 实例的执行。 工作流管理系统是定义、创建、执行工作流的系统,能提供以下三个方面 的功能支持阳1 : 建造功能:对工作流过程及其组成活动定义和建模; 运行控制功能:在运行环境中管理工作流过程,对工作流过程中的活动 进行调度; 运行交互功能:指在工作流运行中,w f m s 与用户( 业务工作的参与者 或控制者) 及外部应用程序工具交互的功能。 通常,工作流管理系统指运行在一个或多个称为工作流引擎( 也称为工作 流机) 的软件上的用于定义、实现和管理工作流运行的一套软件系统,它和工 作流执行者( 人、应用) 交互,推进工作流实例的执行,并监控工作流的运行状 态。在很大程度上,工作流管理系统为企业的业务系统运行提供一个软件支撑 环境,类似于在单个计算机上的操作系统。由于工作流管理系统支撑的范围比 较大、环境比较复杂,所以也有人称工作流管理系统是业务操作系统( b u s i n e s s o p e r a t i n gs y s t e m ,b o s ) h 们。在工作流管理系统的支撑下,通过集成具体的 业务应用软件和操作人员的界面操作,能够良好地完成对企业经营过程运行的 支持。 从上面定义中可以看出,工作流是经营过程的一种计算机实现,而工作流 管理系统则是这一实现的软件环境。工作流技术为工作流自动化和构建流程应 用提供基础平台,实现了流程逻辑与业务逻辑的分离1 ,支持业务流程的分析 和规范化定义以及业务单元的自动组装,降低复杂流程应用的开发难度,提高 应用系统的管理效率。 5 陕西科技大学硕七学位论文 2 2 工作流的特点 1 ) 图形化、可视化设计流程图。 2 ) 支持各种复杂流程。 3 ) 组织结构及处理者指定功能。 4 ) b s 结构,纯浏览器应用。 5 ) 强大的安全性特色。 6 ) 表单功能强大,扩展便捷。 7 ) 灵活的外出、超时管理策略。 8 ) 处理过程可跟踪、管理。 9 ) 丰富的统计、查询、报表功能。 1 0 ) 与m a i l 系统集成。 2 3 工作流的优点 企业实施工作流管理所带来的好处是非常明显的,这包括提高企业运营效 率、改善企业资源利用、提高企业运作的灵活性和适应性、提高工作效率、集 中精力处理核心业务、跟踪业务处理过程、量化考核业务处理的效率、减少浪 费、增加利润、充分发挥现有计算机网络资源的作用。实施工作流将达到缩短 企业运营周期、改善企业内( 外) 部流程、优化并合理利用资源、减少人为差 错和延误,提高劳动生产率等目的。 总结实施工作流带来的好处,可以归纳为以下几点: 1 ) 提高企业管理的规范化程度。 2 ) 要处理的事项可以自动传递到个人电脑上。 3 ) 不再需要对员工进行流程的培训,平滑实现流程变更。 4 ) 员工只需将精力集中在处理自己关心的数据上。 5 ) 通过更好地规划工作流模型,并行执行相互独立的活动,减少文档传 递过程中不必要的中间状态等方法来降低文档的传递和临时储存的 时间,降低业务过程的整个处理时间。 6 ) 随时生成处理效率报表,通过对已经完成的工作流实例的分析,找出 存在的不足,进而不断改进工作流程。 7 ) 达到无纸化办公的目标。 8 ) 完全支持移动办公,使作业同步化。 9 ) 科学管理更进一层,办公效率明显提高。 1 0 ) 企业的核心竞争力将有提升。 6 基于状态的轻昔级工作流引擎的研究与设计 1 1 ) 通过流程自动化与数据库集成,以及各类表单统计查询功能,提高决 策能力。 2 4 工作流技术应用领域 工作流技术可以应用于以下一些领域并发挥重要作用。 ( 1 ) 并行工程:工作流技术可以很好地用于产品开发过程的建模和管理, 它也可以作为产品协同设计、产品设计中的冲突协调、产品数据管理与流程控 制的支撑系统。在这一领域的应用中,需要增强工作流对产品数据及其相关集 成文档的描述能力,并且需要在工作流技术融入c s c 的技术和方法。 ( 2 ) 企业建模与系统集成:以工作流过程为核心,以功能、信息、组织与 资源视图为辅助手段研究集成化的企业建模方法,并开发相应的集成化企业建 模土具。在进行这方面的研究工作时,要重点解决不同视图模型之间的集成问 题和模型的一致性问题,在此基础上,可以建立以工作流管理系统为基础的集 成平台和集成框架软件,从而实现方便、快捷、灵活的应用系统集成。 ( 3 ) 供应链管理:工作流管理技术可以较好的用于实现供应链建模和管理 功能,结合工作流仿真和优化技术,还可以用于进行企业分销体系的优化。 ( 4 ) 企业经营过程重组:这是工作流技术应用的主要领域。虽然工作流管 理为系统的重构提供了必要的手段,但是要真正实现企业经营过程的快速重 组,企业的应用系统需要按照组件的方式进行构建或改造,而且对应用组件的 粒度要求应该与过程重组所需的灵活性相匹配。 ( 5 ) 敏捷制造:工作流管理系统可以作为企业间信息集成的使用工具,基 于w f b 和基于邮件方式的工作流管理系统可以为企业灵活地组建动态联盟和实 现信息交换发挥重要作用。在这一应用领域中,要充分考虑广域网环境下系统 之间信息传递的可靠性问题,以及不同工作流系统之间的互操作和重构问题。 7 陕曲科技大学硕士学位论艾 3 工作流管理系统 3 1 工作流管理系统的体系结构 为了实现j 作流技术的标准化和r 放性,对异构的 。作流管理系统与其他 应用系统之叫的集成,】作流管理联盟提出了工作流管理系统体系纪构的参考 模型,浚模型中规范了功能组成部件和接口。 一# 仆杩件 口采抗控制数据 口外甜t 品,粘据 囤3 1 工作流管理系统体系结掏图 f i 9 3 1 w o r k f l o wm a n a g e m e n ts y s t e mp r o d u c ts t r u c t u r e | 聱| 3 1 为w f m c 提出的工作流管理系统的体系结构罔i 。这个参考模型 的体系结构给出了抽象的 作流管理系统的功能组成部件和接i q ,它能够满足 作流管理系统和产品所应该具有的主要功能特征,可为实现工作流产品之间 的互操作提供公韭的单础。 基丁二状态的轻鼍级t 作流引擎的研究与设计 必须指出,组成工作流管理系统的任何功能部件可以在不同的软硬件平台 上采用不同的方法实现,同样接口也可以在不同的软硬件平台上采用不同的设 计技术和编程语言进行编程。 一般说来,工作流产品的提供商不会将这些部件之间的所有接口完全对外 开放,但是为了实现不同工作流产品之间的集成,它们会按照互操作和协作的 不同要求在一定层次上开放其接口。 从图中的体系结构中,我们可以看出,工作流管理系统主要内容分三部分: 软件构件。完成相应功能的实现,包括流程过程定义,流程的发起、审批、 监控、结束等。 系统控制数据。存储本系统和其他系统进行逻辑处理、流程控制、规则、 约束条件、状态、结果等数据。 其他应用与应用数据。供工作流系统调用的外部应用和数据。它们不是工 作流管理系统的组成部分,而是被工作流系统调用来完成整个和部分工作流管 理的功能。 3 1 1 系统的软件构件 通过分析,我们可以看到,工作流管理系统的软件构件是实现工作流管理 的基本构件,负责整个工作流管理的基本功能实现。它包括:工作流模型建立, 工作流执行服务,客户应用管理。 i 作流模型建立:工作流模型描述了能够由工作流执行服务、执行的过 程所需要的所有信息,它是工作流管理系统的基础。它可以利用第三方 的建模工具,形象化地建立流程模型,并通过接口关系,建立系统所需 要的控制数据;也可以通过系统本身的流程定义,直接生成控制数据。 在流程定义中,要包括流程、活动、转换条件、相关数据、角色、需要 的应用等实体。 工作流执行服务:工作流执行服务是工作流管理系统的核心。它是企业 经营过程的任务调度器。在过程建立完毕后,将由工作流执行服务进行 全面管理、监控和调度具体的实例执行。包括:过程的实例化和执行、 为过程和活动进行调度、与外部资源交互、处理相关数据。 客户应用管理:是客户操作具体任务和活动的管理模块,负责工作流任 务表中任务的分发管理。可以将一个工作流管理系统中的任务管理器提 供给客户;同时,也可以针对多个工作流产品或者是多个应用系统产品, 编写通用的任务管理器,进行系统的集成。 9 陕西科技大学硕士学位论文 3 1 2 系统的数据分类 工作流管理系统中存储的数据可以分成:工作流控制数据,它是工作流执 行服务对其进行控制,用于处理过程或活动实例:相关数据,控制过程实例状 态转换的条件,并决定相关的逻辑走向,可以被应用所修改;应用数据,是指 由应用程序操作的数据,反映的是具体业务的宴际内容信息,它是在整个流程 中进行流动。实际上,前两个数据是工作流管理系统中本身需要的数据,第三 类数据是其他系统中的业务数据。比如,e r p 系统结构化的数据。 3 1 3 其他应用的调用 工作流管理系统在设计和实施中,都必须提供足够的柔性,来满足不同应 用的需要。在与不同的应用系统进行交互时,要提供足够的灵活性。可以建立 应用接口规范和提供标准的a p l 函数在不同的系统间进行交互:可以建立灵活 的调用通道,直接调用e r p 系统中的应用进行事务处理,这种调用可以在分 布和异构的系统间进行。 3 2 工作流管理系统的组成 一个完整的工作流管理系统中主要包括如下七个部分的部件和数据。 3 2 1 过程定义工具 过程定义工具被用来创建计算机可处理的业务过程描述。它可以是形式化 的过程定义语言或对象关系模型,也可以是简单地规定用户间信息传输的一组 路由命令。 3 2 2 过程定义 过程定义( 数据) 包含了所有使业务过程能被工作流执行子系统执行的必 要信息。这些信息包括起始和终止条件、各个组成活动、活动调度规则、各业 务的参与者需要做的工作、相关应用程序和数据的调用信息等。 3 2 3 工作流执行子系统和工作流引擎 工作流执行子系统也称为( 业务) 过程执行环境,包括一个或多个工作流 引擎。工作流引擎是w f m s 的核心软件组元。它的功能包括:解释过程定义, 创建过程实例并控制其执行,调度各项活动,为用户工作表添加工作项,通过 应用程序接口调用应用程序,提供监督和管理功能等。工作流执行子系统可以 包括多个工作流引擎,不同工作流引擎通过协作菇同执行工作流。 3 2 4 工作流控制数据 指被工作流执行子系统和工作流引擎管理的系统数据,例如工作流实例的 状态信息、每一活动的状态信息等。 1 0 基丁状态的轻量级t 作流引擎的研究与设计 3 2 5 工作流相关数据 指与业务过程相关的数据。w f m s 使用这些数据确定工作流实例的状态转 移,例如过程调度决策数据、活动间的传输数据等。工作流相关数据既可以被 工作流引擎使用,也可以被应用程序调用。 3 2 6 工作表和工作表处理程序 工作表列出了与业务过程的参与者相关的一系列工作项,工作表处理程序 则对用户和工作表之间的交互进行管理。工作表处理程序完成的功能有:支持 用户在工作表中选取一个工作项,重新分配工作项,通报工作项的完成,在工 作项被处理的过程中调用相应的应用程序等二 3 2 7 应用程序和应用数据 应用程序可以直接被w f m s 调用或通过应用程序代理被间接调用。通过 应用程序调用,w f m s 部分或完全自动地完成一个活动,或者对业务参与者的 工作提供支持。与工作流控制数据和相关数据不同,应用数据对应用程序来讲 是局部数据,对w f m s 的其他部件来说是不可见的。 3 3 工作流参考模型 工作流管理联盟推荐的工作流参考模型( w o r k f l o wr e f e f c n c cm o d e l ) 给出了 工作流管理系统结构的通用描述,如图3 - 2 ,它描述了工作流系统的相关概 圣习 接口1 7 i - 图3 - 2 工作流参考模型 f i 9 3 2 w o r k f l o wr e f e r e n c em o d e l 陕西科技大学硕士学位论文 念、组成工作流系统的各个功能模块及各个功能模块之间的相关接口,包括核 心的工作流执行服务,以及过程定义工具,工作流客户端应用程序,被调用的 应用程序,其他工作流执行服务,管理和监控工具等模块和相应的接口。工作 流系统参考模型己逐渐经成为设计工作流系统结构时的参考标准。 3 3 i 各模块的功能描述 ( 1 ) 工作流执行服务( w o r k f l o we n a c t m e n ts e r v i c e ) 。工作流执行服务也称为 业务执行环境,是工作流管理系统的核心组件。用于创建案例,根据过程定义 生成工作项,匹配资源和工作项,支持活动的执行以及记录工作流的特定信息。 执行服务可由一个或多个工作流引擎( w o r k f l o we n g i n e s ) 组成,在有多个工作流 引擎的执行服务中,可根据案例的属性、任务和资源的情况将工作分配到多个 引擎上,而工作在多个引擎上的分布对用户来说是透明的。 ( 2 ) 过程定义工具( p r o c e s sd e f i n i t i o nt o o l s ) 。过程定义工具( 或更宽泛地应 称为工作流定义和分析工具) 可以分为过程定义、资源分类、过程分析三粪功 能。过程定义功能向用户提供将实际业务处理过程转化为可为计算机处理的形 式化描述的过程分析、建模手段。资源分类工具对执行工作流时所需的资源进 行分类,描述各资源分类的特性和各资源分类之间的联系。过程分析是在定义 好的工作流投入使用前,对定义的过程进行检测的工具,包括分析过程定义的 语义正确性和工作过程仿真等功能。 。 ( 3 ) 客户端应用程序( w o r k f l o wc l i e n ta p p l i c a t i o n ) 。客户端应用程序向用户 提供在过程实际执行时同工作流系统进行交互的工具。在工作流的实例运行 期,用户通过客户端应用程序提供的工作列表完成对工作流程的处理。工作的 分配可以通过“推式一或“拉式斗驱动。当工作流引擎分配工作项给单个用户 时为推式驱动。当工作项被分配给成组用户时为拉式驱动,此时工作项可能出 现在多个用户的工作列表中,由用户自行选择执行。 ( 4 ) 被调应用的应用程序( i n v o k e da p p l i c a t i o n l 。被调应用的应用程序是指 在工作流实例运行期间,由工作流执行服务启动用于处理应用数据和完成特定 的任务的外部应用程序。例如w o r d 一类的文字处理器,e x c e l 一类的电子数 据表格处理器,或一个专门为业务过程开发的应用程序。 ( 5 ) 管理和监控工具( a d m i n i s t r a t i o na n dm o n i t o r i n gt o o l s ) 。管理和监控工具 完成对工作流过程实例及资源的管理和监控功能。分为两部分,一部分负责工 作流运行管理的相关操作,一部分负责工作流执行期间各种信息的记录和报 告。为管理提供有益的信息。 ( 6 ) 其它工作流执行服务。其它工作流执行服务指在本工作流系统以外的 1 2 基丁状态的轻量级i = 作流引擎的研究与设计 其它工作流系统的工作流执行服务。接受相同管理且使用相同工作流定义的工 作流引擎属于同个工作流域,然而案例除了在同一工作流域内的引擎上运行 外,还可能在若干独立自治的工作流系统间传递,因此这些工作流的执行服务 必须相互链接,具有互操作性。 3 3 2 标准接口描述 为了让工作流系统中的各功能模块协同工作流,工作流管理联盟在参考模 型中定义了5 类标准接口n 引: 接口1 :过程定义输入输出接口。它定义了工作流建模工具和工作流执行 服务间的接口关系,包括工作流模型的解释和读写等操作。这个接口提供的 w a p i 包括以下几个功能: ( 1 ) 建立或关闭相互间的通信连接。 ( 2 ) 获取工作流定义( 包括过程定义和资源分类) 。 ( 3 ) 创建、检索和删除过程定义,创建、设置和删除过程对象的属性。 接口2 :客户端应用程序接口。它是工作流执行服务和客户端应用程序之 间的接口,最重要的接口规范之一,约定了工作列表处理器域执行服务之间的 交互。主要定义了以下几个方面的功能: ( 1 ) 通信建立:各个参与运行的系统之间通信建立与断开。 ( 2 ) 工作流定义操作( 对过程模型定义操作) :对于过程模型的名称和属性 的查询和检索功能。 ( 3 ) 过程实例管理功能:创建开始结束一个过程实例;挂起重新激活 一个过程实例:强行改变过程实例或活动实例的状态;查询过程实例或 活动实例的相关属性值。 ( 4 ) 过程状态管理功能:设置过滤条件,打开关闭对一个过程实例或活 动实例的查询:设置过滤条件,获得部分过程实例或活动实例所需的详 细信息。 ( 5 ) 任务项列表任务项处理功能:设置可选的过滤条件,打开关闭一个 任务项列表查询;设置过滤条件,获得任务项列表中的项目;对任务项 的选择重新分配完成等消息的通知;设置和查询一个任务项属性。 ( 6 ) 数据处理过程:查询返回上作流相关数据、工作流应用数据。 ( 7 ) 过程监控功能:改变一个过程模型和其现存的实例的运行状态;改变 某种特定类型的过程实例或活动实例的状态;改变某种特定类型的过程 实例或活动实例的属性;结束所有的过程实例。 ( 8 ) 管理功能:其他的管理功能。 1 3 陕两科技大学硕+ 学位论文 ( 9 ) 应用程序激活。 接口3 :调用应用程序接口。外部应用程序由工作流系统通过本接口打开。 它的w a p i 函数应包括以下几个方面的功能: ( 1 ) 建立断开与应用程序( 或应用程序代理) 的通信。 ( 2 ) 活动管理功能;开始活动;挂起重新激活退出活动( 需要一个非同 步的应用程序界面) ;通知活动结束;查询活动属性、消息事件( 如同步 信息等) 。 ( 3 ) 数据处理功能:提供工作流相关数据( 在活动执行前向应用程序提供 数据,活动结束后从应用程序中获得所需数据) ;提供工作流应用数据或 提供数据地址。 接口4 :工作流执行服务之闻的互操作接口。它定义了若干自治的工作流 系统之间的信息交换标准。它提供的w a p i 促进了工作流系统之间的互操作, 包括以下一些内容: ( 1 ) 连接的建立; ( 2 ) 对工作流模型和其中对象的操作; ( 3 ) 过程实例控制和状态函数; ( 4 ) 活动管理函数; ( 5 ) 数据处理函数。 接口5 :系统管理与监控接口。它是工作流管理、监控工具与工作流执行 服务之间的接口,可分为两个部分功能,工作流系统管理功能和工作流追踪功 能。其w a p i 包括以下几个方面的内容: ( 1 ) 资源控制:设置取消修改过程或活动实例的并发层次( c o n c u r r e n c y l e v e l ) 。 ( 2

温馨提示

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

评论

0/150

提交评论