毕业设计论文_通用的轻量级工作流系统设计与实现.doc

上传人:李司机 文档编号:7026251 上传时间:2024-04-18 格式:DOC 页数:60 大小:869.85KB
返回 下载 相关 举报
毕业设计论文_通用的轻量级工作流系统设计与实现.doc_第1页
第1页 / 共60页
毕业设计论文_通用的轻量级工作流系统设计与实现.doc_第2页
第2页 / 共60页
毕业设计论文_通用的轻量级工作流系统设计与实现.doc_第3页
第3页 / 共60页
毕业设计论文_通用的轻量级工作流系统设计与实现.doc_第4页
第4页 / 共60页
毕业设计论文_通用的轻量级工作流系统设计与实现.doc_第5页
第5页 / 共60页
点击查看更多>>
资源描述

《毕业设计论文_通用的轻量级工作流系统设计与实现.doc》由会员分享,可在线阅读,更多相关《毕业设计论文_通用的轻量级工作流系统设计与实现.doc(60页珍藏版)》请在三一办公上搜索。

1、目录摘要2前言41、绪论41.1研究目的和意义41.2课题研究现状51.3主要研究工作61.4本文的组织安排62、工作流技术概述72.1工作流的相关概念72.2工作流技术的发展与产品82.3工作流管理系统92.3.1工作流管理系统的功能92.3.2工作流管理系统的体系结构102.4工作流参考模型142.5小结153轻量级工作流管理系统的设计与实现153.1轻量级工作流管理系统概念153.1.1传统工作流管理系统153.1.2轻量级工作流管理系统153.2系统概述153.2.1 匿名用户角色163.2.2职员角色部分163.2.3管理员角色功能部分163.3系统预览163.4系统特点183.5系

2、统需求分析183.5.1可登陆用户的基本功能183.5.2公司职员具有的功能183.5.3系统管理员具有的功能193.6系统基本框架193.6.1功能上划分193.6.2角色上划分193.6数据库的设计223.6.1数据库需求分析223.6.2数据库概念结构设计223.6.3数据库逻辑结构设计273.7模型(Model)层的设计(部分)283.7.1用户模型类(T_User.cs)283.7.2工作流模型类(T_workflow.cs)313.8业务逻辑层设计(部分类)323.8.1数据库帮助类(SQLHelper.cs)(部分)323.8.2用户操作类(T_User.cs)403.9界面层的

3、设计(部分)443.9.1配置web.config文件443.9.2用户登陆453.9.3工作流管理484、结束语49致谢50参 考 文 献50通用的轻量级工作流系统设计与实现摘要: 工作流管理系统是近年来在计算机应用领域发展最为迅速的技术之一。工作流术的主要特点是过程的自动化处理,这些过程包含以人和以机器为基础的活动的结合,特别是对那些与IT应用程序、工具交互的过程进行自动化处理。工作流技术的引入,使应用系统的流程逻辑与业务逻辑耦合度降低,从而降低了复杂流程应用的开发难度,提高了应用系统的开发效率和可维护性。传统工作流管理系统的设计从提供功能齐全的工作流服务角度出发,不可避免地导致了系统架构

4、极为庞大,系统的复杂性也随着增大。同时传统的工作流管理系统提供的功能是以集成的方式实现,从数据存储到运行环境往往都有自己的一整套独特的体系结构,因而想从中分离出某个功能,将会是一件非常困难的事情。由于这些问题的存在,使得传统的工作流管理系统不能快速地根据具体的应用需求定制,灵活地集成到应用系统。为了克服当前工作流在应用中的不足,本文结合具体的应用需求,提出了一个轻量级工作流管理系统的框架结构。轻量级工作流架构的核心部分,由几个组件提供工作流的基本功能。在对轻量级工作流管理系统进行设计时,本文把它从体系结构上划分为三个层展现层,业务逻辑层,数据层,然后,对工作流系统的设计进行详细介绍。具体研究内

5、容如下:1.对工作流技术的研究现状和理论进行调查和研究,并对主流的开源工作流管理系统进行深入的分析和对比。2.在工作流理论的基础上,从够用、灵活和低成本的设计原则出发,对轻量级工作流管理系统进行了研究,并对其设计方案和实现技术进行了详细阐述。关键词:工作流、工作流建模、轻量级工作流管理系统Abstract:Workflow management system is one of the most rapidly developed tehnology int computer area recently.Its primary characterictic is automation of p

6、rocesses,Which involving combinations of some activities processes.Workflow technologys introduction lowers the coupling between process logic and business logic of the application system,then reducing complexity of the application development process,raising the application system development effic

7、iency and maintainability.The purpose design of traditional workflow architectures aims at providing full fledged support for the widest possible application spectrum.Consequently,most workflow management system,both products and research prototypes,are heavyweight,monolithic,and package a comprehen

8、sive set of features in anall-or-nothing manner.Additionally,current workflow systems are hard to integrate with other environments.The solution to the previous probles introduced here is a lightweight workflow architecture that enables software developers to pick and choose the workflow featuresthe

9、ty need.At the core of the architecture,several components provide basic workflow functionality.In the paper,firstly,the workflow management system is divided into three layers,namely view、business logic and data access.Then,give an elaboration on workflow engine and process definition tools.Details

10、 as follows:1.Make investigations and researches on actualities of workflow technology,as well as give deeply analysis and comparisons on mainstream open source workflow management system.2.Based on work flow theory,and based on design principle of sufficient,flexible and low-cost,we make researches

11、 on the lightweight workflow management system,as well as elaborate on its design and implementation techniques.We put emphasize on the core modules in workflow engine such as workflow process template management,workflow instance management,the list ofwork-item management,transfer services,time con

12、straints services,and so on. Also,we discuss design and implementation of process definition tools.Keyword:Workflow,workflow modeling, Lightweight WorkflowManagement System前言工作流技术起源于二十世纪七十年代中期办公自动化领域的研究,由于当时计算机尚未普及,网络技术水平还很低以及理论基础匮乏,这项新技术并未取得成功。1983年至1985年间,在图像处理领域和电子邮件领域出现了早期的含有工作流特征的商用系统。进入九十年代以后,

13、随着个人计算机、网络技术的普及和推广,以及信息化建设的日益完善,使得工作流技术的研究与开发进入了一个新的热潮。1993年8月,第一个工作流技术标准化的工业组织工作流管理联盟(Workflow Management Coalition,简称WFMC,下同)成立。1994年,工作流管理联盟发布了用于工作流管理系统之间互操作的工作流参考模型,并相继制定了一系列工业标准。与此同时,关于工作流技术的学术研究也十分活跃,许多原型系统在实验室里开发出来。自20世纪90年代中期至今,互联网技术在我国迅速发展和普及,引出了Intranet、Extranet、Internet、政府上网工程、企业上网工程、电子政府

14、、电子商务、电子管理、政府内部网、企业网、数字神经系统和数字化办公等一系列新概念,这些新概念的提出背后都或多或少的存在着工作流的思想,只不过有些概念体现的工作流思想少些,而有些概念的核心思想就是工作流的思想,如办公自动化等。随着企业信息化步伐的加快,工作流的思想已经越来越多地进入了企业应用系统领域。现代化企业为了增强工作效率、缩短信息传播周期、固化业务模式、增加核心竞争力,已经将企业经营过程的各个领域各个环节均纳入了企业信息化的部分。众多的企业应用系统按照功能从大的范围来划分,无非两种,一种是以公文流转、日常办公为主体的办公自动化系统,另一种则是以企业经营过程的业务流程为主要辅助对象的具体业务

15、系统。无论是办公自动化系统还是具体业务系统,都是为企业提供软件服务的,都是本着服务于企业需求为目标的,然而,现实世界中的各个企业的经营过程是无时无刻不在变化和调整中的,以便适应瞬息万变的市场。这种变更带给信息化系统软件的最大的问题在于企业经营过程的调整往往使得原有的信息化系统软件要推倒重新设计开发,使开发成本非常的高,寻找到一种能够相对灵活的架构和管理方式以使得信息化系统能够快速的适应企业经营过程的变更成为了为企业构造信息化系统的软件设计人员的头等课题。工作流及工作流管理系统之所以能为企业信息化系统所使用究其原因也在于此。虽然工作流技术已经开始在企业应用中拥有了一片天空,然而,同已经应用于企业

16、的其他技术相比,工作流技术仍然处于其技术发展的初期。进入二十一世纪以来,工作流技术已被越来越多的人认可,与之相关的标准规范、工作流引擎及商业产品不胜枚举。人们在开发推广工作流产品的同时,更加注重工作流的理论研究,以推动该项技术走向成熟。1、绪论1.1研究目的和意义工作流(Workflow)是一类能够完全或者部分自动执行的经营流程(BusinessProcess),根据一系列流程规则,文档、信息或任务能够在不同的执行者之间传递、执行。工作流管理系统是定义、执行并监控工作流的软件管理系统。工作流管理系统使商业流程以合理有效的方式实施,保证正确的信息在正确的时间到达正确的信息处理者,它更加有效的融入

17、商业流程管理,将人们从繁杂的工作中解脱出来,提高商业流程管理的正确性、高效性和工厂、企业的生产效率。近年来,越来越多的研究机构和企业致力于工作流管理系统的研究。从现有的工作流产品来看,许多工作流产品都在不同程度上提供了对外部工具的集成功能,部分产品还提供了基于表单的应用逻辑的定制和开发环境。但是,外部工具的多样性和复杂性决定了对外部工具的集成难以做到无缝;而工作流产品内建的开发工具除了与流行的开发工具不兼容外,其开发功能往往都比较简单。因此,对于简单的应用(例如公文流转、订单的审批等),这些产品是合适的。但是,如果是开发关键业务的应用系统(特别是行业应用系统),现有工作流产品所能提供的开发功能

18、是远远不够的。本文在对工作流技术进行深入的分析和研究的基础上,设计了轻量级工作流管理系统作为解决方案,它有别于传统的工作流管理系统,在设计上从够用、灵活和低成本的原则出发,不追求工作流管理系统功能的完备和复杂,只是实现其中必不可少的功能和特征;在使用上更加简单。由于这些特点,它将为使基于工作流技术的应用开发更加易于开发人员接受,提高了开发效率和可维护性,开发成本得到了降低。1.2课题研究现状目前,在全球范围内,对工作流技术的研究以及相关产品的开发进入了一个繁荣阶段,更多更新的技术被集成进来,Internet服务、数据库、电子邮件、移动式计算、文件管理等都已被容纳到工作流管理系统之中。随着工作流

19、这一集成框架下所容纳技术的不断拓展与成熟,工作流管理系统将成为企业信息环境中不可缺少的软件平台,并将最终成为覆盖于各类台式机与网络操作系统之上的业务操作系统BOS(Business Operating System),带来业务操作系统的一次革命。经历了二三十年的发展,工作流产品基本上确定了它在计算机应用软件市场上的独立位置,在工作流这一框架下,比较基本的、主要的研究内容包括以下几个方面:(1)工作流管理系统体系结构的研究;(2)工作流模型与工作流定义语言;(3)工作流的事务特性:研究目的在于将高级事务处理技术与工作流管理技术相结合,用良好定义的模型语义与恢复机制来更好地支持企业的经营过程,提高

20、工作流系统的可靠性与实用性;(4)工作流的实现技术:包括面向对象技术、异构分布式计算、图形用户界面、消息通信、数据库、WWW等在内的与工作流管理系统的设计实现有关的各项技术、方法;(5)工作流的仿真与分析方法;(6)工作流的集成与互操作技术:研究异构应用系统的集成以及不同工作流管理系统之间的互操作问题;(7)工作流与经营过程重组:研究如何通过工作流管理系统的实施来有效地实现企业的经营过程重组。尽管经过工作流产品供应商与工作流技术研究人员多年的不懈努力,使得工作流技术由最初的萌芽逐步发展起来,并取得了相当的成果,但是从工作流管理系统的实际应用状况来看,还远未达到人们所期待的普及状态。在经营过程中

21、采用工作流管理系统的企业仍只是一少部分,而且这些系统的应用范围也很有限,并不能全方位地支持企业的关键业务流程。从企业用户应用的角度来分析,工作流产品亟需解决以下5个方面:(1)工作流的运行必须要有底层的通信基础结构的支持,但是就目前能够实现分布计算环境的产品来看,它们在实际应用中仍然显得不够成熟,在安全性、容错性、可靠性等方面均不能满足企业的需求,而且在价格上也给企业造成一定的负担。(2)统一的标准。不同的厂商所提供的工作流产品可能具有自己独立的一套工作流模型、工作流定义语言以及API函数。在这种缺乏标准的状况下,用户一旦选定一种产品之后,就很难再过渡到其他同类产品之上了。而且不同的系统之间缺

22、乏互操作的接口。尽管工作流管理联盟的成立有助于改善这种情况。但若想实现类似于关系型数据库这样的统一标准(比如关系数据模型、SQL语言等),仍有很长的路要走。(3)提高系统开发的效率。工作流应用的开发不仅仅是过程的定义,还需要完成其他许多任务。比如,对外部的应用系统进行封装、建立工作流运行所必须的分布计算环境、设计开发相应的用户界面等等。目前的工作流产品,几乎不能为这些任务提供什么有力的帮助,所有的工作流应用都需要工作流产品供应商与应用开发人员进行很长时间的合作才能最终完成。另外,工作流管理系统的实施给企业带来的不仅仅是技术上的变化,同时也会对企业原有的管理制度造成一定的影响,这也是对企业的一种

23、冲击。(4)工作流技术本身有待成熟。目前尚没有一种工作流产品或原型系统能够在过程执行的可靠性与一致性方面达到与关系型数据库管理系统同水平的功能。尽管在实际应用时对工作流管理系统并没有那样高的性能要求,但具备这样的能力对于一个工作流管理系统而言是很重要的,只有这样,才能使企业有信心采用工作流技术来对那些应用其他技术(如数据库)实现的关键任务应用进行重组。(5)工作流仿真评价方面的研究还处于萌芽阶段。应该说,在缺乏仿真方法与仿真工具支持的情况下,整个工作流管理系统是不完善的。因为人们难以预料所部署的工作流过程将有可能出现怎样的结果,它有哪些不合理的地方,其性能指标如何,这一切都必须等到实际运行以后

24、才能由工作流管理系统所记录的数据中获得,显然,这并非是一种合理的方式。针对工作流进行仿真的难点主要在于:仿真的性能指标不好确定;仿真的内容较为复杂等。本课题的研究正是针对(2)(3)两个亟需解决的方面而提出的,专注于构建轻量级工作流管理系统,而面向对象技术及设计模式的发展为本课题的研究提供了必要条件。1.3主要研究工作为了实现轻量级工作流管理系统,本课题围绕以下几项主要工作展开研究:(1)工作流技术的基本概念的研究。具体的研究内容包括:WfMC的工作流标准,工作流参考模型,阅读并分析了大量有关工作流技术的资料及学术论文,对工作流技术的概念、特点进行详细的讨论和分析。(2)轻量级工作流系统的设计

25、和实现。 1.4本文的组织安排本文共分四部分,具体的内容组织如下:第一部分:绪论。给出课题的研究研究目的和意义,提出论文的目标与主要内容。第二部分:工作流技术概述。介绍工作流起源发展和相关概念,并介绍工作流管理系统的体系机构、参考模型、工作流引擎、过程定义工具等。第三部分:轻量级工作流管理系统的研究与实现。分析了轻量级工作流管理系统的总结构。第四部分:论文总结。总结了本文工作所取得的成果,并对下一步工作提出了、展望。最后是参考文献和致谢。2、工作流技术概述工作流技术通过信息技术的支持为企业的经营过程提供了一个从模型分析、建立、管理、仿真到运行的完整框架,是实现业务过程管理与控制的一项关键性技术

26、。工作流技术的出现和迅速发展为企业战略的实施提供了重要的技术支持。2.1工作流的相关概念业务流程(Business Process):一组用来实现一个商业或策略目标联的过程或行为,通常处于一个定义功能角色和关系的组织结构中。在某企业或机构中,它能够实现业务目标和策略的相互连和活动集,如公文处理流程、投保过程、银行客户的取款过程等工作流(Workflow):工作流是面向特定应用的业务流程的抽象务流程的整体地或部分地自动化处理,文档、信息或任务按照一动从一个参与者传递给另一个参与者处理。工作流引擎(Workflow Engine):工作流引擎为一个工作流实例环境。它提供的服务包括:过程模型的解释、

27、过程实例的控制(活、暂停、终止等)、在过程各活动之间的游历(控制条件的计的传递等)、参与者的加入与退出、生成工作项通知用户进行处流控制数据和工作流相关数据的维护、调用外部应用和访问工作据等。工作流管理系统(Workflow Management System):运行在一个或流引擎上,使用软件来定义、创建和管理工作流执行过程的系统过程的定义,能与工作流参与者互动,并且能在需要时调用IT用软件。过程定义(Process Definition也称过程建模):计算机所能识别的的形式化描述,用来支持运行过程的自动化。流程一般被分解成程和活动以及它们之间的关系,其定义主要包括运行过程中所涉种数据和参数,如

28、过程的开始和终止条件、各个工作环节(活动之间的控制流和数据流关系以及一些关于个体行为的信息,如组6与IT相关的应用和数据等。工作流模型(Workflow Model):工作流模型是对工作流的抽象表是对经营过程的抽象表示。工作流模型是使用工作流定义语言用域的业务过程形式化描述所得到的结果,它包含工作流执行所息。活动(Activity):活动是工作流中一些逻辑步骤或环节的工作任分为手工操作和自动处理两类。活动是流程执行中的最小工作单有人员的参与或由计算机自动完成。流程实例(Process Instances):流程实例是实际运行中的一个业每个实例代表一个能独立控制执行、具有内部状态的线程。在流行的

29、业务流程中,WFMS将解释相应的过程定义,生产相关的活根据定义中的控制规则协调这些活动之间的顺序关系,同时根据关系的定义完成活动之间的数据传送。从参与者的角度来说,实实际上是由参与者处理他所涉及的那些环节的数据,完成该环节之后由WFMS根据相应结果激活后续环节,同时通知后续参与行处理,由此依次反复直至整个流程完成。活动实例(Activity Instances):活动实例是过程实例中的一个逻环节。工作项(Workitem):可被工作流参与者执行的活动实例的表示动实例通常产生一个或几个工作项,工作项通过赋予相关参与者表而被参与者所感知。任务(Task):活动和工作项的统一表示,在工作流定义的上下

30、文动,在工作流实例的上下文中表示工作项。路由(Routing):工作流实例中任务间的关系,基本的路由关系(Sequence)、选择(Choice)、派生(Fork)、合并(Merg(Synchronization)等。组织(Organization):任务执行所需要的,一般指参与者,可以也可以是人。2.2工作流技术的发展与产品工作流技术的起源可以追溯到上个世纪80年代初期,一些公司、企业建立了自己专用的或者可商品化的表单传递应用系统(Forms routing applications),通常运行在大型机或小型机上,用于实现日常表单处理的电子化与自动化。这种表单传递应用系统解决了纸张在信息的处

31、理、组织、存储以及查询检索方面都是低效的。这种系统可以看成是现代工作流管理系统的一个雏型。80年代中期,FileNet和View Star等公司率先把图像扫描、复合文档、结构化路由(Structured Routing)、实例跟踪、关键字索引以及光盘存储等功能结合在一起,形成了一种全过程支持某些业务流程的集成化的软件(包),这便是早期的工作流管理系统。这些公司就是开拓工作流产品市场的先驱者。这个时期比较典型的工作流产品有FileNet于1984年推出的WorkFlo Business System,View Star于1988年推出的View Star。这种集成化软件系统为企业简化与重组自己的

32、关键业务流程提供了一种非常合适的方案,但是限于当时的计算机发展水平,它所集成的功能较为简单而已。90年代,工作流技术的标准化组织工作流管理联盟(Workflow ManagementCoalition)于1993年成立。它的成立标志着工作流技术在计算机应用研究领域之中被明确地划分出了自己的一席之地,相应的概念与术语也有了标准。在全球范围内,对工作流的技术研究以及相关的产品开发进入了更为繁荣的阶段,更多、更新的技术被集成进来,文件管理系统、数据库、电子邮件、移动式计算、Internet服务等都已被容纳到工作流管理系统之中。同时,随着计算机的普及、网络的延伸,现代企业的信息资源越来越表现出一种异构

33、、分布、松散耦合的特点,企业的分散性、决策制定的分散性、对日常业务活动详尽信息的需求以及Client Server体系结构、分布式处理技术(CORBA,WWW,OLE,JAVA)的日益成熟,都说明了这样一个事实:集中式信息处理的时代已经过去,实现大规模的异构分布式执行环境,使得相互关联的任务能够高效运转并接受密切监控已成为一种趋势。在这种不可抗拒的技术背景下,工作流管理系统也由最初的创建无纸办公环境转而成为同化企业复杂信息环境、实现业务流程自动执行的必要工具。这样的一个转变,把工作流技术带入了一个崭新的发展阶段,使得人们从更深的层次、更广的领域上对工作流展开了研究。进入21世纪的今天,工作流技

34、术的应用已经普及,工作流技术的研究主要分为两方面内容:一是为工作流技术的发展解决理论上存在的问题,探讨工作流模型和语义的形式化表示方法等;二是从工作流实现技术的角度探讨利用先进的技术提高工作流管理系统的性能和可靠性。工作流技术的研究方向主要集中在以下几个方面:(1)分布式系统;(2)构件化设计,主要为了增强系统的扩展性;(3)基于事件的工作流管理系统;(4)基于Web的工作流系统,这种B/S结构系统逐渐成为当前的主流;(5)支持动态建模的工作流系统;(6)异常的处理和错误恢复问题;(7)融入事务管理概念;(8)支持各种平台,如移动嵌入式系统平台;(9)支持离线操作;(10)支持定制界面。近年来

35、,工作流产品的市场逐年增长,市场上已经有许多商家的各种工作流产品,根据不同工作流系统所采用的任务项传递机制的不同可以把当前的工作流产品分为以下四类:(1)基于文件的工作流系统以共享文件的方式来完成任务。这种类型的产品是产生最早、发展最成熟、最具多样性的,通常包含有Client Server模式的图像、文档与数据库管理系统.代表产品有FileNet的Visual WorkFlo,IBM的FlowMark,InConcert的InConcert。(2)基于消息的工作流系统通过用户的电子邮件系统来传递文档信息。这种类型的产品都已实现了与一种或多种电子邮件系统的集成。代表产品有Novell与FileN

36、et合作开发的Ensemble、JetForm的InTempo,Keyfile的Keyflow。(3)基于Web的工作流系统通过WWW来实现任务的协作。这一类产品起步较晚(在1995年以后),但是发展迅速,已成为一种最新的市场流行趋势。许多供应商纷纷开发新产品或者在原有产品的基础上增加对Web的支持。代表产品有Action Technologies的Action Works Metro,Ultimus的Ultimus。(4)群件与套件系统依据划分标准,这一类产品与前面3种有很大程度的重叠,但是在这里却有必要把它们单独划分成一类,因为这类产品都需要依赖自己系统的应用基础结构,包括消息传递、目录服

37、务、安全管理、数据库与文档管理服务等,它们本身就构成了一个完整的应用开发环境。代表产品有IBM Lotus的Lotus Notes,Microsoft的Office与Exchange,Novell的GroupWise。2.3工作流管理系统工作流管理系统(WfMS,Workflow Management System)是指运行在一个或多个工作流引擎的软件上用于定义、实现和管理工作流运行的一套软件系统,人机交互,推进工作流实例的执行,并监控其工作状态。工作流管理系统可称为企业的业务操作系统。2.3.1工作流管理系统的功能每个业务过程都有一个生命周期,从几分钟到几天(甚至数月),由过程的复杂性与组成

38、活动的持续时间来决定。有多种方法实现工作流管理系统,使用多种IT和通讯组件,运行环境可以从一个小的本地工作组到企业间。因此,WfMC参考模型从各种角度考虑工作流管理系统,希望提供各种不同的实现技术、运行环境。虽然不同的工作流管理系统具有不同的应用范围和不同的实施方式,在过程建模和工作流引擎的设计和实现方式上不同,但所有的WfMS表现出某种共同的特性,这为不同产品间的集成、协同工作提供了基础。所有的工作流管理系统都相同的特性,即为下边的三个功能提供支持:(1)建立时期(Build-time)功能,定义、模拟工作流过程,及其组成活动。建立时期的功能负责产生业务过程的计算机化定义。在这个阶段,通过使

39、用一个或多个分析、建模和系统定义工具,把实际中的业务过程转变成形式的、计算机可以处理的定义。通常把定义的结果称为过程模型、过程模板、过程元数据、或者过程定义。在本文中,称为“过程定义(process definition)”。过程定义由一些列的分散的活动、相关的计算机、人员操作、活动间控制过程进程的规则构成。可以用文本、图形或者语言符号来表示过程定义;(2)运行时期(Run-time)控制功能,在运行环境中管理工作流过程,管理不同活动执行顺序。在运行时期,过程定义由负责创建、控制过程实例的软件所解释,这个软件还要负责安排过程中各个活动的执行时间,调用适当的人员、IT应用程序资源等。这些运行时期

40、的过程控制功能就象过程定义中描述的过程与现实所见到的实际过程间的链接,反映在运行时期的与用户和IT应用程序间的交互。核心组件是基本的工作流管理控制软件(引擎,engine),负责过程的创建和删除,控制运行过程中活动的执行时间安排,以及与人或应用工具资源进行交互。引擎经常是分布在多个计算机平台上的,用来处理地理上分布的操作过程;(3)运行时期与用户、IT应用程序(工具)的交互。在活动间转移控制、确定过程的运行状态、调用应用工具、传递适当的数据等,都必须与过程控制软件进行交互。制定标准的框架来支持这种交互,可以在多工作流系统中使用一致的接口,可以开发工作于不同工作流产品中的通用应用工具。具体见图2

41、-2。图2-2工作流管理系统特性图2.3.2工作流管理系统的体系结构尽管市场上的工作流产品是各种各样的,但是已证明可以构建一个通用的工作流系统实现模型,这个模型可以适用于市场上的大多数产品,因此为开发协同工作的工作流系统奠定了基础。通用工作流管理系统的体系结构如图2-3所示:图2-3工作流管理系统的体系结构图(1)过程定义过程定义是用来创建一个计算机可以处理的形式的过程描述。可能要以形式过程定义语言、对象关系模型、简单的系统、脚本、或者在参与者间进行信息传递的路径集为基础。过程定义包含工作流执行软件运行过程所需的过程所有详细信息。包括过程的开始和结束条件、组成活动、在活动间进行导航的规则、需执

42、行的用户任务、可能会被调用的应用程序、所有工作流相关数据的定义等。过程定义可能会涉及到一个组织/角色模型,模型包含组织结构和组织中的角色等信息。从而使过程定义,在与具体活动或信息对象相关的组织实体和角色功能方面十分详细。工作流执行服务器负责把工作流运行环境中的参与者与相应的组织实体或角色联系起来。过程定义与(运行时期)工作流相关数据协作,一同用来控制过程中活动的、提供活动的进入与退出条件、不同活动的并行执行、顺序执行选项、用户任务、与每个活动相关的IT应用程序等。如果过程定义包括组织模型/角色实体类型,那么完成以上任务,需要访问组织/角色模型数据。(2)过程定义工具过程定义工具是以计算机能够处

43、理的形式进行过程的描述。它可以基于形式化的过程定义语言,也可以是对象关系模型。对于最简单的系统,也可以采用脚本或一组路径选择命令的方式来描述信息在不同的参与者之间的传递。过程定义工具可以是工作流管理系统的一部分,也可能作为业务过程分析产品的一部分来提供给用户。如果是后者,则该工具必须能够提供和理解工作流管理系统所使用的特定格式的过程定义,即不同的过程定义工具可以输人输出相同格式的过程定义信息,同一工作流产品可以运行不同过程定义工具产生的过程定义信息。为了实现不同工作流产品之间的互操作,必须要有兼容的转换格式,与运行时期的工作流软件进行过程定义的相互转换。因此,工作流接口的标准化和规范化非常必要

44、。(3)工作流执行服务和工作流引擎工作流执行服务负责解释过程定义、控制过程实例、安排活动的执行顺序、向用户工作表中添加工作项目、调用应用工具。工作流执行服务通过一个或多个工作流引擎为过程实例和活动的执行提供运行环境,主要完成以下功能:1)过程定义的实例化:解释已由过程定义工具产生的需要执行的过程定义,根据过程定义和过程执行所需要的初始条件和执行参数,初始化过程执行环境;2)控制过程实例和活动实例的状态转换;3)为过程执行导航:依据过程定义和工作流相关数据来导航过程实例,如根据过程定义中的起始和结束条件启动和结束过程实例;根据活动间的关联和转移条件决定需要开始执行的下一个或多个活动等等;4)与外

45、部资源的交互:工作流执行服务与外部资源的交互方式主要有两种,即活动参与者应用接口和应用程序调用接口。对于活动参与者应用接口,工作流引擎通过图2-3中所示的任务表管理器,基于工作列表和活动参与者进行数据交换。而对于需要调用相应应用程序、组件或Web services来自动化完成的情况,应该采用标准化的接口或中间件性质的代理方式,其中代理方式更为灵活,不同的应用只需进行相应的二次开发即可实现自动调用;)维护工作流控制数据和工作流相关数据:过程实例在执行的过程中需要维护不同过程和活动实例的内部状态信息,以及工作流引擎用于协调和恢复的各种检查数据和恢复/重启信息等,还包括需要向用户传递和用户输入的相关

46、数据。工作流引擎负责执行服务器中的部分(或者全部)运行控制环境。WfMC对工作流引擎的定义是:为工作流实例提供运行时期的执行环境的软件服务器或引擎。工作流引擎是工作流管理系统的心脏,是业务处理过程的任务调度器,在某种程度上还是资源的分配器。在采用工作流管理系统支持经营过程中,工作流引擎可以看成是一个业务操作系统BOS(Business Operating System)。业务过程在它的管理、监控之下运行,因此工作流引擎的性能和可靠性就直接决定了业务过程的运行效率和安全性。工作流引擎主要完成以下功能:1)实例化及执行工作流流程模型:解释工作流流程模型定义,根据流程执行需要的初始条件和执行参数生产

47、工作流实例,运行流程实例并管理其运行过程。这里需要指出的是,一个流程模型实际是业务过程的一个模板,它可以被执行多次,也可以有多个有关这个流程模型的实例在同时运行。如文档处理流程,每当来了一个新的文档时,它都启动一个新的工作流程,只不过每个流程处理的文档不同而已。因此,运行多个文档处理流程的模型的实例意味着有多个文档在被处理。2)为流程和活动的执行进行导航:根据流程定义和工作流相关数据,为流程实例的运行进行导航,如根据流程的进入和退出的条件启动和终止一个流程实例;根据活动之间得关联和活动得执行条件,决定并行或串行执行后继活动;给用户提供需要操作的工作流工作项信息,或者根据所需激活的应用程序信息启

48、动相应的应用程序等。3)与外部资源交互完成各项活动:工作流执行服务通过两种途径完成与外部资源和用户的交互:客户应用接口和直接调用应用接口方式。对于客户应用方式,工作流引擎通过任务项列表供用户进行选择,并记录监督工作项的完成情况,由用户完成从流程管理提供的任务列表中选择相应的任务项并在需要的时候调用应用工具完成相应任务的执行。在任务完成后,用户需要修改相关任务的状态,如置完成标致,供流程管理器使用。对于直接由工作流引擎启动的活动,由工作流引擎直接调用相应的应用来完成,这些自动执行的应用同样需要讲合适的预先定义好的应用执行完成情况反馈给工作流引擎。工作流引擎自动调用的应用主要是针对基于服务的无需用户参与的应用,即自动化活动。如在某个设计图纸完成电子会签后,自动进行版本发布并将图纸归

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号