(计算数学专业论文)工作流开发平台框架的研究和工作流形式化建模.pdf_第1页
(计算数学专业论文)工作流开发平台框架的研究和工作流形式化建模.pdf_第2页
(计算数学专业论文)工作流开发平台框架的研究和工作流形式化建模.pdf_第3页
(计算数学专业论文)工作流开发平台框架的研究和工作流形式化建模.pdf_第4页
(计算数学专业论文)工作流开发平台框架的研究和工作流形式化建模.pdf_第5页
已阅读5页,还剩108页未读 继续免费阅读

下载本文档

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

文档简介

摘要 随着经济环境的全球化,企业面临着越来越激烈的竞争。大多数有着竞 争力的企业都把业务过程的管理作为他f 1 成功的关键。工作流技术应运而 生。作为定义、创建和管理工作流运行的系统软件工作流管理系统,它 巨大的潜在市场和广阔的应用领域吸引了来自全世界各研究机构及软件厂 商越来越多的关注。国际上声称具有工作流功能的系统已经有几百种之多, f i l e n e t 、j e t f o r m 、i b m 和a c t i o n 四家公司的产品比较有影响和代表。围内 也开始出现这方面的研究与开发,著名的有清华大学的c i m f l o w 。但多限于 探索和理论研究阶段,正式产品和应用较少。 在对国内外的工作流开发平台和管理系统的研究基础上,本文提出了一 个跨平台、支持各种操作系统、并且能够提供模型验证的独特上作流丌发平 台框架。文章主要论述了该平台的设计思路和实现机制。 本文分为7 个部分。第一部分论述了工作流技术、国内外工作流的研究 现状与发展和本课题所做的主要工作。第二部分是工作流标准和我们提出的 工作流开发平台框架的介绍。笫三部分主要介绍了开发平台中建模工具的设 计与实现,包括总体设计、设计模式以及系统实现的关键技术。第四部分论 述开发平台中工作流引擎系统的设计与实现,从总体设计到系统的各个组件 的介绍。第五部分是我们在工作流形式化建模型方面所做的理论探索和研 究,提出了一种基于进程代数的工作流建模和验证方法,并通过简单实例证 明r 进程代数的验证能力。第六部分以一个简单的销售流程为例展示了开发 平台的应用效果。第七部分是结论,总结了本文的研究成果和对下一步工作 的展望。 关键词:工作流工作流引擎工作流建模活动网络图模型验 证 a b s t r a c t w i t ht h ee c o n o m i c d e v e l o p m e n ti nt h ew h o l ew o r l d ,t h ee n t e r p r i s ei sf a c i n g m o r ea n dm o r ed r a s t i c c o m p e t i t i o n m o s t c o m p e t i t i v ee n t e r p r i s er e g a r d a d m i n i s t r a t i o no ft h eb u s i n e s s p r o c e s sa st h ek e yt os u c c e s s ,w o r k f l o we m e r 2 e s a st h et i m e s r e q u i r e b o t ht h em i s s i v ep o t e n t i a lm a r k e ta n db r o a d a p p l i c a t i o nf i e l d o fw f m s ,w h i c hi sas y s t e ms o f t w a r et h a t d e f i n e sc r e a t e sa n dm a n a g e st h e e x e c u t i o no fw o r k f l o w sh a sd r a w nm o r ea n dm o r ea t t e n t i o nf r o m i n s t i t u t i o nf o r s c i e n t i f i cr e s e a r c ha n ds o f t w a r e c o r p o r a t i o n sa 1 1o v e rt h ew o r l d ,1 1 1 em o r ef a m o u s o n e sa r ef i l e n e t ,j e t f o r m ,i b ma n da c t i o n o u rc o u n t r ya l s oh a sb e g u n t os t u d y a n dd e v e l o pt h ep r o d u c t i o n s u c ha sc 1 m f l o w o f t s i n r g h u au n i v e r s i t yi so n eo f t h em o s tf a m o u so n e b e c a u s ei t i s s t i l lc o n f n e dt o e x p l o r e a n dt h e o r e t i c a l r e s e a r c ho u r c o u n t l yi sl a c k i n gaf o r m a lp r o d u c t i o nw h i c hi sc o r n e di n t or i s e b a s e do nt h ea c t u a l i t yo f r e s e a r c ha n dd e v e l o pi no u t s i d e t h i sa r t i c l ep r o v i d e s a s p e c i a l w o r k f l o wp l a t f o r m ,w h i c hc a nb eu s e d a m o n gd i f f e r e n tp l a t f o r m s , o p e r a t i o ns y s t e m a n dc a n s u p p o s e s m o d e l c h e c k i n g t h e a r t i c l ed i s c u s s e s d e s i g n i n g a n d r e a l i z i n gt h ep l a t f o r m t h e r ea r es e v e n c h a p t e r si n t h i s a r t i c l e f i r s t l y w ep r e s e n tt h ew o r k f l o w t e c h n o l o g y , t h ed e v e l o p i n go ft h ew o r k f l o wr e s e a r c ha n dt h em a i nw o r k t h e s e c o n d p a r ti st h eo v e r v i e wo fw o r k f l o wp r o d u c ta n dt h ew o r k f l o wm a n a g e m e n t r e f e r e n c em o d e l ,t h e np r o v i d eas p e c i a lw o r k f l o wp l a t f o r m t h et h i r dp a r t w e p r e s e n tt h eg l o b a ls t r u c t u r eo fb a s e do na c t i v i t yn e t w o r kt o o la n di n t r o d u c et h e k e yt e c h n i q u ea n dc h a r a c t e r i s t i co ft h et 0 0 1 i nt h ef o r t hc h a p t e rw ep r e s e n tt h e g l o b a ls t r u c t u r eo fw o r k f l o we n g i n e e rs e r v e ra n di n t r o d u c et h ed e s i g np a t t e r n s a n dc o m p o n e n to ft h es y s t e m w ep r e s e n tt h er e s e a r c ha b o u tw o r k f l o wm o d e l c h e c k i n g ,a n dp r o v i d ea ni d e ao fu s i n gp r o c e s sa l g e b r ai nt h ef i 讹p a r t w eg i v e a ne x a m p l et od i s p l a yt h ew o r k f l o w p l a t f o r mi nt h es i x t hp a r t i nt h es e v e n t hp a r t , w es u m u p a n di n t r o d u c et h en e x tw o r k k e y w o r d s : w o r k f l o w , w o r k f i o w e n g i n e , w o r k f l o wm o d e l a c t i v i t y n e t w o r k b a s e dd i a g r a m ,m o d e lc h e c k i n g i i 图目录 hl 一1 l 卅流倚理系统实施阶段,3 恻2 1 叫 流广:- 锆的傲结构剀13 幽2 2 j f 1 浙e 参考模! 一15 闰2 - 3 过程定义交换接i 1 6 i 刳2 - 4r 作流开发甲台框架图2 0 翻3 1l :作流过群定义元数据模型2 3 l 刳3 - 2 x p d l 对象模型一3 0 图3 - 3 建模l = 具的设计思想3 2 剀3 - 4 m v c 模式的应用3 2 幽3 - 5 j g r a p hm v c ,3 4 图3 - 6 j g r a p h 定义的网络图3 5 蚓3 7 建立顶点a 和b 连接的示意图3 5 图3 - 8 基本的视图对象类图3 6 图3 - 9 流程包面板界面组成3 6 图3 1 0 流程面板界面图3 7 图3 - 1 1 基本元素类型对象类图3 8 图4 - 1 丁作流引擎的体系结构图5 i 图4 2 引擎控制流程实例执行序列图5 2 图4 - 3 静态对象模型部分类图5 3 图4 - 4 动态对象模型部分类图5 4 图4 5 引擎系统的总体结构图5 5 图4 - 6 工作流引擎数据的e 垠图5 6 刚4 7 引擎系统e j b 类图设计5 8 图4 8 调用用户接口示意图5 9 图4 - 9f a c t o r y 模式在工作流引擎中的应用6 0 图4 1 0 用户接口组件设计图6 l 图4 1 1p r o x y 模式在工作流引擎中的应用6 2 图4 - 1 2 持久化服务实现图6 4 图4 一1 3 异步服务实现序列图一6 4 图4 1 4 策略模式在工作流引擎中的应用6 5 图5 1 派生树7 3 图5 - 2 进程迁移图7 4 图5 3p e r t in e t 对依赖关系的表示图7 6 图5 4 旅行预定流程7 9 图5 5 预约定单业务流程图,8 7 幽5 - 6 验证t 具流程图8 8 图6 - 1 销售实例流程图9 1 图6 2 建模工具对销售流程的有向图表示9 2 图6 - 3 检查合法性9 2 图6 - 4 系统的登陆界面一9 3 图6 5 客户填写定单的界面9 4 图6 - 6 销售代表的任务列表9 4 图6 7c e o 审批界面9 5 图6 _ 8 定单生成界面一9 5 v i l l 第一章绪论 1 1 工作流技术简介 1 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 ) 的定义 工作流是一类能够完全或者部分自动执行的经营过程。根据一系列过程 规则、文档、信息或任务能够在不同的执行者之间传递、执行。 g e o r g a k o p o u l o u s 给出的工作流的定义幢1 工作流是将一组任务( t a s k ) 组织起来完成某个经营过程在工作流中 定义了任务的触发顺序和触发条件每个任务可以由一个或多个软件系统完 成,也可以由一个人或一组人完成,还可以由一个人或者多个人与软件系统 协作完成。任务的触发顺序和触发条件用来完成并实现任务的触发、任务的 同步信息流( 数据流) 的传递。 i b ma l m a d e n 研究中心给出的工作流定义1 工作流是经营过程中的一种计算机化的表示模型,定义了完成整个过程 所需要的各种参数。这些参数包括对过程中每一个单独步骤韵定义、步骤间 的执行顺序、条件以及数据流的建立,每一步骤由谁负责以及每个活动所需 要的应用程序。 a m i t s h e t h 的定义1 4 j 工作流是经营过程可运转的部分,包括任务的顺序以及由谁执行,支持 任务的信息流、评价与控制任务的跟踪、报告机制。 以上都是对工作流的定义的非形式化语言的描述,虽然各有异同。但达 成了一个共识:工作流是经营过程的一个计算机实现,可以把工作流简单地 看成企业的一个具体经营过程流程的抽象或图示化表示。 1 1 2 工作流管理系统与实施 w f m c 给工作流管理系统【1 】的定义:工作流管理系统是一个软件系统, 它完成工作流定义和管理,并按照在计算机中预先定义好的工作流逻辑推进 工作流实例的执行。从上面的定义上来:工作流管理系统类似于单个计算机 的操作系统,主要是为企业的业务系统运行提供一个软件共撑环境。虽然不 同的工作流管理系统具有不同的应用范围和不同的实施方式,它们还是具有 许多共同的特征。从比较高的层次上抽象地考察工作流管理系统,可以发现 所有的工作流管理系统都提供了三种功能; 建立阶段功能:主要是考虑工作流过程和相关活动的定义和建模功能。 在这个阶段,通过使用一个或多个分析、建模和系统定义工具,把实际中的 业务过程转化成形式的、计算机可以处理的定义。 运行阶段的控制能力:在一定的环境下,执行工作流过程并完成每个过 程活动的排序和调度功能。在运行时期,过程定义由负责创建、控制过程实 例的软件所解释,这个软件负责安排各个活动的执行时间。核心组件是基本 工作流管理控制软件( 工作流机e n g i n e ) ,它负责过程的创建与删除,控 制运行过程中活动的执行时间安排,以及与人、应用工具资源进行交互。 运行阶段的人机的交互能力:实现各种活动执行过程中用户与应用工具 之间的交互。在活动问转移控制、确定过程的运行状态、调用应用工具、传 递适当的数据等,都必须与过程控制软件进行交互。 下面给出了工作流管理系统三个主要功能之间的关系。同工作流管理系 统的3 个功能相对应,在实际系统中的应用一般分为3 个阶段,即模型建立 阶段、模型实例化阶段和模型执行阶段。如图1 - 1 所示,在模型建立阶段, 通过利用工作流建模工具,完成企业经营过程模型的建立,将企业的实际经 营过程转化为计算机可处理的工作流模型。模型实例化阶段,给每个过程设 定运行所需的参数,并为每个活动分配所需的资源。模型执行阶段,完成经 营过程的执行,在这个过程中重要的任务是完成人机交互和应用的执行,并 对过程与活动的执行情况进行监控与跟踪。工作流管理联盟在工作流系统的 规范和基础方面做了大量的工作,提出了有关工作流的管理系统的一些规 范,定义了工作流管理系统的结构及其应用、管理工具和其他工作流管理系 统之间的应用编程接口。有关文档可参看工作流管理联盟网站:h t t d : w w w w f m c o r g 。 1 2 国内外工作流的研究现状与发展 对工作流管理系统的研究工作主要包括工作流建模的研究、运行体系结 构、动态重构、任务调度、用户界面等方面,主要是致力于提高w f m s 的 品或其他结果 与执 过程 过程工程师一般用户 图1 - 1 工作流管理系统实施阶段 可用性、可靠性、可扩展性、灵活性等方面。由于工作流管理系统主要由工 作流过程建模和工作流实施环境组成,因此工作流管理系统的发展趋势也可 以从这两个方面分别考察。 1 。2 1 工作流建模研究 目前工作流建模技术还远没有成熟,还处于百家争鸣的时代。研究人员 从各自的研究背景和应用需求上提出了许多可行的方法,主要建模方法有以 下几种: 基于活动网络图的建模方法:这是指以活动和活动之间的关系为基础 来建立的工作流模型。这是大多数工作流管理系统采用的方法,其特点是用 户界面友好、易于理解和使用,流程的表达直观、自然。i b m 推出的工作流 产品i b mm q s e r i e sw o r k f l o w 5 】把一个完整的经营过程理解成为由一个无自 环的有向图构成。有向图中的节点元素表示可执行的步骤或任务,节点闻的 连接弧代表了过程中的控制流和数据流。组成模型的元素包括过程( p r o c e s s ) 、 活动( a c t i v i t y ) ,模块( b l o c k ) 、控制连接弧( c o n t r o lc o n n e c t o r ) 、数据连接弧( d a t a c o n n e c t o r ) 和条件( c o n d i t i o n ) 。 基于形式化表示的建模型方法:比如基于p e t r i 网【刀和进程代数i s 的建 模型方法。它们的优点是有着严格的数学基础和形式定义,形式化分析技术 可以便于工作流性能的分析和优化,并能在一定程度上解决工作模型的可适 应问题。a a l s t 提出的工作流网的概念堋n e t 借助p e t r i 网强大的数学分 析能力,实现丁w f n e t 的正确性和有效性校验,还将一般的工作流任务结 构映射为w f n e t 。国内清华大学的范玉顺等人【6 1 在对p e t r i 网的研究过程中 提出了很多有价值的想法。进程代数被认为是一种非常成功的说明性语言, 具有很好的代数性质,不仅有刻画并发任务系统行为的模型还具有进行推理 的形式演算系统。它还可用互模拟刻画进程间的等价关系,实际上保证了系 统规范和实现的语义一致,实现了系统的验证。在国内外,进程代数在工作 流建模应用研究的参考文献【3 5 3 6 】还比较少,我们对基于进程代数在工作流模 型的建模和验证方向做了初步的尝试和探索。 基于对话模型的建模方法:从客户与服务两个角色之间的语言行为交 互上对工作流进行定义,是一种基于对话的工作流模型。目前这种建模方法 被a c t i o n 技术公司所采用并开发了相应的工作流产品- - a c t i o n w o r k f l o w 。 基于状态与活动图的建模方法:它介于形式化方法和图形化模型之间。 对用户而言,它比p c r t r i 网容易学习和理解,比图形化模型又便于校验。 基于事务模型的建模方法:事务的概念来自与数据库研究领域,在工 作流中引入事务的概念,注重提高工作流管理系统的可靠性。 综上所述,各种建模方法都有各自的优缺点和使用范围。基于p e t r i 网的 过程模型兼顾了图形语言与严格语义两方面,易于形式化的验证,但由于使 用的节点类型过多,不便于用户使用和系统的实现。基于语言行为的工作流 模型对模型的层次表达能力不足、建模人员很难完整列出双方所有可能的语 言行为,但是在处理以人的交互为特征的经营过程比其他方法都优越。基于 活动网络图的模型是面向普通用户的最简单直观、最自然和易于理解的过程 表达方式,但它忽略对工作流的本质的抽取和分析,只适合对结构化或半结 构化的流程描述,对非结构化的流程支持能力比较弱。这类模型往往缺乏柔 性,对紧急情况的应变能力不足,显得比较死板。 1 2 2 工作流验证方法的研究 按照工作流管理联盟的定义,创建时功能完成过程建模,即给业务过程 计算机化的表示,结果称为过程定义或过程模型、过程模板。实践证明,定 义和模拟真实世界中的工作流是一个非常复杂且容易出错的过程,有错的工 作流定义将导致有错的实现,在系统运行之后再更正错误耗费巨大。然而, 有些工作流系统只提供非常基础的语法检查,很少提供整个流程正确性的保 证方法。其中的原因并不仅是因为系统的设计者没有认识到过程验证的重要 性,更重要的是因为这项工作从技术角度来看是非常困难的,这个问题引起 了研究界和工业界的高度重视。 在工作流建模研究中,人们使用不同的过程描述语言和模型,如p e t r i 网、 进程代刿8 1 、任务结构【9 】、事件驱动的过程链1 哪和工作流图【1 1 , 1 2 1 等。其中, p e t r i 网是比较突出的具有形式化基础的工具之一,利于完成过程验证。有 些方法使用基本p e t r i 网,也有些方法使用p e t r i 网变种,女h i c n 1 3 l ( i n f o r m a t i o n c o n t r o l n e t ) 网、工作流网f 9 ,1 4 ,1 5 l 和其他高级p e t r i 网【1 6 1 。进程代数在模型验证方 面有着很强的能力,但由于目前它对工作流模型的研究还处于初级阶段,技 术还不是很成熟。 w o f l a n 等人【1 4 , 1 7 , 1 8 1 提出了基于合理性验证理论的工具,其主要功能有语 法检查、结构错误检测,如a n d 或o r 是否配对等;动态特性检测,如非 安全的库所、死变迁等:以及库所和变迁不变量的检查等。并且,该工具有 较好的通用性,可与s t a f f w a r e 、c o s a ,m e t e o r 和p r o t o s 等几个工作流系 统接口,验证这些系统提供的过程定义。 1 2 3 工作流运行体系结构的研究 在1 9 9 3 年成立的工作流管理联盟颁布了一系列工作流产品标准,包括工 作流参考模型、工作流术语表、工作流管理系统各部分间的接口规格、工作 流产品的互操作性标准等。许多公司都基于这些标准推出了自已的工作流产 品,为用户开发自己的工作流应用提供了条件。目前从事工作流技术研究的 公司有i b m 、m i c r o s o f t 、p e o p l e s o f t 和s a p 等大型软件公司和国外著名大学。 e x o t i c a :i b ma l m a d e n 研究中心的项目,主要研究可扩展的分布式 工作流、事务通讯、移动计算、交替存储、混合工作流等,其大部分工作是 建立在已有的产品l o t u sn o t e s ,m q s e r i e s的基础上。 e x o t i c a f m q m ( f l o w m a r ko nm e s s a g eq u e u em a n a g e r ) 系统是一个分布式工 作流管理系统。它借助于一系列i b m 现有产品( f l o w m a r k 和m q s e r i e s ) ,以 ”信息传送”为实现机制,实现分布式工作流系统,该系统提供一个开放系统, 使用户能透明地应用由不同机型、不同运行平台组成的异构型计算资源,借 助信息共享的分布式技术完成一个业务流程。f l o w m a r k 模型中定义了一系 列相关活动,每个活动有各自的输入、输出存储器,主要用于保存数据。对 于一个特定的输出存储器还定义了一个数据流,用于说明输出数据的流向。 相关活动之间由控制流来联系,每个控制流通过自身的状态来决定下一个活 动是否该开始运行。 e v e 平台:苏黎士大学提出了b r o k e r s s e r v i c e s 模型和e v e 平台。 b r o k e r s s e r v i c e s 模型是将一个工作流实现过程中的若干个事件指定给特定 的经纪人( b r o k e r ) 来负责实施。多个经纪人之间通过不同的服务要求来取得 联系,从而完成一个工作流程。在该模型中,一个完整的工作流管理模型应 包括三部分:部件( c o m p o n e n t ) :代表该工作流程中的处理实体:任务( t a s k ) :代 表由部件执行的任务;规则汹l e ) :代表在何时或什么条件下,部件可级或必须 执行某一任务。b r o k e r s s e r v i c e s 模型较适合分布式工作流系统,一台客户机 或客户机上的某一实际应用程序就可以模拟一个经纪人,工作流中的各个活 动可用事件来代替。而多个经纪人之间的合作可借助e v e 平台来实现。 m e n t o r :瑞士联合银行与德国s a a r l a n g 大学的合作项目,主要研 究基于状态和行为图表的工作流描述、协议验证和分布执行。 m o b i l e :德国e r l a n g e n 大学的研究项目,力图建立组件方式构造的 w f m s ,以满足系统的可扩展性。 p a n t ar h e i :奥地利k l a g e n f u r t 大学的研究项目,他们的原型系统支 持i n t e m e t 和高级事物的概念,其体系结构是基于w e b 技术,采用j a v a 实现。 w i d e :欧洲的研究项目,由米兰的p o l i t e c h n i c 、s e m a 工作组、i n g 银行、m a n r e s a 医院和t w e n t e 大学多方联合主持,力图把分布式、活动数据 库技术引入到工作流领域来,将在s e a m 产品f o r o 的基础上实现。 在此基础上国外一些工作流管理系统的开源项目也蓬勃发展,主要的开 源项目: j b p m 一个灵活可扩展的工作流管理系统。作为j b p m 运行时s e r v e r 输入的业务流程使用简单强大的语言表达并打包在流程档案中。i b m p 将工 作流应用开发的便利性和杰出的企业应用集成( e a i ) 能力结合了起来。i b m p 包括一个w 曲应用程序和一个日程安排程序。j b m p 是一组j 2 s e 组件,可 以作为j 2 e e 应用集群部署。 o p e n e b x m l o p e n e b x m l 项目致力于提供一个e b x m l 框架,主要支 持不久将由u 】悯e f a c t 和o a s i s 发布的e b x m l 规范2 0 版。 w e r l f l o w w e r k f l o w 是一个灵活可扩展的基于流程和状态的工作流引 擎。它的目标是满足可以想象的所有工作流程,从企业级的业务流程至u j , 范 围的用户交互流程。通过使用可插拔和分层结构,可以方便地容纳各种工作 流语义。 o b j e c t w e bb o n i t a b o n i t a 是一个符合w f m c 规范、灵活的协同工作流 系统。对于各种动作如流程概念建模、定义、实例化、流程控制和用户交互 等提供了全面的集成图形工具。1 0 0 基于浏览器、使用s o a p 和x m l 数 据绑定技术的w e bs e r v i c e s 封装了已有的工作流业务方法并将它们以基于 j 2 e e 的w e bs e r v i c e 形式发布。基于活动预测模型的第三代工作流引擎。 b i g b r o s sb o s s a 速度非常快、轻量级的引擎,使用富有表达能力的 p e t r i 网定义工作流,不要求关系数据库,使用简单,能和j a v a 应用集成。 事实上,它是按嵌入式设计的。 o p e n b u s i n e s se n g i n e o p e nb u s i n e s se n g i n e 是一个开放源码的j a v a 工作流引擎,支持w f m c 规范,包括接口i ( x p d l ) 、接口2 3 ( w a p i ) 和接口 5 。o b e 为活动的运行提供了一个可控的集中环境。o b e 主要基于j 2 e e 实 现。 f r e e f l u o f r e e f l u o 是一个使用w e bs e r v i c e 的工作流协同工具,可以 处理w s d l 的w e bs e r v i c e 调用。支持两种x m l 格式的工作流语言:i b m 的w s f l 和x s c u f l 。f r e e f l u o 非常灵活,它的核心是不与任何工作流语言或 执行架构关联的可重用协同框架。f r e e f l u o 包括可执行使用w s f l 一个子 集描述的工作流的运行库。 t w i s t e r - t w i s t e r 的目标是提供新一代、易集成、应用j a v a 领域中最新 成果、面向b 2 b 的工作流解决方案。流程引擎基于b p e l 业务流程规范和 w e bs e r v i c e 标准。 1 2 4 存在缺陷与下一步研究方向 通过对现有的一些工作流管理系统的研究,我们认为工作流技术自身的 不成熟性从较为根本的几个层次上来看,主要表现在以下3 个方面: 在工作流的模型描述方面,缺乏一种支持过程定义、过程演进以及过 程分析的形式化的数学模型,使得工作流在应用的许多关键特性上无法得到 保证,包括柔性定义、过程重用、事务管理、异常处理等,这些都大大限制 了工作流在企业应用中的推广。 在工作流的执行方面,缺乏一个标准化的集成框架来支持对企业常用 的分布式应用的集成。企业在应用工作流进行业务流程的运作时,最为关心 的就是工作流系统能否与企业原有的各个应用系统f 比如m r p i i 系统、c a x 系统等1 很好地集成起来,使它们成为一个完整的业务流程当中有机的组成 部分,而不是像原来那样处于一种“孤岛”状态。但目前来看,在集成的方 式方法上还没有统一的标准,很大程度上要受到外部应用的限制。 在工作流的仿真评价方面尚处于一种几近空白的状态。应该说,在缺 乏仿真方法与仿真工具支持的情况下,整个工作流系统是不完善的因为人们 难以预料所部署的工作流过程将有可能出现怎样的结果,它有哪些不合理的 地方,其性能指标如何,这一切都必须等到实际运行以后才能由工作流管理 系统所记录的数据获得,显然,这并非是一种合理的方式。针对工作流进行 仿真的难点主要在于:仿真的性能指标不好确定;仿真的内容较为复杂等。 以下是来自s a p 2 0 0 3 创新大会关于工作流的最新研究主题【1 9 j 。 灵活性与适应性的工作流系统:传统的工作流管理系统不能提供动态 管理实例行为的功能,所以需要开发灵活性与适应性的工作流系统以满足满 足动态的需求。 协作型的工作流系统:协作型的工作流是用来完成多个组织间的不同 的工作流系统的协调工作。 工作流建模语言:这个方面应在流程建模语言和广泛的流程需求上找 到一个平衡点。 3 - 作流系统的合法性( 正确性) 、有效性检查和优化:这方面的研究应 注重流程的合法性,有效性和优化。 对移动用户的支持:为了支持此种功能,需要在w f m s 客户程序与 工作流引擎之间定义相应的协议。 事务型w f m s :这方面的研究主要是试图将一些高级事务模型等应用 到工作流系统的过程实例的执行中,以提高w f m s 的可靠性。 1 3 本课题的主要工作 1 3 1 研究设想 我们在对国内外已有的工作流管理系统和开发平台研究的基础上,提出 一个跨平台、支持各种操作系统、并且能够提供模型验证的独特工作流开发 平台框架。本课题主要完成对工作流建模工具、工作流引擎系统设计与实现 并在工作流形式化模型验证和建模方面做了理论的探索。 以下是具体研究任务: 设计并实现基于活动网络图的工作流建模工具。该工具以j a v a 技术作 为开发平台,是一种以图示形象直观地描述工作流过程模型的建模工具。该 建模工具提供两种对过程描述的视图图表视图和x p d l 文本视图,最后 以x p d l 字节流的形式存储过程模型,其输出结果能被基于x m lp a r s e 技术 工作流引擎解释并执行。该建模工具实现了完全的过程定义的分离存储,并 能够支持大部分的工作流模型。 作者在跟踪国内外已有的工作流引擎的研究基础上,设计并实现符合 w f m c 标准和j 2 e e 规范的轻量级工作流引擎系统。设计理念是“符合工业 标准、不轻易创造自己的体系结构,一个和具体应用彻底分离的通用的 f r a m e w o r k ”。引擎系统实例存储采用主流关系数据库,可运行在任何符合 j 2 e e 规范的应用服务器上,是一个通用的、标准的、基于数据库的轻量级 工作流引擎。 在对大量国内外工作流建模技术和理论的研究基础上,作者提出采用 进程代数描述工作流模型的方法。进程代数具有很强的通信描述能力,可描 述动态演变的系统,同时它具有一定的符号描述能力,使用结构操作语义表 达,因而比较接近软件抽象描述层次的底层以便编码实现。作者深入分析两 种不同的演算在工作流模型中的应用,侧重于介绍他们的建模过程并通过简 单实例证明了进程代数的验证能力。 1 3 2 研究难点和技术路线 本课题在研究过程中存在的难点以及解决的技术路线如下: 在建模工具与工作流引擎中都将用到对x m l 解析的技术,结合d o m 和j d o m 技术,尽量利用j d o m 专门针对j a v a 的优化,避免d o m 或者s a x 解析所存在的复杂与效率问题; 我们开发的工作流建模工具,要求采用有向图表示一个工作流程。在 有向图的表示和开发技术上,我们利用了国外一个开源项目j g r p a l l 帮助我 们解决图形的表示问题; 在引擎系统设计中应用j a v a 多线程机制处理并发任务,增强系统并发 处理能力,与此同时,通过线程同步机制挂起和唤醒特定线程,减少系统中 并发的线程数,这些都提高了系统的性能和响应速度; 我们的出发点是设计一个轻量级的工作流引擎,存储的数据不宜太 大。所以采用在数据存储上和数据的表示上采用关系数据库和x m l 相结合, 引擎的状态信息保存在关系数据库中,流程定义信息则存储在x m l 文件中; 1 3 3 创新之处 工作流引擎主要是坚持“符合 + 业标准、不轻易创造自己的体系结构, q 一个和具体应用彻底分离的通用的框架”。该引擎完全遵守工作流管理联盟 标准,实例存储采用主流关系数据库,可运行在任何符合j 2 e e 规范的应用 服务器上,它是一个通用的,标准的、基于数据库的轻量级工作流引擎。 文章首次提出了基于x m l 规范的元模型,它可适用于任何基于x m l 规范的语言,有着广大的应用前景。 结合对现有工作流形式化的建模方法的研究与分析,我们提出用进程 代数描述工作流系统,比起其他的形式化描述方法,它的模型方法具有简单, 描述能力强的特点。还可以利用合并的特点来描述复杂系统,并能够支持可 适应工作流系统。同时进程代数还具备对模型验证的功能,可利用自己良好 的数学推理论证的能力来模拟工作流的执行并以此检查工作流模型是否是 一个优化的、合理的、满足要求的工作流模型。 1 4 论文的组织 论文余下的部分对课题研究的内容和设计思想以及技术方法进行了详细 的阐述。 第一章为绪论。首先对工作流技术作了一个简单的介绍。介绍了国内外 工作流的研究现状和发展情况,指出工作流建模、工作流模型验证和工作流 体系结构研究是重点。随后提出目前工作流的研究内容和方向:建模工具, 支持分布式应用的集成框架以及工作流仿真评价和模型验证。最后介绍了本 课题主要研究目标、研究路线和难点及创新之处。 第二章是:亡作流的标准和工作流开发平台的总体设计。首先介绍了工作 流管理系统产品的实现模式,然后介绍了工作流管理联盟提出的参考模型。 最后介绍了我们提出的一个工作流开发平台框架。 第三章是介绍工作流开发平台中的基于活动网络图的建模工具的设计与 实现。结合工作流过程定义元模型,我们将元模型映射到一种标准过程定义 语言x p d l 。首先介绍其设计思想、实现要点以及其中用到的设计模式,最 后简单介绍了此工具提供的简单模型验证功能和该工具支持的工作流模型。 第四章是:亡作流开发平台框架中工作涝玛l 鞫翔黔忙秀买现。首先介绍了 醐兰i 赢 引鞠翔黔攫晚和技7 | 弓毫拉、工作流引擎详细结构设计、总体设计、数据库设计 以及e j b 设计。随后根据体系结构,细化介绍了引擎系统各个模块的设计模 式和实现,包括:用户接口、工作流引擎接口、过程管理器、实例管理器、 执行者管理器、活动执行处理器和日志七个组件。 第五章提出了一种基于进程代数的工作流形式化建模方法,深入的分析 了两种不同的演算在工作流模型中的应用,侧重于介绍他们的建模过程,并 提出了基于进程代数模型验证的解决思路,最后通过简单实例证明了进程代 数的验证能力 第六章介绍工作流开发平台上实现了一个简化的应用实例“销售流 程”,用来验证工作流开发平台的正确性和有效性。 第七章总结了本文的工作,并对今后的工作提出了展望。 第二章工作流的标准和工作流开发平台的设计 随着工作流产品市场需求的不断扩大,许多公司纷纷推出了各具特色的 工作流产品。但是,由于工作流管理技术与产品缺乏统一的标准,不同的工 作流产品从术语的定义、系统结构的设计到应用之间的接口规范上都存在较 大的差异,因此,不同产品之间的互操作以及产品与其他应用之间的集成十 分困难。这种情况给开发商和用户都带来了很大的不便,也在一定程度上阻 碍了工作流管理系统。在这种背景下,1 9 9 3 年,国际上成立了一个称为“工 作流管理联盟”的组织,现有3 0 0 多名分别代表了软件开发商、用户、学术 乔和咨询界的成员。 w f m c 制定了有关工作流管理系统的一系列规范,定义了工作流管理系 统的结构及其与应用、管理工具和其他工作流管理系统之间的接口,其目的 就是为了实现工作流技术的标准化和开放性,从而使不同的工作流产品可以 协同工作,并提高工作流应用与其他r r 服务的集成能力,进而提高工作流技 术在r r 市场的有效应。w f m c 制定的工作流参考模型( w o r k f l o wr e f e r e n c e m o d e l ) 即是为上述各种规范的开发提供一个支持框架,为工作流管理系统确 定其特征、术语和组成部分,使得各个规范能够在工作流系统整体模型的范 围中进行开发。 2 1 产品实现模型 尽管现在存在的工作流产品是多种多样的,但构建一个通用的工作流系 统模型,使之适应市场上大多数工作流产品并为其提供互操作性的基础是可 行的。w f m c 采用的方法是标识日:工作流系统中的主要功能模块和它们之 间的接口,形成一个抽象模型,这种抽象模型可以有多种具体实现,两接口 可以跨越平台并运用不同的分布技术。一个通用的工作流系统的主要功能构 件如图2 1 所示。通用模型中包含的构件可以分为三类: 1 1 软件构件:为工作流系统的箨种功能实现提供支持的各类软件。 2 ) 系统控制数据:工作流管理系统中的一个或多个软件构件使用的数 据。 3 1 外部应用程序与应用数据:它们本身不是工作流产品的直接组成部 分,而是属于外部系统和数据,但它们被工作流系统调用完成整个工作流管 理系统的功能。 豳软件构件 囹系统控制数据 囹外部产品数据 图2 - 1 工作流产品的一般结构图 其中主要功能构件的作用描述如下: ( 1 ) 过程建模工具 过程建模工具以计算机可处理的形式生成过程描述。它可以基于形式化 的过程定义语言,或者是基于对象关系模型,或者是一套关于工作流参与者 之间信息传递的命令集或脚本。该建模工具可以是工作流产品的一部分,也 可以是过程分析产品的部分,后者还可

温馨提示

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

评论

0/150

提交评论