通用的轻量级工作流系统项目设计方案Word格式文档下载.docx
- 文档编号:17537919
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:57
- 大小:524.10KB
通用的轻量级工作流系统项目设计方案Word格式文档下载.docx
《通用的轻量级工作流系统项目设计方案Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《通用的轻量级工作流系统项目设计方案Word格式文档下载.docx(57页珍藏版)》请在冰豆网上搜索。
(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)基于消息的工作流系统——通过用户的电子邮件系统来传递文档信息。
这种类型的产品都已实现了与一种或多种电子邮件系统的集成。
代表产品有Novell与FileNet合作开发的Ensemble、JetForm的InTempo,Keyfile的Keyflow。
(3)基于Web的工作流系统——通过WWW来实现任务的协作。
这一类产品起步较晚(在1995年以后),但是发展迅速,已成为一种最新的市场流行趋势。
许多供应商纷纷开发新产品或者在原有产品的基础上增加对Web的支持。
代表产品有ActionTechnologies的ActionWorksMetro,Ultimus的Ultimus。
(4)群件与套件系统——依据划分标准,这一类产品与前面3种有很大程度的重叠,但是在这里却有必要把它们单独划分成一类,因为这类产品都需要依赖自己系统的应用基础结构,包括消息传递、目录服务、安全管理、数据库与文档管理服务等,它们本身就构成了一个完整的应用开发环境。
代表产品有IBMLotus的LotusNotes,Microsoft的Office与Exchange,Novell的GroupWise。
2.3工作流管理系统
工作流管理系统(WfMS,WorkflowManagementSystem)是指运行在一个或多个工作流引擎的软件上用于定义、实现和管理工作流运行的一套软件系统,人机交互,推进工作流实例的执行,并监控其工作状态。
工作流管理系统可称为企业的业务操作系统。
2.3.1工作流管理系统的功能
每个业务过程都有一个生命周期,从几分钟到几天(甚至数月),由过程的复杂性与组成活动的持续时间来决定。
有多种方法实现工作流管理系统,使用多种IT和通讯组件,运行环境可以从一个小的本地工作组到企业间。
因此,WfMC参考模型从各种角度考虑工作流管理系统,希望提供各种不同的实现技术、运行环境。
虽然不同的工作流管理系统具有不同的应用范围和不同的实施方式,在过程建模和工作流引擎的设计和实现方式上不同,但所有的WfMS表现出某种共同的特性,这为不同产品间的集成、协同工作提供了基础。
所有的工作流管理系统都相同的特性,即为下边的三个功能提供支持:
(1)建立时期(Build-time)功能,定义、模拟工作流过程,及其组成活动。
建立时期的功能负责产生业务过程的计算机化定义。
在这个阶段,通过使用一个或多个分析、建模和系统定义工具,把实际中的业务过程转变成形式的、计算机可以处理的定义。
通常把定义的结果称为过程模型、过程模板、过程元数据、或者
过程定义。
在本文中,称为“过程定义(processdefinition)”。
过程定义由一些列的分散的活动、相关的计算机、人员操作、活动间控制过程进程的规则构成。
可以用文本、图形或者语言符号来表示过程定义;
(2)运行时期(Run-time)控制功能,在运行环境中管理工作流过程,管理不同活动执行顺序。
在运行时期,过程定义由负责创建、控制过程实例的软件所解释,这个软件还要负责安排过程中各个活动的执行时间,调用适当的人员、IT应用程序资源等。
这些运行时期的过程控制功能就象过程定义中描述的过程与现实所见到的实际过程间的链接,反映在运行时期的与用户和IT应用程序间的交互。
核心组件是基本的工作流管理控制软件(引擎,engine),负责过程的创建和删除,控制运行过程中活动的执行时间安排,以及与人或应用工具资源进行交互。
引擎经常是分布在多个计算机平台上的,用来处理地理上分布的操作过程;
(3)运行时期与用户、IT应用程序(工具)的交互。
在活动间转移控制、确定过程的运行状态、调用应用工具、传递适当的数据等,都必须与过程控制软件进行交互。
制定标准的框架来支持这种交互,可以在多工作流系统中使用一致的接口,可以开发工作于不同工作流产品中的通用应用工具。
具体见图2-2。
图2-2工作流管理系统特性图
2.3.2工作流管理系统的体系结构
尽管市场上的工作流产品是各种各样的,但是已证明可以构建一个通用的工作流系统实现模型,这个模型可以适用于市场上的大多数产品,因此为开发协同工作的工作流系统奠定了基础。
通用工作流管理系统的体系结构如图2-3所示:
图2-3工作流管理系统的体系结构图
(1)过程定义
过程定义是用来创建一个计算机可以处理的形式的过程描述。
可能要以形式过程定义语言、对象关系模型、简单的系统、脚本、或者在参与者间进行信息传递的路径集为基础。
过程定义包含工作流执行软件运行过程所需的过程所有详细信息。
包括过程的开始和结束条件、组成活动、在活动间进行导航的规则、需执行的用户任务、可能会被调用的应用程序、所有工作流相关数据的定义等。
过程定义可能会涉及到一个组织/角色模型,模型包含组织结构和组织中的角色等信息。
从而使过程定义,在与具体活动或信息对象相关的组织实体和角色功能方面十分详细。
工作流执行服务器负责把工作流运行环境中的参与者与相应的组织实体或角色联系起来。
过程定义与(运行时期)工作流相关数据协作,一同用来控制过程中活动的、提供活动的进入与退出条件、不同活动的并行执行、顺序执行选项、用户任务、与每个活动相关的IT应用程序等。
如果过程定义包括组织模型/角色实体类型,那么完成以上任务,需要访问组织/角色模型数据。
(2)过程定义工具
过程定义工具是以计算机能够处理的形式进行过程的描述。
它可以基于形式化的过程定义语言,也可以是对象关系模型。
对于最简单的系统,也可以采用脚本或一组路径选择命令的方式来描述信息在不同的参与者之间的传递。
过程定义工具可以是工作流管理系统的一部分,也可能作为业务过程分析产品的一部分来提供给用户。
如果是后者,则该工具必须能够提供和理解工作流管理系统所使用的特定格式的过程定义,即不同的过程定义工具可以输人输出相同格式的过程定义信息,同一工作流产品可以运行不同过程定义工具产生的过程定义信息。
为了实现不同工作流产品之间的互操作,必须要有兼容的转换格式,与运行时期的工作流软件进行过程定义的相互转换。
因此,工作流接口的标准化和规范化非常必要。
(3)工作流执行服务和工作流引擎
工作流执行服务负责解释过程定义、控制过程实例、安排活动的执行顺序、向用户工作表中添加工作项目、调用应用工具。
工作流执行服务通过一个或多个工作流引擎为过程实例和活动的执行提供运行环境,主要完成以下功能:
1)过程定义的实例化:
解释已由过程定义工具产生的需要执行的过程定义,根据过程定义和过程执行所需要的初始条件和执行参数,初始化过程执行环境;
2)控制过程实例和活动实例的状态转换;
3)为过程执行导航:
依据过程定义和工作流相关数据来导航过程实例,如根据过程定义中的起始和结束条件启动和结束过程实例;
根据活动间的关联和转移条件决定需要开始执行的下一个或多个活动等等;
4)与外部资源的交互:
工作流执行服务与外部资源的交互方式主要有两种,即活动参与者应用接口和应用程序调用接口。
对于活动参与者应用接口,工作流引擎通过图2-3中所示的任务表管理器,基于工作列表和活动参与者进行数据交换。
而对于需要调用相应应用程序、组件或Webservices来自动化完成的情况,应该采用标准化的接口或中间件性质的代理方式,其中代理方式更为灵活,不同的应用只需进行相应的二次开发即可实现自动调用;
)维护工作流控制数据和工作流相关数据:
过程实例在执行的过程中需要维护不同过程和活动实例的内部状态信息,以及工作流引擎用于协调和恢复的各种检查数据和恢复/重启信息等,还包括需要向用户传递和用户输入的相关数据。
工作流引擎负责执行服务器中的部分(或者全部)运行控制环境。
WfMC对工作流引擎的定义是:
为工作流实例提供运行时期的执行环境的软件服务器或引擎。
工作流引擎是工作流管理系统的心脏,是业务处理过程的任务调度器,在某种程度上还是资源的分配器。
在采用工作流管理系统支持经营过程中,工作流引擎可以看成是一个业务操作系统BOS(BusinessOperatingSystem)。
业务过程在它的管理、监控之下运行,因此工作流引擎的性能和可靠性就直接决定了业务过程的运行效率和安全性。
工作流引擎主要完成以下功能:
1)实例化及执行工作流流程模型:
解释工作流流程模型定义,根据流程执行需要的初始条件和执行参数生产工作流实例,运行流程实例并管理其运行过程。
这里需要指出的是,一个流程模型实际是业务过程的一个模板,它可以被执行多次,也可以有多个有关这个流程模型的实例在同时运行。
如文档处理流程,每当来了一个新的文档时,它都启动一个新的工作流程,只不过每个流程处理的文档不同而已。
因此,运行多个文档处理流程的模型的实例意味着有多个文档在被处理。
2)为流程和活动的执行进行导航:
根据流程定义和工作流相关数据,为流程实例的运行进行导航,如根据流程的进入和退出的条件启动和终止一个流程实例;
根据活动之间得关联和活动得执行条件,决定并行或串行执行后继活动;
给用户提供需要操作的工作流工作项信息,或者根据所需激活的应用程序信息启动相应的应用程序等。
3)与外部资源交互完成各项活动:
工作流执行服务通过两种途径完成与外部资源和用户的交互:
客户应用接口和直接调用应用接口方式。
对于客户应用方式,
工作流引擎通过任务项列表供用户进行选择,并记录监督工作项的完成情况,由用户完成从流程管理提供的任务列表中选择相应的任务项并在需要的时候调用应用工具完成相应任务的执行。
在任务完成后,用户需要修改相关任务的状态,如置完成标致,供流程管理器使用。
对于直接由工作流引擎启动的活动,由工作流引擎直接调用相应的应用来完成,这些自动执行的应用同样需要讲合适的预先定义好的应用执行完成情况反馈给工作流引擎。
工作流引擎自
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 通用 轻量级 工作流 系统 项目 设计方案
![提示](https://static.bdocx.com/images/bang_tan.gif)