(管理科学与工程专业论文)基于双驱动工作流模式的工作内容引擎研究与实现.pdf_第1页
(管理科学与工程专业论文)基于双驱动工作流模式的工作内容引擎研究与实现.pdf_第2页
(管理科学与工程专业论文)基于双驱动工作流模式的工作内容引擎研究与实现.pdf_第3页
(管理科学与工程专业论文)基于双驱动工作流模式的工作内容引擎研究与实现.pdf_第4页
(管理科学与工程专业论文)基于双驱动工作流模式的工作内容引擎研究与实现.pdf_第5页
已阅读5页,还剩63页未读 继续免费阅读

(管理科学与工程专业论文)基于双驱动工作流模式的工作内容引擎研究与实现.pdf.pdf 免费下载

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

文档简介

中文摘要摘要工作流技术是计算机领域中发展最为迅速的几种新技术之一,是近年来计算机应用开发领域研究的热点之一,在计算机应用领域中广泛应用,工作流引擎是工作流管理的核心技术,近年国外各大软件公司都加大了对工作流引擎产品的研发投入,也开发出了各自的工作流引擎产品。然而,随着工作流技术的发展和实际应用的不断深入,人们对工作流引擎提出了更多的要求,现有的主要工作流引擎产品,基本上都是围绕着过程驱动的单工作流引擎,这种围绕过程驱动模式的工作流引擎虽然能很好的解决流程的过程驱动,但对任务级驱动的支持有限,很难满足业务应用系统越来越高的要求;同时现有工作流引擎在柔性工作流实现模式、二次开发体系的兼容性等方面也存在着不足,所以有必要针对这些不足进行深入研究。本文在深入研究工作流引擎相关理论与技术产品的基础上,结合近年参与实际应用开发的相关成果,重点对双驱动模式工作流引擎结构体系及基于该模式下工作内容引擎的实现进行研究:针对现有工作流引擎对任务执行级抽象能力不足的问题,基于资源泛化思想对工作内容驱动模型进行建模,提高了工作内容驱动模型的抽象度;进一步对工作内容驱动引擎实现的一些关键设计进行了介绍和研究;最后对工作内容驱动引擎实现的一些关键技术进行了深入的介绍。关键词:工作流引擎;双驱动;工作内容;柔性;资源泛化英文摘要a b s t r a c tn o w a d a y s ,w o r k f l o wt e c h n o l o g yi so n eo ft h ef a s t e s tg r o w i n gn e wt e c h n o l o g i e si nt h ec o m p m e rf i e l d ,a n dh a sb e c o m eah o tt o p i ci nc o m p u t e ra p p l i c a t i o nd e v e l o p m e n tf i e l di nr e c e n ty e a r s w o r k _ f l o we n g i n ei st h ec o r et e c h n o l o g yo fw o r k f l o wm a n a g e m e n t i ni e c e n ty e a r s 1 a r g ef o r e i g ns o f t w a r ec o m p a n i e sh a v ei n c r e a s e dt h ei n v e s t m e n to fr e s e a r c h i n ga n dd e v e l o p i n gt h e i rw o r k f l o we n g i n ep r o d u c t s ,a n da l s oh a v ed e v e l o p e dt h e i ro w np r o d u c t s h o w e v e r , 、析mt h ed e v e l o p m e n to fw o r k f l o wt e c h n o l o g ya n dt h ed e e p e n i n go fp r a c t i c a la p p l i c a t i o n ,m o r ed e m a n d sa b o u tw o r k f l o we n g i n eh a v eb e e nm a d e t h ee x i s t i n gw o r k f l o we n g i n ep r o d u c t sa r eb a s i c a l l yr e v o l v e da r o u n dt h es i n g l ep r o c e s s - d r i v e nw o r k f l o we n g i n ew h i c hc a nw e l lr e s o l v et h ep r o c e s s - d r i v e no fp r o c e s s b u tt h i sw o r k f l o we n g i n ec a no n l yg i v el i m i t e ds u p p o r tf o rt a s k l e v e l d r i v e ni s s u e s ,a n di sd i f f i c u l tt om e e tt h eg r o w i n gb u s i n e s sr e q u i r e m e n t so fa p p l i c a t i o n s a tt h es a m et i m e ,t h ee x i s t i n gw o r k f l o we n g i n eh a ss o m ep r o b l e m sa n dd e f i c i e n c i e si nt h ef l e x i b l ew o r k f l o wp a t t e r n ,c o m p a t i b i l i t yo fs e c o n d a r yd e v e l o p m e n ts y s t e m ,e t c a sar e s u l t ,i ti sn e c e s s a r yt oa d d r e s st h e s ed e f i c i e n c i e si n - d e p t hs t u d y o nt h e b a s i so fi n d e p t hs t u d yo ft h ew o r k f l o we n g i n et h e o r i e sa n dt e c h n o l o g yp r o d u c t s ,c o m b i n e d 诵t hp r a c t i c a la p p l i c a t i o n si nr e c e n ty e a r s ,t h i sp a p e rf o c u s e so nt h er e s e a r c ho fd u a l d r i v e np a t t e r ns t r u c t u r a ls y s t e ma n di m p l e m e n t a t i o no fw o r kc o n t e n te n g i n ew h i c hi sb a s e do nt h ed u a l - d r i v e np a t t e r n ;a d d r e s s e se x i s t i n gp r o b l e m so ft h ei n s u f f i c i e n tc a p a c i t yo ft a s k - e x e c u t i o nl e v e la b s t r a c t i o ni ne x i s t i n gw o r k f l o we n g i n e ;m o d e l i n gt h ew o r k - c o n t e n t - - d r i v e nm o d e lb a s e do nt h ei d e o l o g yo fr e s o u r c e sg e n e r a l i z a t i o n ;i m p r o v e st h ea b s t r a c t i o no fw o r k - c o n t e n t - d r i v e nm o d e l ;m a k e saf u r t h e rw o r kt oi n t r o d u c ea n dr e s e a r c ht h ek e yd e s i g no fa c h i e v i n gw o r k - c o n t e n t d r i v e ne n g i n e ;f i n a l l y , g i v e sai n d e p t hd e s c r i p t i o no fc o r et e c h n o l o g i e so fa c h i e v i n gt h ew o r k - c o n t e n t - d r i v e ne n g i n e k e yw o r d s :w o r k f l o we n g i n e ;d u a l d r i v e n ;w o r kc o n t e n t ;f l e x i b l e ;r e s o u r c e sg e n e r a l i z a t i o n大连海事大学学位论文原创性声明和使用授权说明原创性声明本人郑重声明:本论文是在导师的指导下,独立进行研究工作所取得的成果,撰写成硕士学位论文= = 基王塑塑动工佳速撞式数王佳囱空曼i 墼盟究皇塞现:。除论文中已经注明引用的内容外,对论文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本论文中不包含任何未加明确注明的其他个人或集体已经公开发表或未公开发表的成果。本声明的法律责任由本人承担。学位论文作者签名:匈茎学位论文版权使用授权书本学位论文作者及指导教师完全了解大连海事大学有关保留、使用研究生学位论文的规定,即:大连海事大学有权保留并向国家有关部门或机构送交学位论文的复印件和电子版,允许论文被查阅和借阅。本人授权大连海事大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,也可采用影印、缩印或扫描等复制手段保存和汇编学位论文。同意将本学位论文收录到中国优秀博硕士学位论文全文数据库( 中国学术期刊( 光盘版) 电子杂志社) 、中国学位论文全文数据库( 中国科学技术信息研究所) 等数据库中,并以电子出版物形式出版发行和提供信息服务。保密的论文在解密后遵守此规定。本学位论文属于:保密口在年解密后适用本授权书。不保密口( 请在以上方框内打“ )论文作者签名:匈冬导师签名:阶丝日期:如加年么月衫日基于双驱动工作流模式的工作内容引擎研究与实现第1 章绪论1 1 课题来源本课题来源于“云南航务海事综合应用系统”及“云南交通财务横向审批管理一体化综合系统 两个项目。1 2 研究背景工作流管理的概念早在2 0 世纪8 0 年代初就已经被提出来,但是,由于当时的计算机技术不成熟,一直未能使其得到充分发展。近年来,在计算机技术和网络技术迅速发展的带动下,以及国内外市场竞争的加剧,企业对提高工作效率、保证生产质量、缩短生产周期等有着强烈的需求,使得工作流管理成为学术界、企业界和研究领域等的热门话题,而业务过程重组( b u s i n e s sp r o c e s sr e e n g i n e e r i n g ,b p r ) 更是促进了工作流不断向前发展。种种迹象表明:工作流管理将会对下一代的信息系统产生重大影响。工作流技术的主要特点是能够使业务处理过程按照预先定义好的逻辑规则自动执行,能够正确调度合适的人或软件系统在适当的时间完成规定的工作【l 】。企业中有大量的业务过程存在,在应用开发的过程中,需要把业务逻辑和实施过程分离开来,众多的业务流程应该实现有效、统一地综合管理,流程的变更只需要更改极少量的代码来实现,对业务流程进行监控和分析以便有效地改造和重构等,这些原因促使工作流技术被大量的应用于企业及行业管理级的各领域中,甚至有的应用领域现在已经离不开工作流技术,如e r p 、g r p 等领域。工作流引擎是工作流管理的核心技术,近年国外各大软件公司都加大了对工作流引擎产品的研发投入,也开发出了各自的工作流引擎产品,如o r a c l e 公司的w o r k f l o w 、i b m 公司的s i m p l e f l o w 、微软公司的,同时大量的开源工作流引擎也纷纷出现,如e n h y d r a 的s h a r k 、j b o s s 的j b p m 、o p e n s y m p h o n y 的o s w o r k f l o w 。这些工作流引擎各有特点,国内这方面技术成熟且应用面较广的产品较少。虽然这些工作流引擎在不同的应用环境中表现出各自不同的优势和特点。但由于现在业务系统越来越复杂,用户对业务系统的各方面的要求也越来越高,在第1 章绪论实际应用系统开发过程中,对这些工作流引擎的使用,存在着许多不足。例如,在w f m c ( 工作流管理联盟) 提出的工作流参考模型的体系结构中,对工作流引擎的定义是:“工作流执行服务,一般包括一个或多个工作流引擎”。但现有的主要工作流引擎产品,基本上都是围绕着过程驱动的单工作流引擎,然而工作流应用的开发不仅仅是过程的定义,这种单过程驱动模式的工作流引擎虽然能很好的解决流程的过程驱动,但从体系上很难满足应用对工作任务、工作内容、相关定义及执行驱动等方面的要求,对这些任务的完成支持有限。在我们近来的项目开发中,流程驱动的实现是主要的核心问题之一,由于前述的现有工作流引擎存在的缺陷,基于现有的工作流引擎不仅带来应用的弹性较低,而且也带来较高的开发成本,很难达到实际应用的需要。为满足实际应用的要求,针对这些问题,同时结合应用的实际需求,自主开发了双驱动模式的工作流引擎,并在实际应用中取得了较好的效果。本文的研究内容就是对双驱动模式工作流引擎中的工作内容驱动引擎及其主要相关理论和技术的总结和研究。1 3 国内外发展现状工作流技术是近年来计算机应用开发领域研究的热点之一。国际上,在工作流技术研究领域中,比较著名的有i b m 公司a l m a d e n 研究中心的e x o t i c a 、佐治亚大学计算机基于表单的分布式工作流系统研究与实现研究开发的m e t e o r 、w i d e 以及m e n t o r 等研究项目。一、国外工作流技术发展现状国外的研究项目及典型工作流相关产品主要有:( 1 ) e x o t i c a f m q m :基于永久消息队列的分布式工作流系统。e x o t i e a 是i b ma l m a d e n 研究中心的一个研究项目,它建立在底层消息传递系统之上,在工作流分布执行方面提出了一种能够实现完全分布的执行模型,通过永久消,自, ( p e r s i s t e n tm e s s a g e s ) 的方式来保存工作流的相关执行信息,使得每一个执行节点都是相互独立的,工作流过程的执行不再以某一个节点为中心,从而完全实现了分布。永久消息的方式大大提高了系统可靠性、可扩展性以及柔性。( 2 ) w e b w o r k :基于w e b 的工作流管理系统。基于双驱动工作流模式的工作内容引擎研究与实现w e b w o r k 是m e t e o r 项目中的一部分,它是完全基于w 曲技术实现的工作流系统。m e t e o r 的研究人员考虑到企业可能由于价格等原因不愿意去购买c o r b a 产品,但是大多数企业都有自己的w r e b 服务器,或者可以连接到某个w e b服务器上。于是,m e t e o r 的研究人员开发出了一套基于w e b 的工作流管理系统。w e b 浏览器为用户提供了一个通用的、友好的界面,而且它可以很容易地、不附加任何多余代价地部署在不同的计算平台上。( 3 ) f i l e n e t 公司的v i s u a l w o r k f l o w 。它是f i l e n e t 公司集成文档管理软件系列产品中的一部分,它与集成文档管理软件中的其它产品合作,能够为工作量大、性能要求高的经营过程提供全新的可扩展的过程改进方案。它允许迅速地评价和改进机构工作方式,可以随时查看过程中的关键细节,实时掌握过程的运行情况,还能帮助生成天、周、月、季度或者年的工作负载报告,以便改进过程模型。同时,v i s u a l w o r k f l o w 还提供w e b 服务,支持跨企业经营过程的集成。二、国内工作流技术发展现状在国内,“工作流 这一词汇对多数企业和组织而言还很陌生。目前,我国的工作流产品市场尚处于萌芽阶段。虽然如此,国内在工作流领域方面的研究和应用也已经引起了越来越多的科研机构和相关组织的重视。其中,在国家8 6 3 c i m s主题下,工作流技术的研究、应用与实施是一个十分重要的领域。在该主题领域下,以清华大学自动化系与上海交通大学计算机系为代表的相关课题组,结合制造领域的应用情况,开展了深入的研究和探索。而以清华大学计算机系、中科院软件所、同济大学、浙江大学计算机系、东南大学、南京理工大学等单位为代表,从广义应用的角度对工作流进行了理论与应用方面的研究。可以预言,随着我国信息化产业的迅猛发展以及国内企业先进技术的进步,我国的工作流产品市场的发展前景必将是乐观的,预期的工作流产品市场规模必将是巨大的。虽然国内的工作流系统实现起步较晚,但也有几家较为代表的实现方案,其中,应用比较广的是西安协同的s y n c h r o f l o w 。s y n c h r o f l o w 是在目前最流行的和最具发展潜力的j 2 e e 平台的基础上,以工作流管理联盟所提出的规范为标准开发的;它具备图形化的交互式用户界面,第1 章绪论并且提供良好的稳定性、扩展性、安全性、分布式事务管理、灵活的业务流程变动等功能;可以方便地集成企业现有系统、中间件和电子商务应用,称得上是开发、部署和管理企业关键业务的理想平台。s y n c h r o f l o w 不仅为用户提供了一个标准的客户端,而且提供了丰富的集成接口、应用开发接口等。1 4 本文研究的主要内容本文依托“云南航务海事综合应用系统 及“云南交通财务横向审批管理一体化综合系统 ,针对现有主要工作流引擎存在的不足,结合参与的实际开发的相关应用成果,对双驱动工作流引擎的层次体系和结构体系进行研究;分析当前主要工作流引擎产品对工作任务驱动支持有限的本质问题,针对现有工作流引擎对任务执行级抽象能力不足的问题,研究如何建立抽象度较高的工作内容驱动概念模型,提出使用资源泛化思想来对工作内容驱动模型进行建模。迸一步,针对双驱动工作流引擎模式下工作内容驱动引擎的一些关键设计进行介绍和研究,提出基于副本模式的工作流柔性实现设计模式;针对如何实现动态表o r 映射的问题,对动态o r 映射的关键设计进行研究。最后,介绍和研究工作内容驱动引擎的关键实现,包括:工作内容执行的核心实现、柔性驱动的核心实现、工作流模型实例化的核心实现、同步资源执行的核心实现。1 5 本文的章节结构以下是本文的章节安排:第一章,绪论。介绍课题的来源、研究背景、现状以及本文研究的主要工作。第二章,工作流技术概述。本章简述了工作流及工作流管理系统相关基本概念,介绍了工作流管理系统的体系结构和参考模型,最后对工作流引擎的功能、工作机制及其技术应用做了简要的介绍。第三章,双驱动模式工作流引擎介绍。本章首先分析了现有工作流引擎的不足,引出双驱动工作流模式,介绍了双驱动工作流模式的结构特点,之后详细描述了双驱动工作流引擎的层次体系和结构体系。基于双驱动工作流模式的t 作内容引擎研究与实现第四章,基于资源泛化的工作内容驱动模型研究。为了提高对工作内容的抽象程度,本章引入了资源泛化的思想,在利用资源泛化的思想完成了工作内容驱动的概念抽取过程之后,最终建立起工作内容驱动的概念模型。第五章,工作内容驱动引擎的关键设计。本章首先介绍基于副本模式的柔性驱动设计。介绍了工作流柔性的需求背景、定义及分类,分析了目前柔性工作流实现的模式及不足,从而提出了能够较好实现工作流柔性的副本模式,之后给出了基于副本模式的柔性驱动设计。接着介绍动态o r 映射设计。简要介绍当前o r m技术及缺陷之后,给出了动态o r 映射结构及技术实现。第六章,工作内容驱动引擎的关键实现。详细介绍了工作内容驱动引擎的几个关键问题:工作内容执行、柔性驱动、工作流模型实例化以及同步资源执行的核心实现。第七章,结论。总结了全文的工作并提出今后进一步研究和发展的方向。第2 章工作流技术概述2 1 工作流基本概念第2 章工作流技术概述2 1 1 工作流定义不同的研究者和工作流产品的应用开发者对工作流进行了定义和总结,其主要概念涵盖了工作流工作过程当中涉及到的文档、信息和任务等的触发执行过程和传递步骤,下面介绍几种比较典型的工作流定义:工作流管理联盟( w o r k f l o wm a n a g e m e n tc o l i t i o n , w f m c ) 给出的工作流定义是:工作流是一类能够完全或者部分自动执行的经营过程,它根据一系列过程规则,文档、信息或任务能够在不同的执行者之间进行传递与执行【2 6 1 。g e o r g a k o p o u l o s 给出的工作流定义是:工作流是将一组任务组织起来完成某个经营过程。在工作流中定义了任务的触发顺序和触发条件。每个任务可以由一个或多个软件系统完成,也可以由一个或一组人完成,还可以是由一个或多个人与软件系统协作完成。任务的触发顺序和触发条件用来定义并实现任务的触发、任务的同步和信息流( 数据流) 的传递。p e o p l e s o f t 公司给出的定义是:工作流是用来实施经营过程实践的机制【5 3 1 。i b ma l m a d e n 研究中心给出的定义是:工作流是经营过程的一种计算机化的表示模型,定义了完成整个过程所需用的各种参数。这些参数包括对过程中每一个步骤的定义、步骤间的执行顺序、条件以及数据流的建立、每一步骤由谁负责以及每个活动所需要的应用程序。g i g a g r o u p 的定义:工作流是经营过程中可运转的部分,包括任务的顺序以及由谁来执行、支持任务的信息流、评价与控制任务的跟踪、报告机制【2 4 】。清华大学自动化系的范玉顺老师给出的定义是:是一种反映业务流程的计算机化的模型,它是为了在先进计算机环境支持下实现经营过程集成与经营过程自动化而建立的可由工作流管理系统执行的业务模型【2 3 1 。上述定义主要围绕工作流的三点要素进行定义:一是定义了工作流程及其之间的工作规则和运行顺序;二是定义了在执行工作流程过程当中可能存在多个参基于双驱动工作流模式的工作内容引擎研究与实现与者,而参与者之间通过流程参数定义进行了任务分配和角色划分;三是工作流实例化的任务和活动能够被自动处理或是人工处理。2 1 2 工作流术语解释为了规范工作流技术在各个领域的应用标准,进行统一化的工作流定义和流程处理,并为广大开发研究者提供便捷的交流和应用接口,w f m c 组织对工作流的相关概念术语及其之间的关系进行了细致而严谨的描述,工作流技术所涉及的相关概念 蛔有:( 1 ) 业务流程( b u s i n e s sp r o c e s s ) :业务流程是由一个或多个能够实现业务目标的过程、活动和任务的集合。( 2 ) 流程定义( p r o c e s sd e f i n i t i o n ) :对即将发生的业务流程进行形式化的定义和归纳,关联到流程定义中的各项参数信息,包括设定流程的起始终止时间、流程参与者的活动、流程节点之间的活动关系和数据控制关系,流程定义的参数能够用计算机工具或在应用程序中被调用。( 3 ) 工作流管理系统( w o r k f l o wm a n a g e m e n ts y s t e m ) :工作流管理系统用来对业务过程涉及的活动进行自动化管理和控制,支持业务过程高效执行和运作,并作为能够监控其执行过程的计算机软件系统,其执行过程需要进行流程的实例化,从而完成活动实例化。( 4 ) 活动活动实例( a c t i v i t y a c t i v i t yi n s t a n c e s ) :活动主要是指流程实例化包含的相关动作,并能够在业务流程的运行过程当中保持逻辑上的独立和活动上的连续,作为工作流管理系统中的最小组成单元,具有不可分割性和环境无依赖性。业务流程的活动在大类上可以分为人为活动和自动活动。活动实例则表示的是业务流程活动过程的一次具体实现。( 5 ) 流程实例( p r o c e s si n s t a n c e s ) 流程实例至少需要一个活动实例的执行,代表一个流程定义的具体实现,是流程定义的运行时状态,记录了一个流程运行的起始时间、结束时间等状态信息。在流程实例的执行期间,工作流管理系统负责将其翻译成相应的流程定义,并执行流程实例中的活动生成的活动实例,从而真正的执行工作流定义的相关任务和活动。此外,流程实例能够根据流程定义的实第2 章工作流技术概述例规则确定流程活动之间的先后执行顺序,完成实例活动的信息数据传送。( 6 ) 工作项( w o r k i t e m s ) :表示的是实例活动中涉及到的工作项和任务,工作任务需要被分配给工作流活动的参与者,并分析和定义工作项之间的依赖关系,从而使实例化的业务流程能够在任务节点上进行划分和分类处理。( 7 ) 调用的应用程序( i n v o k e d a p p l i c a t i o n s ) :活动实例化过程中可能涉及到的辅助工具,包括计算工具或相应的应用程序,工作流管理系统中各个基本概念之间的关系如下图所示。被定义图2 1 工作流相关概念及关系f i g2 1r e l a t e dc o n c e p to fw o r k f l o wa n di t sr e l a t i o n s h i p2 2 工作流管理系统概述及其体系结构2 2 1 工作流管理系统的定义和分类工作流管理联盟( 岍m c ) 给出的关于工作流管理系统的定义是:工作流管理系统是一个软件系统,它完成工作流的定义和管理,并按照在计算机中预先定义好的工作流逻辑推进工作流实例的执行。基于双驱动工作流模式的工作内容引擎研究与实现工作流管理系统的主要任务是通过计算机相关技术和应用程序的支持去定义、规范、执行和管理工作流,协调工作流执行过程中任务之间以及参与成员之间的数据传送和信息交互【6 】。此外,通过抽取业务流程中工作组织协调在一起的规则,工作流管理系统能够将具体工作的逻辑和流程内部的逻辑进行独立和分离。在工作流管理系统的帮助下,工作流开发人员通过规范一定的编程接口及约定,能够开发出兼有灵活性和柔性的事务处理系统;从而最终用户无需进行事务处理系统二次开发,通过更改工作流程就可以适应业务变更的需求。工作流管理系统通常由定义工具、工作流引擎、工作流执行服务和用户界面组成。定义工具又称为流程设计器,主要是用来定义工作流,它能够生成工作流定义。在工作流定义时可能需要输入工作流程的组织或参与角色数据,并且通过编程接口引用外部应用程序来协助工作流定义。工作流引擎用来执行独立的流程实例,并为工作流执行服务提供引擎帮助和连接外部组件。工作流执行服务主要是用来执行工作流,可能包含多个彼此独立、并行运行的工作流引擎。并且会有选择的参考工作流组织和参与角色的数据,通过调用外部程序辅助工作流服务,并进行工作流控制数据的维护,通过处理工作流相关数据来完成工作项目并生成工作列表。用户界面是用户操纵工作流列表的界面,可能会调用外部的应用程序【3 】。工作流管理系统在应用范围、开发工具和执行过程等方面各具特点,因而目前具有工作流管理功能的商品化软件或原型系统数量繁多。研究开发者为了对这些系统的功能、特点和应用等进行合理的归类和开发,根据工作流过程自身特点、工作流建模方式、实施技术支持以及执行方式等的不同对工作流管理系统进行如下的分类【4 j :( 1 ) 结构化与即席结构化工作流指的是在实际工作流程中会无规律反复并能够严格按照某个预先定义的步骤进行的业务过程。通过对业务过程的详细分析,能够得到结构化工作流所需的各种数据信息,从而使其利用完整的过程定义能够在以后的应用过程中反复使用。即席工作流则是针对那些重复性不是很强或没有重复性的工作流程确定的,且工作流执行过程中具有动态多变的特点,从而为过程的建模与执行带第2 章工作流技术概述来更多的复杂性。( 2 ) 面向文档与面向过程面向文档是指将电子形式的文档、图像等在相关人员间分配,以便能够在工作流参与人员之间进行处理与传阅。在面向过程的w f m s 中,工作流被描述成一系列执行环节,并且与每个环节相关的节点都有需要处理的任务和数据。数据对象的值可以作为控制条件、或者依此数据对象组装成其他的数据对象等,并可以按不同的方式分发到其他环节中去,从而完成面向过程当中的数据对象的处理。( 3 ) 基于邮件和基于数据库基于邮件的方式通过电子邮件来完成流程实例执行过程中消息的传递、数据的分发及消息的通知。该邮件方式能够提高电子邮件系统的数据分发效率,使得整个系统运行在一种松散耦合的模式下。在基于数据库的w f m s 的工作流系统中,所有数据都以某种形式保存在相关类型的d b m s 中,工作流的执行过程实际就是对相关数据的查询与处理。( 4 ) 任务推动与目标拉动任务推动通过一个环节接着一个环节的方式逐步执行,当某个活动实例被分配处理完之后,后续的相关活动被创建并被激活,并一直到整个工作流程的完成。而在目标拉动的过程中,业务流程被看成是目标。过程实例执行时,该目标将被分解得到相互约束和关联的可执行的多个环节,并当成子目标进一步分解。最终完成整个环节的过程。2 2 2 工作流管理系统实现的功能工作流管理系统的主要实现可以概括为:工作流建模、工作流运行、系统管理和业务过程管理和分析。其中工作流运行又称为工作流执行为工作流管理系统的核心功能模块。下面分别对四种功能的实现进行介绍和说明。( 1 ) i 作流建模工作流建模的阶段主要完成的功能是工作流程相关活动的定义,并根据工作流的具体应用业务特点,选择合适的模型方法建立工作流模型,其中包括业务流程的建模,并对参与工作流过程的用户、权限角色进行设计,此外也可以选择基于双驱动工作流模式的工作内容引擎研究与实现流程设计器来进行工作流建模。( 2 ) 工作流运行工作流运行阶段主要是创建和初始化过程实例,并对实例化的工作流和活动进行管理和控制,控制和监管每个工作流过程执行的任务以及执行的顺序,并能够测试工作流的运行,实现流程发布运行。此外,工作流运行时主要是通过工作流执行引擎完成对实例的控制,工作流引擎负责解释过程定义,控制过程实例( 创建、激活、挂起、终止等) 。( 3 ) 系统管理系统管理功能主要是完成工作流执行之后对执行活动的监管和用户交互的管理,并能够建立系统表单模块。系统管理涉及到对工作流控制数据、工作流相关数据、组织角色模型数据和工作表四种数据的管理,并在工作流运行时为用户提供应用接口,方面系统参与用户根据相应的规则来执行业务过程的处理。( 4 ) 业务过程管理和分析业务过程管理和分析主要是在工作流执行过程中,实现对流程的管理和监控,并能够在流程出错后进行及时的修复,或是调用相应的处理来解决过程执行中遇到的漏洞,通过业务过程分析产生更为合理的业务流程。2 2 3 工作流管理系统的体系结构工作流管理系统的标准体系结构是由w f m c 提出的,这个体系结构简介抽象地介绍了工作流管理内部构件的主要功能和应用特点以及相互之间的互联关系,它为研究和和应用工作流产品的开发者和用户之间提供了公共概念和接口,可以摆脱对不同的硬件环境和开发技术的依托,顺利实现工作流的管理系统的开发1 1 。从图2 2 工作流管理系统的体系结构可以总结出,标准工作流管理系统应该由以下四类构件组成:软件构件:用于管理工作流系统中的各部分功能,协助工作流的不同组件的任务和功能的更新。系统控制数据:工作流执行过程中涉及到的工作流控制数据、工作流相关数据、组织角色模型数据和工作列表四种系统数据,该类控制数据能够被一个或多第2 章工作流技术概述个软件构件使用的数据。应用程序与应用数据:应用程序和应用数据属于工作流管理系统的外部组成部分,用来协助工作流管理系统通过接口对外部组件的功能进行调用,从而支持工作流管理系统的内部组件功能的实现。引乙组织角色模型数据被解释引弋三1i 作流引擎工作流。1 一执行服务警1i 作列袭表单工具表单定义f 工作流控制l维剥数据黼寸一_ _ j 1 更新工作流相关数据引用应用程序操纵篁应用数据图2 2 工作流管理系统体系结构图f i g 2 2a r c h i t e c t u r eo fw o r k f l o wm a n a g e m e n ts y s t e m本文在遵守上述工作流管理系统的体系结构的基础上对其进行了适当修改。提出基于w e b 服务和电子商务应用的工作流管理系统体系结构,结合工作流管理系统在电子商务和办公自动化方面的应用,在原有的工作流管理系统基础上引入w e b 技术和电子商务技术,根据企业w e b 应用级需求建立了w e b 工作流管理系统的体系结构,具体结构如下图所示。图2 3 基于w e b 工作流的体系结构由四个层次组成:表现层、控制层、运算层和数据层。表现层是给用户提供直接定义工作流程和进行表单设计的操作界面,用户可以通过该层进行工作流的控制和监管,以便防止异常发生,此外,该层都是基于b s 浏览器的方式来实现的;控制层主要实现对工作流和表单的监管和控基于双驱动工作流模式的工作内容引擎研究与实现制;运算层主要是通过工作流引擎和表单引擎对工作流执行过程中的各种项任务进行处理;数据层用主要是用来存储与工作流相关的各种数据信息,存储结果表现为数据库的形式。b 乎”删( w e b ) e 嚣) 一 广。夔黼。) 一黔构) 务月户、”“”8 ”f 执行任务),、( 糊l 擎) ( 表籼)( 流程调度)运算层厂、( 事务执行)( 工作流引擎) ( 工作流a p x )( 异常处理)jl| o m c l e 一| s q ls e r v e r d b 2i数据层l 图2 3w e b 应用工作流体系结构f i g 2 3a r c h i t e c t u r eo fw o r k f l o wm a n a g e m e n ts y s t e mw e b - b a s e d2 3 工作流管理系统参考模型2 3 1 工作流模型定义及视图结构工作流模型就是对业务过程的抽象表示,工作流模型是用计算机的形式描述的企业的整个业务经营过程,是对企业业务过程的模拟和抽象。工作流模型描述了工作流管理系统执行过程所需要的所有信息,包括过程的开始和完成、构成过程的活动以及活动间转移的条件和规则、用户需要完成的任务、被调用的外部应用、工作流引擎的引用关系,以及所有与工作流执行过程相关的数据定义1 5 7 1 。工作流模型结构在视图组织结构上主要由过程视图、组织视图、资源视图和信息视图组成,其中过程视图是工作流模型的核心视图。它描述企业的业务流程,第2 章工作流技术概述定义业务过程中包含的活动以及这些活动之间的逻辑关系。组织视图描述企业中的组织单元和组织单元间的关系。资源视图描述企业中资源的类型以及资源实体的属性,是工作流模型中非常重要的一个概念,是活动可以执行的必备条件。信息视图从信息关系的角度描述经营过程中的数据结构特征和数据关系。工作流管理系统的软件实体的功能就是把这几种视图有机的融合在一起,使它们共同组成一个企业的业务流程模型。2 3 2 工作流建立模型方法目前相对于工作流产品的实现技术和发展速度而言,工作流建模理论的研究相对滞后,在建模方法上还没有形成系统化的理论体系。下面介绍目前存在的几种常见的建模方法。( 1 ) 基于活动网络的工作流建模方法这种建模方法从过程定义入手,来绘制活动网络图,它的优点是比较直观,容易理解,通常,图中的节点表示过程中的活动或者状态,而有向弧则表示节点间的时序依赖关系。( 2 ) 基于形式化表示的工作流建模方法这种表示方法利用严格的数学理论,采用形式化的方法精确定义流程。基于p e t r i 网的建模方法是一个典型的代表,在p e t r i 网建模方法中,包含库所、变迁和标记三种元素。p e t r i 网络具有定义严格、模型容易验证等优点;缺点是不适合复杂流程业务的工作流建模。( 3 ) 基于对话模型的建模方法对话模型方法包括很多个闭环,每一个闭环都包括需求、协商、执行和满意四个阶段。这种模型的优点是非常适合于描述人机交互为特征的经营过程;缺点是不能很好的支持层次化建模,对于流程比较固定的企业经营过程不太适合。( 4 ) 基于事务的建模方法a m i ts h e t h 通过高级事务模型的研究,提出了事务工作流( t r a n s a c t i o n a lw o r k f l o w ) 的概念,完全从工作流的角度提出了任务的结构化定义以及基于任务间依赖关系的工作流定义。由于工作流实际应用环境中高级事务的情形比较复杂,基f 双驱动工作流模式的工作内容引擎研究与实现这种建模方法的应用存在一定的难度和限制。( 5 ) 基于e c a 规则的建模方法基于e c a 规则的工作流建模方法的主要特点是以事件驱动工作流实例,事件驱动的机制为分布式工作流提供了统一的任务描述机制,通过严格定义事件的语义能够保证工作流的正确执行,并大大提高系统的柔性,这种柔性允许工作流实例在运行过程当中修改过程结构。2 3 3 工作流管理系统的参考模型w f m c 根据工作流管理系统的功能特点、体系结构和定义标准,给出了工作流管理系统的参考模型,图2 4 显示了工作流管理系统的参考模型。在参考模型中,主要介绍了上述工作流管理系统体系结构中所涉及的主要模块,包括:工作流自定义、工作流管理和控制工具、工作流执行服务、工作流客户端应用和工作流调用应用程序五大模块,为了更好的执行工作流服务和分配工作流任务,模块间建立了接口。而5 个接口中的许多功能同时又是被多个接口所公用的,因此工作流a p i 被用来当作统一的服务接口,能交叉重复利用实现工作流管理系统的功能【3 9 1 。i 作流定义工具矗矿工作流a p i 与交换格式接口2 目l 接口3工作流客户端应用工作流调用应用程序接l j 4其它工作流执行服务图2 4 工作流管理系统参考模型f i g 2 4r e f e r e n c em o d e lo fw o r k f l o wm a n a g e m e n ts y s t e m第2 章工作流技术概述2 4 工作流引擎技术介绍2 4 1 工作流引擎的功能及工作机制( 1 ) 工作流引擎的功能工作流管理联盟( w f m c ) 把工作流引擎定义为:为工作流实例提供运行时期的执行环境的软件服务器或引擎【3 0 1 。根据其功能来看,工作流引擎作为工作流系统的一部分,能够协助各应用系统根据角色、分工和条件的不同决定信息传递路由、内容等解决方案。工作流引擎( w o r k f l o we n g i n e ,w f e ) 实施的主要功能是借助计算机技术的支持,来定义、创建、执行和管理工作流,对工作流相关执行过程和数据进行解释,协调工作流执行过程中工作之间以及参与成员之间的数据信息交互,并提供外部程序接口,连接外部应用数据和程序。( 2 ) 工作流引擎的工作机制工作流引擎作为工作流管理系统的核心,主要负责流程的调度、监管控制,并执行具体服务,保证流程能够按照一定的规则和流程顺序进行流转和工作。因而需要工作流引擎的工作机制进行描述和分析。对下图的工作流引擎的执行过程进行分析,可以得到:首先,用户向工作流引擎发送启动指令,引擎收到指令后,发送资源请求,并获取相应的流程定义;引擎根据定义的流程,对流程中的任务资源信息进行分解而获取节点配置信息,并根据节点配置信息来进行流程创建和任务分配:之后,引擎会判断流程实例是否创建,并根据判断结果决定是否创建实例信息,并进入到实例调度步骤;当引擎调度实例数据信息后,会判断启动条件是否满足,如果满足,则根据预先定义的规则将任务在不同的工作流参与者之间进行分配;用户完成任务后,引擎会将该任务的后续活动列表返回给用户,并判断每个节点条件是否为空,如果不为空,则对列表中的每个节点转移条件进行检查,判断是否满足转移条件,满足则创建实例;如后续列表为空则判断节点是否为结束节点,不是返回异常处理,是则返回流程结束。具体工作流引擎执行过程机制如图2 5 所示。基于双驱动工作流模式的工作内容引擎研究与实现刮蓑捧h 誉哐l=ami1 j 竺多崆巫圈起始条件是甭礴足是古满足转移象件图2 5 工作流引擎执行活动判断f 遮2 5j u d g m e n to fw o r k f l o we n g i n ee x e c u t i o na c t i v i t i e s刨建透动实埘2 4 2 工作流引擎的技术应用在工作流引擎技术的应用和实现方面,基于x m l 技术和w e b 服务技术的开源工作流引擎比较多,下面概要介绍目前比较主流的几种工作流引擎技术【3 2 】:( 1 ) o b e ( o p e nb u s i n e s se n g i n e ) 工作流引擎o b e 是一个用j a v a 编写的开源工作流引擎。o b e 提供一个在可控、集成的环境中执行各种活动的环境。o b e 支持工作流的同步和异步执行。o b e 使用了e j bs e s s i o nb e a n 和e j be n t i t yb e a n 和消息驱动b e a n ,是一个强大的工作流引擎。其优点是支持w f m c 的工作流接口。缺点是不能够支持工作流实例的持久化,图形编辑界面不够完善。( 2 ) o f b i z ( o p e nf o rb u s i n e s sw o r k f l o w ) 工作流引擎o p e nf o rb u s i n e s sw o r k f l o w 引擎是基于w f m c 和o m g 规范的,o f b i z 最主要的特点是提供的一整套开发是都基于j a v a 的w e b 应用程序的组件和工具。支持j 2 e e x m l 规范和技术标准,能够用来构建大中型企业级、跨平台、跨数据库、跨应用服务器的多层、分布式电子商务类w e b 应用系统的框架。其优点是实体引擎和服务引擎,实际应用的项目和参考资料比较多。缺点是结构复杂,不适合单独第2 章工作流技术概述应用的工作流引擎。( 3 ) w e r k f l o w 工作流引擎w e r k f l o w 是一个灵活可扩展的基于流程和状态的工作流引擎。它的目标是满足可以想象的所有工作流程,从企业级的业务流程到小范围的用户交互流程。通过使用可插拔和分层结构,可以方便地容纳各种工作流语义。优点是可扩展性好,遵守x m l 协议。( 4 ) o s w o r k f l o w 工作流引擎o s w o r k f l o w 是完全用j a v a 语言编写的开放源代码的工作流引擎,具有显著的灵活性及完全面向有技术背景的用户的特点。用户

温馨提示

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

评论

0/150

提交评论