通用的轻量级工作流系统设计与实现.docx
- 文档编号:10129996
- 上传时间:2023-02-08
- 格式:DOCX
- 页数:73
- 大小:534.88KB
通用的轻量级工作流系统设计与实现.docx
《通用的轻量级工作流系统设计与实现.docx》由会员分享,可在线阅读,更多相关《通用的轻量级工作流系统设计与实现.docx(73页珍藏版)》请在冰豆网上搜索。
通用的轻量级工作流系统设计与实现
通用的轻量级工作流系统设计与实现
学生:
梅小虎
指导教师:
张彬桥
(三峡大学电气信息学院)
摘要:
工作流管理系统是近年来在计算机应用领域发展最为迅速的技术之一。
工作流术的主要特点是过程的自动化处理,这些过程包含以人和以机器为基础的活动的结合,特别是对那些与IT应用程序、工具交互的过程进行自动化处理。
工作流技术的引入,使应用系统的流程逻辑与业务逻辑耦合度降低,从而降低了复杂流程应用的开发难度,提高了应用系统的开发效率和可维护性。
传统工作流管理系统的设计从提供功能齐全的工作流服务角度出发,不可避免地导致了系统架构极为庞大,系统的复杂性也随着增大。
同时传统的工作流管理系统提供的功能是以集成的方式实现,从数据存储到运行环境往往都有自己的一整套独特的体系结构,因而想从中分离出某个功能,将会是一件非常困难的事情。
由于这些问题的存在,使得传统的工作流管理系统不能快速地根据具体的应用需求定制,灵活地集成到应用系统。
为了克服当前工作流在应用中的不足,本文结合具体的应用需求,提出了一个轻量级工作流管理系统的框架结构。
轻量级工作流架构的核心部分,由几个组件提供工作流的基本功能。
在对轻量级工作流管理系统进行设计时,本文把它从体系结构上划分为三个层展现层,业务逻辑层,数据层,然后,对工作流系统的设计进行详细介绍。
具体研究内容如下:
1.对工作流技术的研究现状和理论进行调查和研究,并对主流的开源工作流管理系统进行深入的分析和对比。
2.在工作流理论的基础上,从够用、灵活和低成本的设计原则出发,对轻量级工作流管理系统进行了研究,并对其设计方案和实现技术进行了详细阐述。
关键词:
工作流、工作流建模、轻量级工作流管理系统
Abstract:
Workflowmanagementsystemisoneofthemostrapidlydevelopedtehnologyintcomputerarearecently.Itsprimarycharactericticisautomationofprocesses,Whichinvolvingcombinationsofsomeactivitiesprocesses.Workflowtechnology’sintroductionlowersthecouplingbetweenprocesslogicandbusinesslogicoftheapplicationsystem,thenreducingcomplexityoftheapplicationdevelopmentprocess,raisingtheapplicationsystemdevelopmentefficiencyandmaintainability.
Thepurposedesignoftraditionalworkflowarchitecturesaimsatprovidingfullfledgedsupportforthewidestpossibleapplicationspectrum.Consequently,mostworkflowmanagementsystem,bothproductsandresearchprototypes,areheavyweight,monolithic,andpackageacomprehensivesetoffeaturesinanall-or-nothingmanner.Additionally,currentworkflowsystemsarehardtointegratewithotherenvironments.
Thesolutiontothepreviousproblesintroducedhereisalightweightworkflowarchitecturethatenablessoftwaredeveloperstopickandchoosetheworkflowfeaturesthetyneed.Atthecoreofthearchitecture,severalcomponentsprovidebasicworkflowfunctionality.
Inthepaper,firstly,theworkflowmanagementsystemisdividedintothreelayers,
namelyview、businesslogicanddataaccess.Then,giveanelaborationonworkflowengineandprocessdefinitiontools.Detailsasfollows:
1.Makeinvestigationsandresearchesonactualitiesofworkflowtechnology,aswellasgivedeeplyanalysisandcomparisonsonmainstreamopensourceworkflowmanagementsystem.
2.Basedonworkflowtheory,andbasedondesignprincipleofsufficient,flexibleandlow-cost,wemakeresearchesonthelightweightworkflowmanagementsystem,aswellaselaborateonitsdesignandimplementationtechniques.Weputemphasizeonthecoremodulesinworkflowenginesuchasworkflowprocesstemplatemanagement,workflowinstancemanagement,thelistofwork-itemmanagement,transferservices,timeconstraintsservices,andsoon.Also,wediscussdesignandimplementationofprocessdefinitiontools.
Keyword:
Workflow,workflowmodeling,LightweightWorkflowManagementSystem
前言
工作流技术起源于二十世纪七十年代中期办公自动化领域的研究,由于当时计算机尚未普及,网络技术水平还很低以及理论基础匮乏,这项新技术并未取得成功。
1983年至1985年间,在图像处理领域和电子邮件领域出现了早期的含有工作流特征的商用系统。
进入九十年代以后,随着个人计算机、网络技术的普及和推广,以及信息化建设的日益完善,使得工作流技术的研究与开发进入了一个新的热潮。
1993年8月,第一个工作流技术标准化的工业组织——工作流管理联盟(WorkflowManagementCoalition,简称WFMC,下同)成立。
1994年,工作流管理联盟发布了用于工作流管理系统之间互操作的工作流参考模型,并相继制定了一系列工业标准。
与此同时,关于工作流技术的学术研究也十分活跃,许多原型系统在实验室里开发出来。
自20世纪90年代中期至今,互联网技术在我国迅速发展和普及,引出了Intranet、Extranet、Internet、政府上网工程、企业上网工程、电子政府、电子商务、电子管理、政府内部网、企业网、数字神经系统和数字化办公等一系列新概念,这些新概念的提出背后都或多或少的存在着工作流的思想,只不过有些概念体现的工作流思想少些,而有些概念的核心思想就是工作流的思想,如办公自动化等。
随着企业信息化步伐的加快,工作流的思想已经越来越多地进入了企业应用系统领域。
现代化企业为了增强工作效率、缩短信息传播周期、固化业务模式、增加核心竞争力,已经将企业经营过程的各个领域各个环节均纳入了企业信息化的部分。
众多的企业应用系统按照功能从大的范围来划分,无非两种,一种是以公文流转、日常办公为主体的办公自动化系统,另一种则是以企业经营过程的业务流程为主要辅助对象的具体业务系统。
无论是办公自动化系统还是具体业务系统,都是为企业提供软件服务的,都是本着服务于企业需求为目标的,然而,现实世界中的各个企业的经营过程是无时无刻不在变化和调整中的,以便适应瞬息万变的市场。
这种变更带给信息化系统软件的最大的问题在于企业经营过程的调整往往使得原有的信息化系统软件要推倒重新设计开发,使开发成本非常的高,寻找到一种能够相对灵活的架构和管理方式以使得信息化系统能够快速的适应企业经营过程的变更成为了为企业构造信息化系统的软件设计人员的头等课题。
工作流及工作流管理系统之所以能为企业信息化系统所使用究其原因也在于此。
虽然工作流技术已经开始在企业应用中拥有了一片天空,然而,同已经应用于企业的其他技术相比,工作流技术仍然处于其技术发展的初期。
进入二十一世纪以来,工作流技术已被越来越多的人认可,与之相关的标准规范、工作流引擎及商业产品不胜枚举。
人们在开发推广工作流产品的同时,更加注重工作流的理论研究,以推动该项技术走向成熟。
1、绪论
1.1研究目的和意义
工作流(Workflow)是一类能够完全或者部分自动执行的经营流程(BusinessProcess),根据一系列流程规则,文档、信息或任务能够在不同的执行者之间传递、执行。
工作流管理系统是定义、执行并监控工作流的软件管理系统。
工作流管理系统使商业流程以合理有效的方式实施,保证正确的信息在正确的时间到达正确的信息处理者,它更加有效的融入商业流程管理,将人们从繁杂的工作中解脱出来,提高商业流程管理的正确性、高效性和工厂、企业的生产效率。
近年来,越来越多的研究机构和企业致力于工作流管理系统的研究。
从现有的工作流产品来看,许多工作流产品都在不同程度上提供了对外部工具的集成功能,部分产品还提供了基于表单的应用逻辑的定制和开发环境。
但是,外部工具的多样性和复杂性决定了对外部工具的集成难以做到无缝;而工作流产品内建的开发工具除了与流行的开发工具不兼容外,其开发功能往往都比较简单。
因此,对于简单的应用(例如公文流转、订单的审批等),这些产品是合适的。
但是,如果是开发关键业务的应用系统(特别是行业应用系统),现有工作流产品所能提供的开发功能是远远不够的。
本文在对工作流技术进行深入的分析和研究的基础上,设计了轻量级工作流管理系统作为解决方案,它有别于传统的工作流管理系统,在设计上从够用、灵活和低成本的原则出发,不追求工作流管理系统功能的完备和复杂,只是实现其中必不可少的功能和特征;在使用上更加简单。
由于这些特点,它将为使基于工作流技术的应用开发更加易于开发人员接受,提高了开发效率和可维护性,开发成本得到了降低。
1.2课题研究现状
目前,在全球范围内,对工作流技术的研究以及相关产品的开发进入了一个
繁荣阶段,更多更新的技术被集成进来,Internet服务、数据库、电子邮件、移动式计算、文件管理等都已被容纳到工作流管理系统之中。
随着工作流这一集成框架下所容纳技术的不断拓展与成熟,工作流管理系统将成为企业信息环境中不可缺少的软件平台,并将最终成为覆盖于各类台式机与网络操作系统之上的业务操作系统BOS(BusinessOperatingSystem),带来业务操作系统的一次革命。
经历了二三十年的发展,工作流产品基本上确定了它在计算机应用软件市场上的独立位置,在工作流这一框架下,比较基本的、主要的研究内容包括以下几个方面:
(1)工作流管理系统体系结构的研究;
(2)工作流模型与工作流定义语言;
(3)工作流的事务特性:
研究目的在于将高级事务处理技术与工作流管理技术相结合,用良好定义的模型语义与恢复机制来更好地支持企业的经营过程,提高工作流系统的可靠性与实用性;
(4)工作流的实现技术:
包括面向对象技术、异构分布式计算、图形用户界面、消息通信、数据库、WWW等在内的与工作流管理系统的设计实现有关的各项技术、方法;(5)工作流的仿真与分析方法;
(6)工作流的集成与互操作技术:
研究异构应用系统的集成以及不同工作流管理系统之间的互操作问题;
(7)工作流与经营过程重组:
研究如何通过工作流管理系统的实施来有效地实现企业的经营过程重组。
尽管经过工作流产品供应商与工作流技术研究人员多年的不懈努力,使得工作流技术由最初的萌芽逐步发展起来,并取得了相当的成果,但是从工作流管理系统的实际应用状况来看,还远未达到人们所期待的普及状态。
在经营过程中采用工作流管理系统的企业仍只是一少部分,而且这些系统的应用范围也很有限,
并不能全方位地支持企业的关键业务流程。
从企业用户应用的角度来分析,工作
流产品亟需解决以下5个方面:
(1)工作流的运行必须要有底层的通信基础结构的支持,但是就目前能够实现分布计算环境的产品来看,它们在实际应用中仍然显得不够成熟,在安全性、容错性、可靠性等方面均不能满足企业的需求,而且在价格上也给企业造成一定的负担。
(2)统一的标准。
不同的厂商所提供的工作流产品可能具有自己独立的一套工作流模型、工作流定义语言以及API函数。
在这种缺乏标准的状况下,用户一旦选定一种产品之后,就很难再过渡到其他同类产品之上了。
而且不同的系统之间缺乏互操作的接口。
尽管工作流管理联盟的成立有助于改善这种情况。
但若想实现类似于关系型数据库这样的统一标准(比如关系数据模型、SQL语言等),仍有很长的路要走。
(3)提高系统开发的效率。
工作流应用的开发不仅仅是过程的定义,还需要完成其他许多任务。
比如,对外部的应用系统进行封装、建立工作流运行所必须的分布计算环境、设计开发相应的用户界面等等。
目前的工作流产品,几乎不能为这些任务提供什么有力的帮助,所有的工作流应用都需要工作流产品供应商与应用开发人员进行很长时间的合作才能最终完成。
另外,工作流管理系统的实施给企业带来的不仅仅是技术上的变化,同时也会对企业原有的管理制度造成一定的影响,这也是对企业的一种冲击。
(4)工作流技术本身有待成熟。
目前尚没有一种工作流产品或原型系统能够在过程执行的可靠性与一致性方面达到与关系型数据库管理系统同水平的功能。
尽管在实际应用时对工作流管理系统并没有那样高的性能要求,但具备这样的能力对于一个工作流管理系统而言是很重要的,只有这样,才能使企业有信心采用工作流技术来对那些应用其他技术(如数据库)实现的关键任务应用进行重组。
(5)工作流仿真评价方面的研究还处于萌芽阶段。
应该说,在缺乏仿真方法与仿真工具支持的情况下,整个工作流管理系统是不完善的。
因为人们难以预料所部署的工作流过程将有可能出现怎样的结果,它有哪些不合理的地方,其性能指标如何,这一切都必须等到实际运行以后才能由工作流管理系统所记录的数据中获得,显然,这并非是一种合理的方式。
针对工作流进行仿真的难点主要在于:
仿真的性能指标不好确定;仿真的内容较为复杂等。
本课题的研究正是针对
(2)(3)两个亟需解决的方面而提出的,专注于构建轻量级工作流管理系统,而面向对象技术及设计模式的发展为本课题的研究提供了必要条件。
1.3主要研究工作
为了实现轻量级工作流管理系统,本课题围绕以下几项主要工作展开研究:
(1)工作流技术的基本概念的研究。
具体的研究内容包括:
WfMC的工作流标准,工作流参考模型,阅读并分析了大量有关工作流技术的资料及学术论文,对工作流技术的概念、特点进行详细的讨论和分析。
(2)轻量级工作流系统的设计和实现。
1.4本文的组织安排
本文共分四部分,具体的内容组织如下:
第一部分:
绪论。
给出课题的研究研究目的和意义,提出论文的目标与主要内容。
第二部分:
工作流技术概述。
介绍工作流起源发展和相关概念,并介绍工作流管理系统的体系机构、参考模型、工作流引擎、过程定义工具等。
第三部分:
轻量级工作流管理系统的研究与实现。
分析了轻量级工作流管理系统的总结构。
第四部分:
论文总结。
总结了本文工作所取得的成果,并对下一步工作提出了、展望。
最后是参考文献和致谢。
2、工作流技术概述
工作流技术通过信息技术的支持为企业的经营过程提供了一个从模型分析、建立、管理、仿真到运行的完整框架,是实现业务过程管理与控制的一项关键性技术。
工作流技术的出现和迅速发展为企业战略的实施提供了重要的技术支持。
2.1工作流的相关概念
业务流程(BusinessProcess):
一组用来实现一个商业或策略目标联的过程或行为,通常处于一个定义功能角色和关系的组织结构中。
在某企业或机构中,它能够实现业务目标和策略的相互连和活动集,如公文处理流程、投保过程、银行客户的取款过程等工作流(Workflow):
工作流是面向特定应用的业务流程的抽象务流程的整体地或部分地自动化处理,文档、信息或任务按照一动从一个参与者传递给另一个参与者处理。
工作流引擎(WorkflowEngine):
工作流引擎为一个工作流实例环境。
它提供的服务包括:
过程模型的解释、过程实例的控制(活、暂停、终止等)、在过程各活动之间的游历(控制条件的计的传递等)、参与者的加入与退出、生成工作项通知用户进行处流控制数据和工作流相关数据的维护、调用外部应用和访问工作据等。
工作流管理系统(WorkflowManagementSystem):
运行在一个或流引擎上,使用软件来定义、创建和管理工作流执行过程的系统过程的定义,能与工作流参与者互动,并且能在需要时调用IT用软件。
过程定义(ProcessDefinition也称过程建模):
计算机所能识别的的形式化描述,用来支持运行过程的自动化。
流程一般被分解成程和活动以及它们之间的关系,其定义主要包括运行过程中所涉种数据和参数,如过程的开始和终止条件、各个工作环节(活动之间的控制流和数据流关系以及一些关于个体行为的信息,如组6与IT相关的应用和数据等。
工作流模型(WorkflowModel):
工作流模型是对工作流的抽象表是对经营过程的抽象表示。
工作流模型是使用工作流定义语言用域的业务过程形式化描述所得到的结果,它包含工作流执行所息。
活动(Activity):
活动是工作流中一些逻辑步骤或环节的工作任分为手工操作和自动处理两类。
活动是流程执行中的最小工作单有人员的参与或由计算机自动完成。
流程实例(ProcessInstances):
流程实例是实际运行中的一个业每个实例代表一个能独立控制执行、具有内部状态的线程。
在流行的业务流程中,WFMS将解释相应的过程定义,生产相关的活根据定义中的控制规则协调这些活动之间的顺序关系,同时根据关系的定义完成活动之间的数据传送。
从参与者的角度来说,实实际上是由参与者处理他所涉及的那些环节的数据,完成该环节之后由WFMS根据相应结果激活后续环节,同时通知后续参与行处理,由此依次反复直至整个流程完成。
活动实例(ActivityInstances):
活动实例是过程实例中的一个逻环节。
工作项(Workitem):
可被工作流参与者执行的活动实例的表示动实例通常产生一个或几个工作项,工作项通过赋予相关参与者表而被参与者所感知。
任务(Task):
活动和工作项的统一表示,在工作流定义的上下文动,在工作流实例的上下文中表示工作项。
路由(Routing):
工作流实例中任务间的关系,基本的路由关系(Sequence)、选择(Choice)、派生(Fork)、合并(Merg(Synchronization)等。
组织(Organization):
任务执行所需要的,一般指参与者,可以也可以是人。
2.2工作流技术的发展与产品
工作流技术的起源可以追溯到上个世纪80年代初期,一些公司、企业建立了自己专用的或者可商品化的表单传递应用系统(Formsroutingapplications),通常运行在大型机或小型机上,用于实现日常表单处理的电子化与自动化。
这种表单传递应用系统解决了纸张在信息的处理、组织、存储以及查询检索方面都是低效的。
这种系统可以看成是现代工作流管理系统的一个雏型。
80年代中期,FileNet和ViewStar等公司率先把图像扫描、复合文档、结构化路由(StructuredRouting)、实例跟踪、关键字索引以及光盘存储等功能结合在一起,形成了一种全过程支持某些业务流程的集成化的软件(包),这便是早期的工作流管理系统。
这些公司就是开拓工作流产品市场的先驱者。
这个时期比较典型的工作流产品有FileNet于1984年推出的WorkFloBusinessSystem,ViewStar于1988年推出的ViewStar。
这种集成化软件系统为企业简化与重组自己的关键业务流程提供了一种非常合适的方案,但是限于当时的计算机发展水平,它所集成的功能较为简单而已。
90年代,工作流技术的标准化组织工作流管理联盟(WorkflowManagement
Coalition)于1993年成立。
它的成立标志着工作流技术在计算机应用研究领域之中被明确地划分出了自己的一席之地,相应的概念与术语也有了标准。
在全球范围内,对工作流的技术研究以及相关的产品开发进入了更为繁荣的阶段,更多、
更新的技术被集成进来,文件管理系统、数据库、电子邮件、移动式计算、Internet
服务等都已被容纳到工作流管理系统之中。
同时,随着计算机的普及、网络的延
伸,现代企业的信息资源越来越表现出一种异构、分布、松散耦合的特点,企业
的分散性、决策制定的分散性、对日常业务活动详尽信息的需求以及ClientServer体系结构、分布式处理技术(CORBA,WWW,OLE,JAVA)的日益成熟,都说明了这样一个事实:
集中式信息处理的时代已经过去,实现大规模的异构分布式执行环境,使得相互关联的任务能够高效运转并接受密切监控已成为一种趋势。
在这种不可抗拒的技术背景下,工作流管理系统也由最初的创建无纸办公环境转而成为同化企业复杂信息环境、实现业务流程自动执行的必要工具。
这样的一个转变,把工作流技术带入了一个崭新的发展阶段,使得人们从更深的层次、更广的领域上对工作流展开了研究。
进入21世纪的今天,工作流技术的应用已经普及,工作流技术的研究主要分为两方面内容:
一是为工作流技术的发展解决理论上存在的问题,探讨工作流模型和语义的形式化表示方法等;二是从工作流实现技术的角度探讨利用先进的技术提高工作流管理系统的性能和可靠性。
工作流技术的研究方向主要集中在以下几个方面:
(1)分布式系统;
(2)构件化设计,主要为了增强系统的扩展性;
(3)基于事件的工作流管理系统;
(4)基于Web的工作流系统,这种B/S结构系统逐渐成为当前的主流;
(5)支持动态建模的工作流系统;
(6)异常的处理和错误恢复问题;
(7)融入事务管理概念;
(8)支持各种平台,如移动嵌入式系统平台;
(9)支持离线操作;
(10)支持定制界面。
近年来,工作流产品的市场逐年增长,市场上已经有许多商家的各种工作流产品,根据不同工作流系统所采用的任务项传递机制的不同可以把当前的工作流产品分为以下四类:
(1)基于文件的工作流系统——以共享文件的方式来完成任务。
这种类型的产品是产生最早、发展最成熟、最具多样性的,通常包含有ClientServer模式的图像、文档与数据库管理系统.代表产品有FileNet的VisualWorkFlo,IBM的FlowMark,InConcert的InConcert。
(2)基于消
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 通用 轻量级 工作流 系统 设计 实现