(计算机应用技术专业论文)基于wf工作流技术研究及应用.pdf_第1页
(计算机应用技术专业论文)基于wf工作流技术研究及应用.pdf_第2页
(计算机应用技术专业论文)基于wf工作流技术研究及应用.pdf_第3页
(计算机应用技术专业论文)基于wf工作流技术研究及应用.pdf_第4页
(计算机应用技术专业论文)基于wf工作流技术研究及应用.pdf_第5页
已阅读5页,还剩72页未读 继续免费阅读

(计算机应用技术专业论文)基于wf工作流技术研究及应用.pdf.pdf 免费下载

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

文档简介

摘要 随着n e tf r a m e w o r k 的不断升级,微软在其新一代操作系统w i n d o w sv i s t a 中捆绑发布了n e tf r a m e w o r k 3 0 。n e tf r a m e w o r k3 0 与以前的版本相比,架构 上发生了根本性的改变。它包含三大全新组件,本文要研究的w i n d o w sw o r k f l o w f o u n d a t i o n ( 简称w n 就是其中之一。它的出现,彻底填补了微软在工作流框架上 的空缺。但由于发布的时间不长,对于如何利用这个框架、采用何种方式去实 现具体的工作流产品,成为微软公司与广大工作流研究者近年来讨论的热点。 针对上述问题,本文以办公自动化中的企业日程管理为例,给出了实现w f 工作流产品的两种方案,以适应不同企业的需求。 本文主要工作如下: 1 参考工作流管理联盟( w f m c ) 提出的标准,对工作流管理系统的功能、 体系结构、参考模型做了理论上的解析与探讨。 2 研究了w f 的工作流运行机制、特点、体系结构和运行环境,并对其工 作模型进行了必要的归纳和总结。 3 给出了w f 持久化服务与跟踪服务的详细设计。 4 基于s h a r e p o i n t 和o u t l o o k 实现w f t 作流。在这种实现方案下,s h a r e p o i n t 作为w f 工作流运行时( r u n t i m e ) 的托管者,对w f 工作流引擎做了二次封装,而 o u t l o o k 作为客户端,用来从s h a r e p o i n t 中获取日程信息。 5 基于w e b 技术实现w f 工作流。在这种实现方案下,以a s e n e t 作为w f 的宿主应用程序,详细阐述了w f 工作流系统在企业日程管理工作中的设计模 式、功能模块,数据库设计等。并给出了部分w f 工作流服务的实现步骤。 实践表明:本文给出的这两种基于w f 实现工作流产品的方案是可行的。其 中通过s h a r e p o i n t 和o u t l o o k 实现w f 工作流的方式,具有使用方便且运行稳定的 优点,这为快速、高效的搭建工作流产品提供了可能,从而提高了企业办事的 效率,节约了企业的成本。但是由于受至l j s h a r e p o i n t 的每个版本所提供的功能接 口、模板的局限性,使其不能适用于对功能要求太高的企业。相比较而言,第 二种实现方案基于w e b 技术实现w f 工作流的方式,具有更好的系统兼容性, 能完全释放w f 的功能,但缺点是开发与测试的周期较长。 关键字:w f ,工作流,服务,s h a r e p o i n t a b s t r a c t w i t hd o tn e tf r a m e w o r kc o n t i n u i n gu p g r a d e ,m i c r o s o fi ni t sn e x t g e n e r a t i o n o p e r a t i n gs y s t e m ,w i n d o w sv i s t ar e l e a s e dab u n d l ed o tn e tf r a m e w o r k 3 0 d o t n e tf r a m e w o r k3 0c o m p a r e dw i t ht h ep r e v i o u sv e r s i o n s ,t h e r eh a sb e e na f u n d a m e n t a lf r a m e w o r kf o rc h a n g e i ti n c l u d e st h r e en e wc o m p o n e n t s ,w es h o u l d s t u d yt h ew i n d o w sw o r k f l o wf o u n d a t i o n ( w f ) i so n eo ft h e m i t sac o m p l e t e l yf i l l t h em i c r o s o f tw o r k f l o wf r a m e w o r kv a c a n c i e s h o w e v e r , t h er e l e a s et i m ew a sn o t l o n g ,f o rh o wt ou s et h i sf r a m e w o r k ,i nw h a tm a n n e rt ot h ea c h i e v e m e n to fs p e c i f i c w o r k f l o wp r o d u c t s ,a sh o td i s c u s s i o n sb ym i c r o s o f ta n dw o r k f l o wr e s e a r c h e ri n r e c e n ty e a r s t oa d d r e s st h ea b o v ep r o b l e m ,t h i sp a p e rt oo f f i c ea u t o m a t i o nm a n a g e m e n to ft h e e n t e r p r i s ea g e n d aa sa ne x a m p l e ,g i v e nw fw o r k f l o wp r o d u c t st oa c h i e v et h et w o p r o g r a m m e st om e e tt h en e e d so fd i f f e r e n te n t e r p r i s e s i nt h i sp a p e ra r ea sf o l l o w s : 1 r e f e r e n c ew 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 ) s t a n d a r d s ,t h ew o r k f l o w m a n a g e m e n ts y s t e mf u n c t i o n , a r c h i t e c t u r e ,t h er e f e r e n c em o d e ld o n eat h e o r e t i c a l a n a l y s i sa n dd i s c u s s i o n 2 w fo nt h ew o r k f l o wo p e r a t i o nm e c h a n i s m ,f e a t u r e s ,a r c h i t e c t u r ea n do p e r a t i n g e n v i r o n m e n t ,a n di t sm o d e lo ft h en e c e s s a r yw o r kt ot h es u m m a r ya n ds u m m a r y 3 w fi sap e r s i s t e n c es e r v i c e sa n dt r a c k i n gs e r v i c e sf o rt h ed e t a i l e dd e s i g n 4 b a s e do ns h a r e p o i n ta n do u t l o o ka c h i e v ew fw o r k f l o w i nt h er e a l i z a t i o no f t h i sp r o g r a m m e ,a sw fs h a r e p o i n tw o r k f l o wr u n t i m e ,t h et r u s t e e s h i pc o u n c i l ,t h e w fw o r k f l o we n g i n et ot h es e c o n d a r yp a c k a g i n g ,a n do u t l o o ka sac l i e n t ,t oo b t a i n f r o ms h a r e p o i n ts c h e d u l ei n f o r m a t i o n 5 w e b b a s e dt e c h n o l o g yw fw o r k f l o w i nt h er e a l i z a t i o no ft h i sp r o g r a m m e ,a s w fa s e n e tt oh o s ta p p l i c a t i o n s ,w fd e t a i l e dw o r k f l o ws y s t e mi nt h ee n t e r p r i s e a g e n d ai nt h em a n a g e m e n to ft h ed e s i g n ,f u n c t i o nm o d u l e s ,d a t a b a s ed e s i g n w fa n d g i v e ss o m eo ft h ew o r kf l o ws e r v i c e si m p l e m e n t a t i o ns t e p s p r a c t i c es h o w st h a t :i nt h i sp a p e r , t h er e a l i z a t i o no ft h e s et w ow o r k b a s e dw f p r o d u c ti sf e a s i b l e s h a r e p o i n ta n do u t l o o kt h r o u g hw h i c ht oa c h i e v ew fw o r k f l o w , u s e r - f r i e n d l ya n ds t a b l eo p e r a t i o nw i t ht h em e r i t s ,a n di tw a sf a s t ,e f f i c i e n t s t r u c t u r e sw o r kf l o wp r o d u c t sm a d ei t p o s s i b l et oi m p r o v et h ee f f i c i e n c yo ft h e e n t e r p r i s e s ,t h ec o s to fs a v i n gt h ee n t e r p r i s e h o w e v e r , o w i n gt oe a c hv e r s i o no f s h a r e p o i n lp r o v i d e db yt h ef u n c t i o n a li n t e r f a c e ,t e m p l a t e sl i m i t a t i o n s ,i t c a nn o tb e a p p l i e dt ot h eh i g hp e 向r m a n c er e q u i r e m e n t so f t h ee n t e r p r i s e b yc o m p a n s o n ,t h e s :二n df e a l i z a t i o no ft h ep r o g r a m m e w e b b a s e dt e c h n o l o g yw f w o r kn o w a b e t t e r s y s t e mc 。m p a t i b i l i t y , w ff u l l y f u n c t i o n a lr e l e a s e ,t h ed i s a d v a n t a g ew a st h a t t h e d e v e l o p m e n t a n dt e s t i n gc y c l el o n g e r k e yw o r d s :w f , w o r k f l o w ,s e r v i c e s ,s h a r e p o i n t 1 i i 独创性声明 本人声明,所呈交的论文是本人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人 已经发表或撰写过的研究成果,也不包含为获得武汉理工大学或其它教育机构的 学位或证书而使用过的材料。与我同工作的同志对本研究所做的任何贡献均已 在论文中作了明确的说明并表示了谢意。 关于论文使用授权的说明 本人完全了解武汉理工大学有关保留、使用学位论文的规定,即学校有权保 留、送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部或部 分内容,可以采用影印、缩印或其他复制手段保存论文。 ( 保密的论文在解密后应遵守此规定) 签名:蛳师签名:盔盎二日期:兰缝j f 武汉理i :人学硕 二。何论文 1 1 选题背景 第l 章绪论 在企业办公的过程中,不论是行政、人事、财务还是客户服务、业务销售 方面,只要涉及r 程管理,大部分表单都是采用纸张填写,手工传递,或者是 w o r d e x c e l 文档填写,邮件发送等方式。手工管理企业日程流程,特别是对于那 些需要人员交互与审批的流程安排,每一步都是环环相扣的,当一个处理者完 成了他对应的部分后另外的处理者才能接着处理,所有这些都需要手工或邮件 或传真到对应的下一个处理者手中。期间,为了了解任务的状态,必须挨个询 问,不仅不方便而且还可能出现丢失资料或时间延误等情况。事后,处理结果 是以文档的方式存档,而所有的处理过程也缺少必要的记录,这样不利于查询、 报表及知识的再利用。一般在业务流程中暴露出的问题有以下几种情况: ( 1 ) 很多时间和精力浪费在信息的传递和内部的协调上。 ( 2 ) 对于没有规范的流程,某些业务,责任不明确,容易造成管理上的混乱。 ( 3 ) 对于有规范的流程,因缺乏处理过程的纪录和跟踪,实际操作过程中, 人为干扰的因素还大量存在,导致有了标准但无法按标准办事的情况存在。 ( 4 ) 关键业务流转常常因各种因素造成时间延误。 ( 5 ) 过度依赖于纸张,不仅浪费而且拖慢了企业的发展步伐。 因此企业迫切需要一个高效、灵活、低成本、特别是能够使不同部门人员 协同工作的企业自动化日程管理系统。而本文所研究的w i n d o w sw o r k f l o w f o u d a t i o n ( 简称w n 工作流技术正好为企业对这种需求的实现提供了技术上的支 撑。 1 2 研究现状 工作流管理联盟( 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 t m q 在它的技术白 皮书中,给出了工作流管理系统( w o r k f l o wm a n a g e m e n ts y s t e m ,简称w f m s ) 的基本框架,在很大程度上规范了工作流管理体系,但还存在着很多不足之处, 武汉理l :人学硕l j 学位论文 主要表现在以下几个方面: ( 1 ) 工作流管理系统缺乏柔性。在实际应用中,业务流程的执行都不是一成 不变的,外部环境的变化以及在流程执行过程中的一些意外情况都可能造成流 程执行与流程定义的偏离1 9 l 。虽然近年来对这个方面的研究很多,但还没有哪一 个工作流产品能够很好地解决这个问题。 ( 2 ) 难以有效地对企业的原有系统进行整合。目前,企业一般都使用了各种 信息系统来支持企业的经营与管理。这些信息系统可能是基于运行于不同的平 台的发开技术,但目前的工作流产品还没有很好的处理技术对这些原有的信息 系统进行集成。 ( 3 ) 难以适应分布式运行环境。随着技术的进步和企业的发展,企业的对分 布式信息资源的需求越来越强烈。但是就目前情况而言,能够实现分布式计算 的产品,它们在实际应用中仍然显得不够成熟。在安全性、容错性、可靠性等 方面均不能满足企业的需求【4 j 。 ( 4 ) 不同工作流产品之间的交互问题。般不同厂商所提供的工作流产品都 具有其独立的工作流模型、工作流定义语言以及a i p 函数。因此,一旦用户选 用了某种产品,就很难再过渡到其他同类产品。 在微软平台上构架基于w e b 的工作流应用系统,以前采用的技术主要集中在 基于e x c h a n g e 的工作流引擎和基于b i z t a l k 的工作流引擎。当然还有其它的 实现技术,在这里只对这两种主要的应用技术进行比较。 基于e x c h a n g e 的工作流系统,建立在e x c h a n g e 消息流转机制上,通 过对文档属性的管理可以很容易的实现基于文档流转的工作流系统。 主要优点:较强的消息事件处理机制,能够很好的整合微软的其它产品的 应用,可以很容易的实现基于文档流转的工作流系统,可以简化工作流实现的 工作量。 主要不足:需要拥有e x c h a n g es e r v e r 才能运行,而e x c h a n g e s e r v e r 安装后通常需要较大的存储空间,并不支持工作流参考模型的规范,所 以在异构工作流引擎之间的互操作性还比较差,且可移植性不强,比如 e x c h a n g es e r v e r2 0 0 0 只能安装在w i n d o w s2 0 0 0s e r v e r 及其后继产品上,并 且不容易和现有的w e b 应用集成。e x c h a n g es e r v e r 本身的维护以及通过它对文件 的备份、维护都比较困难。 基于b i z t a l k 的工作流系统,是利用了b i z t a l k 中的消息机制和流程引擎 2 武汉理f :人学硕f - z 侮论文 来实现工作流管理系统。 主要优点:b i z t a l k 作为微软的核心产品之一,为企业的应用整合和流程的自 动化提供了灵活的基础构架,它与n e t 和w e bs c r v i c 七s 紧密整合,利用x m l 和 w e b s e r v i c e s 技术实现业务处理过程中的自动化功能。在此之前很多企业都将它 用来做工作流。它的消息传输机制可以很好的实现工作流引擎的运行和跟踪监 控。在运行中以n e t 程序集的形式出现,执行的效率很高。可以很容易和门户、 o f f i c e 工具结合运用,可以很容易实现人员工作流( h i s ) ,商务知识发现等功能。 主要缺点:微软在后继的b i z t a l k 系列产品中,与工作流相关的应用都将是基 于w f 的。除此之外它需要购买相应的产品,并且对系统的要求相对比较高,并 非纯粹做工作流的产品。 而w f 作为w i n d o w s 下一代的工作流基础框架,它为工作流的应用提供了 强大的支持。它可以应用在c s 与b s 两种框架下,并且支持的工作流主要有两 种:顺序工作流和状态机工作流。w f 在工作流活动状态的持久化、事务管理、 异常处理及活动补偿、基于角色的访问控制、以及基于w e bs e r v i c e 的通信、 流程的动态更新等方面都给予了大量的支持。近一两年来,w i n d o w s 平台下的 工作流开发与研究正逐步向w f 转移。 1 3 研究的意义 在微软的产品系列中,一直以来都缺乏真正意义上的工作流产品,在w f 出 现之前,如果希望在微软构架下实现工作流是比较困难的。只能使用微软的 b i z t a l k ,建立一个工作流系统。由于它并不是纯粹意义上的工作流产品,所 以使用起来是很困难的,在很多方面不能很好的满足现在业务的需求,例如,人 员参与的工作流,使用b i z t a l k 的h u m a nw o r k f l o w 实现起来很困难。 在微软体系上构建工作流系统的另外一种方法是,使用e x c h a n g e 这样的 一个消息通信技术来实现,但是这仅仅只能满足部分功能的需要,并且通过它 来构建一个复杂的工作流系统比较繁琐。 如果想使用其它更强大的工作流引擎,就只好依赖与其他的构架下的工作 流产品,如j 2 e e 构架下的成熟产品,使用w e bs e r v i c e 技术把工作流系统封装 起来,以服务的形式对微软构架下的应用程序发布,通过这种方法可以实现对 工作流的引入。但是依赖于异构框架下的产品,对产品的性能和兼容性都有很 3 武汉理f :人学硕仁学何论文 大的影响,所以在微软体系下应用工作流技术成了一个比较困难的问题。 微软为了改变这种现状,打破在竞争上的劣势,召集了世界上很多研究工 作流的学者和有着丰富工作流丌发经验的工程师,打造了一个微软体系的工作 流丌发平台w i n d o w sw o r k f l o wf o u n d a t i o n ( w f ) 。这个平台已成为新一代n e t 产 品的三大组成之一,并且它也将随着新一代微软的操作系统( v i s t a ) 捆绑发售, 这样对于使用微软新一代操作系统的用户就可以免费使用到w f ,它将成为微软 工作流开发的基础,成为w i n d o w s 系统下开发工作流最强大的工具。 从w i n d o w s 平台的发展来看,w f j c , j 于以后的工作流开发的影响是深远的, 为了适应以后的发展,选用w f 来构建工作流系统可以长期维持企业产品的竞争 力和生命力。 由于w f 是一个新的工作流开发平台,如何利用它、采用何种方式来完成企 业工作流的构建,还存在很多不明确的地方。本文以自动化企业日程管理为例, 给出了两种方式,分别利用w f 实现工作流。 1 4 本文的研究内容及组织结构 1 4 1 本文所做的工作 ( 1 ) 参考工作流管理联盟( w f m c ) 提出的标准,对工作流管理系统的功能、 体系结构、参考模型以及常见的工作流协同工作模型作了理论上的解析与探讨。 ( 2 ) 研究了基于w f 的工作流运行机制、w f t 作流的特点、体系结构、运行 环境,并对其工作模型进行了必要的归纳和总结。 ( 3 ) 给出了w f 持久化服务与跟踪服务的详细设计。 ( 4 ) 以s h a r e p o i n t2 0 0 7 作为w f 工作流引擎的宿主,并结合o u t l o o k 2 0 0 7 中强大 的日历功能,用配置的方式搭建了一个具有初步功能的企业内部日程管理工作 流。 ( 5 ) 以w f 为工作流引擎,a s e 闷三t 框架作为w e b 宿主应用的开发平台,设计 实现了一个b s 结构且使用范围更为广泛的企业日程管理工作流系统。 1 4 2 本文创新点与解决的问题 ( 1 ) 分别用两种方式实现了w f 的工作流。如本, t 1 4 1 节,( 4 ) 与( 5 ) 所述。 4 武汉理f :入学硕- :学位论文 ( 2 ) 在工作流中添加或删除了活动( a c t i v i t y ) 后,重新加载跟踪服务( t r a c k i n g s e r v i c e s ) ,会使w f ;j i 发异常,本文给出了种解决方法。 ( 3 ) 解决了w f 工作流实例被不同的进程进行处理时的延时修正问题。 ( 4 ) 解决了w f 工作流实例的锁定问题。 1 4 3 本文的组织结构, 本文共分为六章: 第1 章主要阐述了本文的选题背景、工作流技术的研究现状、选题的意义、 所做的工作及创新点。 第2 章讨论了有关工作流的基本概念、工作流参考模型、工作流管理系统 的体系结构及常见的工作流协同工作模型等。 第3 章着重研究了基于w f 的工作流的运行机制,并对w f t 作流的特点、 体系结构、运行环境以及工作模型和相关服务进行必要的归纳和总结,并给出 了w f 持久化服务与跟踪服务的详细设计。 第4 章基于s h a r e p o i n t 和o u t lo o k 实现w f 工作流。 第5 章以w f 为工作流引擎,a s e n e t 为宿主应用程序,详细阐述了企业日 程管理工作流系统的实现。 第6 章本文总结与展望。 5 武汉理i :人学硕+ + 位论文 第2 章工作流参考模型 2 1 工作流的定义 近十几年来,不同的研究者对工作流分别提出了不同的定义。到目前为止, 对工作流仍没有形成完全统一的定义。下面给出了工作流管理联盟( w t m c ) 关于 工作流的定义1 4 j : t h ea u t o m a t i o no fab u s i n e s sp r o c e s s ,i nw h o l eo rp a r t ,d u r i n gw h i c hd o c u m e n t s , i n f o r m a t i o no rt a s k sa r ep a s s e df r o mo n ep a r t i c i p a n tt oa n o t h e rf o ra c t i o n ,a c c o r d i n g t oas e to fp r o c e d u r a lr u l e s 可以对上面的定义做如下解析: ( 1 ) 首先工作流是为业务自动化过程服务的,依据w o r k f l o w 的帮助,可以极 大地提高工作的自动化能力和效率。 ( 2 ) 一个业务过程的执行,必然会从一个参与者( p a r t i c i p a n t ) 传递到另一参 与者。 ( 3 ) 一个业务必需遵循预定的处理规则,才能有效地被执行。 三十多年来,人们不断的在业务信息化和办公自动化上探索,而工作流技 术正是在这不断的探索中逐渐完善发展起来的。 工作流( w o r k f l o w ) 本身f l o w 的最初含义,是来源自与企业经营管理息息相关 的“物流”、“资金流”、“信息流”、“控制流”等。工作流就是用一个个有序的任务 点( 活动点) 来抽象表示这些业务流的处理过程。 工作流是经营过程的一个计算机实现,而工作流管理系统( w f m s ) 则是实 现这一软件环境的平台。使用工作流作为经营过程的实现技术首先要求工作流 系统能够反映经营过程的以下几个问题:即经营过程是什么( 由哪些活动、任 务组成,也就是结构上的定义) 、怎么做( 活动间的执行条件、规则以及所交互 的信息,也就是控制流与信息流的定义) 、由谁来做( 人或者计算机应用程序, 也就是组织角色的定义) 、做得怎样( 通过工作流管理系统进行监控) 。下图2 1 1 2 2 1 给出了一个称为工作流伞的示意图,反映了工作流覆盖的经营范围及与之对应 的工作流研究领域。 6 武汉理l :人学硕十学位论文 图2 1 工作流研究领域与经营范围对照图【2 2 1 其实,工作流( w o r k f l o w ) 就是工作流程的计算模型,表示对流程中的任务, 以什么样的逻辑或者规则串接起来,并以什么样的模型进行表示和计算。 简单地说工作流就是一系列相互衔接、自动进行业务的活动或任务。如果 将整个业务看作是一条河,那么在河中流过的就是工作流。 工作流解决的主要问题是为实现某个业务目标,在多个参与者之间,利用 计算机,按某种预定规则自动传递文档、信息或者任务。 2 2 工作流管理系统 工作流管理系统( w f m s ) 是- - 个软件系统,它完成工作流的定义和管理,并 按照在计算机中预先定义好的工作流逻辑推进工作流实例的执行。它提供三种 功能1 5 j : ( 1 ) 建立阶段功能:工作流过程和相关活动的定义和建模。 ( 2 ) 运行阶段的控制功能:执行工作流过程,完成过程中活动的调度。 ( 3 ) 运行阶段功能:人机交互。 图2 2 i 4 】描述了上述功能间的关系: 7 武汉理i :人学硕 j 学f 节论文 图2 - 2 工作流管理系统功能示意图1 4 1 2 3 工作流管理系统体系结构 目前,w f m c 组织已证明可以构建出一个通用的工作流系统实现模型,这 个模型可以适用于市场上的大多数产品,因此为开发协同工作的工作流系统奠 定了基础。 通用工作流管理系统的主要功能组件如图2 - 3 1 4 】所示,其中有三种类型的组 件: ( 1 ) 软件构件:完成工作流管理系统不同组成部分的功能实现。 ( 2 ) 系统控制数据:表示工作流管理系统中软件构件使用的数据。 ( 3 ) 外部产品与数据:对于工作流管理系统来说,他们不是工作流管理系统 的组成部分,而是属于外部系统和数据,它们被工作流系统调用来完成部分工 作流管理的功能。 8 武汉理f :人学硕十学位论文 雷 罾嚣器巍 图2 - 3i 作流管理系统体系结构刚4 l 为完成上述功能,工作流管理系统需要考虑众多因素,w f m c 提供的工作 流管理系统的体系结构模型,包括过程定义工具、过程定义、工作流执行服务 m ,e s ) 、i 作流引擎、i 作流控制数据、i 作流相关数据、i 作表和i 作表处 理程序、应用程序和应用数据等。 2 3 1 过程建模工具 过程定义是用来创建一个可以被计算机处理的形式化过程描述。工作流过 程建模工具,可以作为工作流产品的一部分、也可以作为业务过程分析产品的 一部分来提供给用户。作为业务过程分析产品一部分,会有其他的组件来负责 处理业务过程的分析或者模型。这时,必须要有兼容的转换格式,与运行时期 的工作流软件进行过程定义的相互转换。通常商用过程定义工具都是可视化的 图形定义工具1 9 ;。 9 武汉理l :人学硕十学俯论文 2 3 2 过程定义 过程定义包含工作流软件运行过程中的所有信息。包括过程的丌始和结束 条件、组成活动、在活动间进行导航的规则、需执行的用户任务、可能会被调 用的应用程序、所有工作流相关数据的定义等。 过程定义可能会涉及到一个组织角色模型,模型包含组织结构和组织中的 角色信息。工作流执行服务器负责把工作流运行环境中的参与者与相应的组织 实体或角色联系起来例。 2 3 3 工作流执行服务 工作流执行服务负责解释过程定义、控制过程实例、安排活动的执行顺序、 向用户工作表中添加工作项目、调用应用工具。这需要一个或者多个协同工作 的工作流引擎来完成这些职责,工作流引擎管理运行过程中的各个单独实例。 工作流执行服务负责维护内部控制数据,这些数据集中于一个工作流引擎中, 或者分布在一个工作流引擎集合中。这些工作流控制数据包括与各种过程、或 者正在执行的活动实例相关的内部状态信息,也包括工作流引擎用来合作或者 从失败中进行恢复的检查点、恢复重新启动信息。过程定义与( 运行时期) 工 作流相关数据协作,一同用来控制过程中活动的导航、提供活动的进入与退出 条件、不同活动的并行执行、顺序执行选项、用户任务、与每个活动相关的应 用程序等。如果过程定义包括组织模型角色实体类型,那么完成以上任务,就 需要访问组织角色模型数据。工作流引擎还包括调用应用工具的能力,用来激 活必要的应用程序来执行相关的活动。这种调用机制间有不同的区别,在简单 的系统中,只对调用一些单一固定的工具( 例如,文本编辑器) 。而在复杂的系 统中,工作流系统则能调用本地与远程工具【捌。 2 3 4 工作流引擎 工作流引擎( w o r k f l o w e g n i n e ) 负责为工作流实例的运行提供运行环境, 它主要具备以下功能【韧: 翻译工作流定义。 控制工作流实例的创建、激活、暂停、终止等。 l o 武汉理l :人学硕士学位论文 在工作流的活动之问导航,可能包括顺序或并行的操作、解释工 作流相关数掘等。 调用或结束特定的执行者( 应用程序或用户) 。 任务分配。 维护工作流控制数据和工作流相关数据,与应用程序和用户交 换工作流相关数据。 提供调用应用程序的接口,并交换工作流相关数据。 用于控制、管理和审计的监视动作。 2 3 5 工作流活动状态的转换 从工作流实例的角度来说,工作流执行服务可以被看作是一个状态转换机, 它根据外部事件或工作流引擎的命令改变工作流实例以及活动实例的状态。图 24 = 描述了工作流实例的基本的状态转换。 图2 4 工作流状态转换1 3 9 1 上图2 4 中工作流实例的各状态的意义如下: i n i t i a t e d :工作流实例己经被创建,但还没开始执行。 r u n n i n g :i 作流实例已经开始执行,并且它的一个活动可能已经开 始执行。 a c t i v e :i 作流实例的一个或多个活动己经开始执行。 s u s p e n d e d :i 作流实例被暂停,并且所有的活动也都停止。 c o m p l e t e d :i 作流实例执行完毕。 t e r m i n a t e d :在执行完毕之前工作流实例被终止。 武汉理f :入学硕f 学位论文 下图2 5 描述了活动实例基本的状态转换。 图2 - 5 活动实例状态转换图【3 9 l 上图2 5 中活动实例的各状态的意义如下: i n a c t i v e :工作流实例中的活动实录己被创建,但还未被激活。 a c t i v e :一个工作项己经被创建并被分配给了活动实例。 s u s p e n d e d :活动实例被暂停。 c o m p l e t e d :活动实例执行完毕。 2 3 6 工作流相关数据 过程导航判断或工作流引擎中的其它控制操作,都以工作流应用程序产生 或者更新的数据为基础,这些数据可以被工作流引擎和条件工作流相关数据( 也 称为情况数据) 所访问;这是工作流引擎唯一可访问的应用程序数据。尽管工 作流引擎负责在应用程序间传递工作流应用程序数据,但工作流应用程序数据 直接由被调用过程来操作。不同的应用程序由工作流过程内的不同活动i , 胃m z l 。 2 4 工作流参考模型 2 4 1 工作流参考模型概述 工作流参考模型是工作流联盟( w f m c ) 提出的关于工作流管理系统的一个 基本框架,它给出了抽象的工作流管理系统的功能组成部件和接口,能够满足 工作流管理系统和产品应该具有的主要功能特征,为实现工作流产品之间的互 1 2 武汉理j :人学顾 :学位论文 操作提供了公共的基础。所有的工作流系统都包含系列的公共组件,组件问 采用一套被定义好的方法进行协作;不同的产品在这些公共的组件中,会表现 出不同的处理能力。为了实现不同工作流产品问的协同工作,需要在这些组件 i h j 制定一套标准的接口和数据交换格式。通过实现这些标准接口,可以达到产 品间的协同工作。 2 4 2 工作流参考模型框架 图2 - 6 1 4 】描述了工作流参考模型体系结构中的主要组件与接1 2 。工作流执行 服务周围的接口是w a p i ( w o r k f l o w a p i s ) ,通过这些接口可以访问工作流系统 的服务,这些接口还控制工作流控制软件与其他系统组件间的交互。在这5 个 接口中的许多功能,都能被两个或更多接口同时拥有,因此w a p i 可以看作是 统一的服务接口,可以交叉使用这5 个接口来支持工作流管理功能,而不是单 独的使用其中某个接口。 图2 - 6t 作流管理系统参考模型【4 j 2 4 3 参考模型接口 工作流联盟定义了五类接口,下面分别介绍这几个接口的功能。 武汉理l :人学硕十学何论文 ( 1 ) 接f j1 :工作流过程定义转换接口 为了实现不同工作流管理系统之间、管理系统与建模工具之l 日j 相互交换工 作流模型( 主要指工作流过程定义) ,工作流管理联盟( w f m c ) 定义了一套用 x m l 描述工作流元模型的标记语言x p d l ,构成了接口1 。作为一个标准、通 用的工作流定义语言,x p d l 定义了一个最小集合的工作流建模实体与属性, 提供了一般意义下的公共交换格式。所有的工作流过程定义工具都可以有自己 的内部表示,并可以和通用交换格式进行转换。这就要求供应商至少提供以下 两个接口( 输入层、输出层) i 划: 依据公共过程定义语言x p d l ,将以字符流形式输入的过程定义转 换为供应商的内部表示。 依据公共过程定义语言x p d l ,将供应商内部表示的过程定义转换 为字符流形式输出。工作流流程定义是对业务过程的抽象表示, 是w f m c 的重要基础。由于企业业务流程的复杂性和多样性,要 求工作流模型能够完整的定义任意情况下的业务流程。 ( 2 ) 接口2 - 客户端接口 这个接口在工作流执行服务器与工作流客户端的应用程序间建立了一个非 常灵活的通信机制,用来构建各种可能遇到的运行系统。包括通过任务表处理 器与终端用户进行交互,与普通的办公系统进行集成,终端用户对任务表中任 务项的操作,调用外部应用程序,处理相关数据等。接e 1 2 主要有以下几个功台学: 通信建立:各个参与运行的系统之间通信的建立与断开。 工作流定义操作:对于过程模型的名称和属性的查询与检索功能。 过程实例管理功能:创建、开始、结束、挂起、重新激活一个过 程实例。 任务项列表功能:查询、获得任务项列表中的项目;任务项完成、 。 终止等消息的通知;设置和查询任务项属性。 数据处理过程:查询、返回工作流相关数据、应用数据。 ( 3 ) 接1 33 - 应用程序调用接口 工作流管理系统能够处理在所有平台和网络环境中进行调用的逻辑,并使 用公共格式和编码对相关应用数据进行传递。 在简单的情况中,工作流引擎在本地处理应用程序调用,并使用过程定义 中的信息来确定活动的性质、即将被调用的应用程序的类型和所需的数据。被 1 4 武汉理l :人学硕 :。学位论文 调用的应用程序一般存储在工作流引擎中。应用程序调用的主要a p i 如f 1 2 7 l : 通信建立:建立、断丌与应用程序( 或应用程序代理) 的通信。 活动管理功能:开始、挂起、重新激活、推出活动;通知活动结 束,查询活动属性、消息事件。 数据处理功能:提供工作流相关数据( 在活动执行前向应用程序 提供数据,活动结束后从应用程序中获得所需数据) ;提供工作流 应用数据或提供数据地址。 ( 4 ) 接口4 :异种工作流执行服务器之间的互操作接口 本接口用来支持异种工作流系统中信息与控制流的交互,主要有以下功能: 通信建立。 对工作流模型和其中对象的操作。 过程实例控制和状态操作。 活动管理操作。 数据处理函数。 ( 5 ) 接口5 :系统管理与监控接口 用来对工作流执行系统的管理和监控,主要功能有: 资源控制:设置、取消、修改过程或活动实例的并发层次。 角色管理:定义、删除、修改角色一参与者的关系;修改角色的 属性。 用户管理:建立、删除、暂停和修改用户或工作组的权限。 过程实例的管理:对过程模型进行实例化;修改过程实例或活动 实例的状态;终止过程实例。 状态管理:查询过程或活动实例的运行状态。 2 5 工作流协同工作模型 工作流管理联盟( w f m c ) 的主要目标就是实现不同工作流产品间平滑的工 作流传递。而要实现这种功能就需要不同模型间具有无缝隙的相互协调作用, 一般协同工作模型包括四种交互模型:链式模型、嵌套子工作流模型、对等模 型和同步模型1 3 9 1 。 武汉理i :人学硕 j 学何论文 2 5 1 链式模型 如图2 7 1 3 9 1 示,该模型可使工作流a 中的活动a 3 与工作流b 中的活动b 1 相连接。当然,连接并不是只能建立在起始活动和结束活动之间,而且还可以 在任何表示后续工作流的地方建立,如a 2 与b 1 之间。该模型支持在两个工作 流产品之间传递工作流实例或活动实例。 2 5 2 嵌套子工作流模型 图2 7 工作流链式模型【3 9 1 这种模型允许工作流域中的工作流b 被封装成另一个工作流域中工作流a 的 一个活动,如图2 8 f 5 】所示。工作流a 被称为父工作流,工作流b 被称为子工作流。 当工作流a 开始执行活动a 4 时,工作流b 将被激活并开始执行。工作流b 结束后 控制权将返回工作流a ,工作流a 继续运行。 p “x 麟aproec鲳b d 删n a i n o f 、) i r o f 田o w s c r v i c e a、 图2 8 嵌套子工作流模型f 5 】 1 6 武汉理l :人学硕 :学俯论文 2 5 3 对等模型 该模型适用于完全混和的环境。如图2 9 【5 l 所示。工作流c 被多个工作流服 务执行。活动c 1 、c 2 与c 4 由服务a 执行,而c 3 、c 5 与c 6 则被服务b 执行。 p 眦e 蟠c 2 5 4 同步模型 s h a r e dd o m a i no f w o r k f l o ws o v i ma & b 图2 9 对等模型【5 】 在同步模型中,两个工作流在不同的工作流执行服务中独立运行,并通过 同步点进行同步。当工作流到达同步点后,将产生一个特定的事件通知对方。 如下图2 1 0 【5 】,工作流a 和工作流b 的同步点分别是a 4 和b 3 。 1 7 武汉理i :入学硕卜学位论文 2 6 本章小结 一一,_ f 。_ 一p 。一。一,r t + 7 p 一,。 s y n c h r o n i z a t i o np o i n t 图2 1 0 同步模型【5 】 本章以工作流管理联盟( w f m c ) 对工作流的定义为出发点,引出了工作流 管理系统的相关概念与术语;接着讨论了工作流管理系统体系结构的各个部分: 过程建模、过程定义、工作流执行服务、工作流引擎、工作流活动状态的转换 以及工作流相关数据与应用;然后讨论了工作流参考模型的框架与接口;在本 章的最后部分给出了常用的四种工作流模型:链式模型、嵌套子模型、对等模 型、同步模型。 1 8 武汉理l :人学硕 :学位沦文 第3 章基于w f 工作流研究与设计 3 1w f 简介 m i c r o s o f tw i n d o w

温馨提示

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

评论

0/150

提交评论