




已阅读5页,还剩58页未读, 继续免费阅读
(系统工程专业论文)基于jBPM+的工作流管理信息系统设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
华 中 科 技 大 学 硕 士 学 位 论 文 i 摘要摘要 业务流程管理对于每个企业而言都是十分关注的问题,因此人们建立了各种信 息系统来支持流程管理,如 oa 系统,财务系统等。这些系统简化了人们处理业务 的过程,但是相互之间却缺少联系,缺乏互操作性。工作流技术作为新一代的业务 过程支持软件,能够进一步提高工作效率。 本文论述了工作流管理系统的实施对于企业的业务处理和过程管理等方面的 影响,包括提高工作效率、提高管理水平、业务松耦合和持续的业务流程改进。工 作流管理系统的实施过程也与其他一般化的管理信息系统有较大的区别,一般的管 理信息系统局限于实现特定领域的业务功能,而工作流管理系统不关心具体的业务 过程, 而对业务过程中的细节问题, 如资源管理、 权限分配等问题给予更多的关注。 本文回顾了工作流的起源、发展和现状,讲述了工作流相关的基本概念,并通 过工作流参考模型分析了工作流管理系统实施过程中各个方面;论述了基于 petri 网的工作流建模过程和方法, 并在此基础上, 阐述了工作流常见的流转模式。 同时, 工作流管理系统实施过程中的周围设施如: 组织模型、 权限管理和资源管理等问题, 本文也做了一定的剖析。 本文以三峡总公司安全生产管理信息系统为背景,根据项目的实际功能需求, 进行了工作流产品选型,并结合开源工作流引擎,论述了基于工作流技术的流程控 制管理信息系统设计与实现方法。并以具体的业务过程为例,阐述工作流管理系统 中具体案例的运行过程。 关键词:工作流;工作流管理系统;业务过程;流程管理 华 中 科 技 大 学 硕 士 学 位 论 文 ii abstract business process management is an issues concerned by every enterprise, so various management information systems are established to support process management, such as oa systems and financial systems. these systems simplify the business process, but lack of relationship with the others and interoperability. as a new generation of business process support software, workflow technology can improve the efficiency of work process. this dissertation discusses the functions of workflow management system for business process management, including improving work efficiency, promoting management, decoupling the business process etc. workflow management systems have a great difference with general management information systems in implementation process. the general management information systems is limited to the functions in specific domains, while workflow management systems focus on the details of the business process, such as resource management, permissions allocation, not on the specific business processes. this dissertation reviews the origin of workflow, developing history and current state of art, gives the basic concepts of workflow. workflow management system is analyzed in all aspects through the workflow reference model. workflow modeling processes and methods are discussed based on petri net. the facilities in workflow management system such as organizational model, permissions management and resource management, are covered in the dissertation. the application background of this dissertation is the development of the three gorges project corporation safety production management information system. according to the requirements of project, combined with the open source workflow 华 中 科 技 大 学 硕 士 学 位 论 文 iii product, the dissertation gives the general design and implementation of workflow management system. the workflow management system is illustrated with the specific business process. key words: workflow; workflow management systems; business process; process management 华 中 科 技 大 学 硕 士 学 位 论 文 1 1 绪论绪论 1.1 选题背景选题背景 工作流管理系统是一项快速发展中的技术,其应用范围已经扩展到很多行业。 工作流管理技术的主要功能就是业务流程的自动化处理1。工作流技术借助于信息 软件技术的优点,能够使得人们从枯燥繁杂的业务处理过程解放出来,提高办公效 率,同时避免一些人为性的错误。 许多软件开发商都开发了工作流管理产品,并且不断有新的工作流管理产品走 入市场。市场上可选择的产品范围很大,但是每个开发商只关注产品的特定功能, 而用户必须采用不同的产品来达到不同的功能需求。然而,没有统一的规范使得工 作流管理产品之间能够具有互操作性,这是由于不兼容的过程控制方式所导致。 工作流技术的研究起源于办公信息化的需求2,其目的是将业务流程规格化为 格式良好的任务定义和人员分类,并使用工作流引擎按照实际的业务规则和流转过 程执行这些任务,进行过程监控,以达到提高生产业务管理水平和增强企业竞争力 的目标。在计算机技术、网络技术、关系数据库技术、面向服务的架构(service oriented architecture,soa)和 web service 等技术迅速发展的信息时代,逐渐发展 成熟的工作流技术能够为企业运营带来更多更好的意想不到的回报。现今,工作流 管理技术和工作流管理系统已成功地运用到金融、保险、安全生产等众多注重流程 管理的领域。 1993 年,工作流管理联盟(workflow management coalition, wfmc)的成立标 志着工作流技术的研究已经进入了相对成熟且相对规范的阶段。为了能够实现不同 工作流产品和设计体系之间的互操作性,工作流管理联盟在工作流的技术术语、结 构体系、互操作性规范接口和过程语言描述等方面制定了相关的标准和规范。这些 工作在某种程度上促进了工作流技术的向前发展和工作流管理系统在企业管理中 的推广、实施和应用。 华 中 科 技 大 学 硕 士 学 位 论 文 2 目前,工作流相关的技术研究和相应的工作流产品开发进入了一个更为繁荣的 阶段,更多更新的技术被引入到开发过程之中,文件系统、关系数据库系统、还有 网络服务诸如电子邮件、internet 服务等都已被融合到工作流管理系统的研究之中。 工作流产品的相关市场现在每年正以 10%以上的速度迅猛增长。 同时作为支持企业 业务过程再造(business process re-engineering,bpr)的技术实施手段,工作流技 术的研究和应用也日益受到学术界与企业界的重视3。 1.2 研究现状研究现状 在工作流理论研究方面,占据主要地位的要算工作流管理联盟提出的工作流参 考模型4。此后,wil van der aalst 教授在众多工作流理论研究的基础之上,提出的 工作流管理的模型、 方法和系统, 形成了一套较为完整的技术体系, 并首次运用 petri 网形式化的方法对工作流过程模型进行了严格推导5。 佩特里教授根据 petri 网原理 研究了 20 种工作流模式6,用于工作流过程建模和分析。至此以后,工作流相关的 理论研究逐渐发展完善起来。 相比而言,国内关于工作流方面的研究还处于刚刚起步的阶段,在工作流相关 领域中有较多成果的国内学者主要有清华大学的范玉顺7等人。中科院、清华大学 等高校也都在工作流技术方面展开了相应的研究与实践。另外,国内工作流的倡导 者胡长城,具有多年的工作流产品开发和架构经验,在工作流理论、模型以及工作 流技术等方面有诸多贡献。 工作流模型分析一文结合国内的业务流程特色,总 结出了工作流中的基本运转模型; 工作流授权控制模型阐述了有关工作流权限 控制方面的内容; 工作流引擎调度算法与 petri net 结合了 6 款开源工作流引擎较 为详细地分析了工作流流程控制和管理的算法实现; 微内核工作流引擎体系架构 以 shark 和 jbpm 两块工作流引擎为例,重点分析了工作流引擎的核心体系架构层 次; 工作流项目实施的一些问题解决结合作者实际的工作流管理系统的实施经 验,指出了实施过程中的相关问题以及解决方案8-12。这些研究成果为国内的工作 流技术研究的推广做出了巨大的贡献。 华 中 科 技 大 学 硕 士 学 位 论 文 3 目前,在工作流技术研究方而,基于 java 的商用和开源的工作流引擎有很多选 择,目前市场上主流的开源工作流引擎有:obe,shark,osworkflow,jbpm13, yawl14等。 1.3 研究目的及意义研究目的及意义 中国长江三峡工程开发总公司安全生产与应急管理信息系统研发与应用已列 入国家“十一五”科技支撑计划项目,并通过课题立项,已于近期正式启动,该 项目计划建设成为水利水电行业安全生产与应急管理信息系统的示范工程。 三峡总公司安全生产管理信息系统将实现重点危险源的过程监控和日常安全 生产的动态监管,促进三峡总公司安全生产规范化、标准化和信息化。系统应用包 括三个层次:决策层、管理层和执行层,以安全管理业务作为主线,贯穿总公司及 下属单位的安全管理业务。 在三峡总公司安全生产管理信息系统的项目开发过程中,涉及到复杂的业务流 程的处理,以及各种数据的组织管理和流转。同时项目开发过程中涉及的单位组织 非常多,跨组织的业务流程繁杂,这些都是系统分析设计时重点考虑的问题。借助 工作流这一工具来实现该信息系统的设计,目的是改善企业资源利用、提高企业运 作的灵活性和适应性、跟踪业务处理过程、充分发挥现有计算机网络资源的作用。 本文阐述了基于开源工作流引擎来实现工作流管理系统的思路和方法。在系统 的设计中,工作流引擎只是作为一个软件组件而使用,就如同 struts,hibernate 等 组件一样,这对于系统的最终用户是不可见的。将工作流引擎嵌入到应用中的主要 目的是为了软件复用重用和代码的可维护性。目前市场上的工作流引擎数量不少, 工作流建模方式也有迥异,但其中开源的工作流引擎数量却并不多,好的工作流引 擎更是少之又少。 在该信息系统的调研、 需求分析的过程中, 由于客观条件的存在, 开发平台一直没有能够确定下来,工作流的相关研究工作也只能基于开源的工作流 引擎。本文作者基于系统的功能和需求,选取了 jbpm 这款开源工作流引擎作为预 研对象,从工作流建模到系统实现,整个过程中对工作流管理系统有了较为完整的 理解,同时也为该信息系统的系统选型及未来建设提出了积极的意见。 华 中 科 技 大 学 硕 士 学 位 论 文 4 1.4 本文组织结构本文组织结构 本文的结构主要围绕工作流展开,从工作流的定义开始谈起,解释工作流参考 模型的相关概念,到工作流模式以及工作流管理系统中的组织模型、资源管理等问 题。 构建工作流系统时, 从系统选型开始, 到介绍设计工作流管理系统的相关技术, 以及设计工作流系统的关键点。最后以实际的工作流系统案例展现工作流管理系统 的面貌。下面用思维图的形式列出本文的主要组织结构。 图 1.1 本文组织结构 华 中 科 技 大 学 硕 士 学 位 论 文 5 2 工作流概述工作流概述 2.1 工作流起源、发展和现状工作流起源、发展和现状 1960 年左右,办公软件开始流行。当时办公自动化软件的研究重点主要包括: 如何减少办公自动化软件系统的操作复杂性,如何控制业务流程的流转和提升办公 自动化的效率。 此后逐渐在办公协同软件基础上发展起来的业务流程管理,为将来的业务流程 管理自动化,做出了理论上的铺垫。到了 80 年代末期,当时办公自动化研究已经 逐渐退出主流舞台,取而代之的是工作流管理系统的研究。在这个时期,计算机技 术的研究、网络技术的快速发展已经能够很容易解决办公自动化相关软件的设计和 开发,虽然还没有出现如同 j2ee 和.net 这样成熟的企业级开发平台,但是办公自 动化方面的技术研究已经为以后工作流技术的发展做好了技术储备。 时间进入 90 年代,工作流技术相关的软件条件已经逐渐成熟,工作流技术的 研发也得到了更加快速的发展。工作流管理的相关产品逐渐被应用于通信、工业制 造、证券、交通、安全生产等行业。 1994 年,工作流管理联盟发布了“工作流参考模型” (workflow reference model) ,这为工作流技术和工作流管理系统统一了基本框架体系和接口规范。 2000 年,随着协同技术的广泛运用、企业级技术开发平台的大力发展,以分布 式技术、企业组件化的业务流程处理技术成为工作流开发中新的关注点。关注业务 流程管理过程出现的业务过程管理 (business process management) 受到了更多的关 注。 业务流程管理,是指企业依据其盈利目标,使用流程管理工具,分析业务流程 中的相关问题,持续改善现有业务流程的实施过程15。现有的信息系统,其开发方 式的缺点主要表现对需求表达不清、开发人员与客户沟通不够有效。这样的开发过 程使得业务流程被硬编码到系统之中,系统难以跟随业务处理的变化而相应快速地 华 中 科 技 大 学 硕 士 学 位 论 文 6 更改业务流程。对实时性要求比较高的企业,如安全生产、银行等行业,希望能够 在最短时间内发现企业内部关键性业务过程中的管理和执行中所出现的响应不够 及时的情况。业务流程管理就是为了能够解决企业业务处理过程中有关响应速度、 业务执行情况、资源利用配置等方面的问题而设计的。 工作流管理系统目前仍旧处于技术发展曲线的初级阶段16。相比较而言,关系 数据库管理系统已经处于非常成熟的发展阶段,而工作流管理系统还处于快速上升 的时期。 图 2.1 工作流和关系数据库系统的发展曲线对比 2.2 工作流的基本概念工作流的基本概念 工作流管理联盟(wfmc)于 93 年正式成立,这标志着工作流技术开始进入比 较成熟的时期。工作流管理联盟给出的工作流定义是:工作流是一类能够完全或者 部分自动执行的业务过程,根据一系列过程规则,文档、信息或任务能够在不同的 华 中 科 技 大 学 硕 士 学 位 论 文 7 执行者之间进行传递与执行17。 除此之外,还有许多关于工作流的不同定义。如国内的工作流研究学者范玉顺 关于工作流的定义是:工作流是一种反映业务流程的计算机化的模型,它是为了在 计算机环境支持下实现业务过程集成与业务过程自动化而建立的由工作流管理系 统执行的业务模型18。 虽然工作流定义的表述有多种说法,但是表达的含义都是一致的,即:工作流 是业务过程的计算机信息化。使用工作流首先必须弄清楚工作流相关的几个重要术 语:工作流管理系统、过程定义、活动、过程实例、活动实例和工作项。图 2.2 展 示了这些概念之间的关系。 业务过程 (即:即将发生的事情) 过程定义 (一个即将发生的 事情的代表) 工作流管理系统 (控制业务过程的自 动部分) 活动 手工活动自动化活动 过程实例 (一个实际发生的事 情的代表) 活动实例 工作项应用程序调用 (被分配给工作流 参与者的任务) (计算机工具/应用程序 用来支持一个活动) 子过程 在其中定义由其管理 由其组成 或许是 或者 用来创建并管理 经由 包括一个或多个 包括 与/或 执行期间由其代表 图 2.2 工作流的相关术语 下面按照层次关系逐个解释以上工作流的相关术语。 (1)工作流管理系统 华 中 科 技 大 学 硕 士 学 位 论 文 8 工作流管理系统是定义、解析、管理和执行“工作流”的软件系统,其主要功 能包括: 设计时功能,对工作流过程及其过程中的相关活动进行定义并建模。 运行时功能,在流程实例执行的环境中管理各个流程实例,负责处理各种 活动与任务的调用等。 运行时与任务执行者、信息技术工具的互操作,负责管理活动的路由得到 正确执行。 (2)业务流程 业务流程是企业为用户提供特定的服务或产品的具体生产过程,其组成为结构 化的活动和任务。业务流程通常以包括一系列活动的流程图的可视化形式描述。 (3)过程定义 过程定义是业务流程的形式化描述,主要用来规范工作流管理系统的业务流程 建模以及业务流程运行过程的信息化。过程定义中主要包含开始与结束节点、任务 节点、工作流控制、相关数据等信息。 (4)活动 活动是过程定义中关于需要执行的任务的结构化描述,活动一般分为手工活动 和自动化活动。手工活动是需要任务执行者参与的任务,自动化活动则是需要计算 机参与的相关任务,如发电子邮件,短信提醒等活动。 (5)子流程 子流程是流程定义中能够进一步分解处理的活动节点,节点内部可以包含流程 定义中的全部组成结构。子流程的概念使得工作流模型有了层次化的结构。 (6)过程实例 过程实例是过程定义的实例化运行视图。过程实例的运行过程中包含工作流控 制数据、相关数据和应用程序数据。 1. 工作流控制数据是由工作流引擎负责维护的流程控制数据,这些数据主要 用来记录过程实例中的环境变量等信息。 2. 工作流相关数据是由工作流引擎负责维护并用来确定过程实例中需要执行 华 中 科 技 大 学 硕 士 学 位 论 文 9 的相关活动和任务。 3. 工作流应用数据是工作流管理系统所调用的应用程序需要使用的相关数 据,这些数据不能够被工作流引擎所使用。 过程实例在运行状态时有初始化、运行、激活、挂起、结束和终止六种实例状 态。图 2.3 描述了过程实例的基本状态变迁过程。 初始化初始化 挂起挂起 运行运行 结束结束 激活激活 终止终止 开始开始 重启重启 挂起挂起/ / 恢复恢复 开始开始 重启重启 终止终止/ / 放弃放弃 循环遍历循环遍历 所有处于所有处于 激活状态激活状态 的活动的活动 1 1个或多个活动实例个或多个活动实例 图 2.3 过程实例的基本状态变迁 (7)活动实例 活动实例是流程定义中所包括的活动的实例化运行视图。一个流程实例中同时 可以有若干个活动实例并行地存在,而一个活动实例只能与一个流程实例相关联。 (8)工作项 工作项是指在流程实例中所附属的具体任务,工作流系统的执行者根据任务所 在的上下文信息负责处理其任务中的具体工作。 (9)应用程序调用 应用程序是指由工作流引擎负责管理并用于完成特定任务的软件程序。应用程 序的调用通常与流程实例中的上下文信息存在互操作的情况。 华 中 科 技 大 学 硕 士 学 位 论 文 10 2.3 工作流参考模型工作流参考模型 工作流参考模型是对一般化的业务流形式化地加以提炼,并明确规定模型的接 口和规范,这一系列的接口和规范能够将各种各样的工作流产品组织在相同的层次 和层面上,并使之能够进行相互操作。工作流参考模型定义了工作流管理系统的主 要部件和相关接口,工作流的产品通过实现相应的接口和规范,就能够实现工作流 产品之间的互操作性19。 图 2.4 描述了工作流参考模型中的主要组件及各组件之间的相互操作关系。 图 2.4 工作流参考模型 工作流参考模型中处于心脏地位的是工作流执行服务。工作流执行服务使得业 务工作流程能够按照事先定义的活动路由,同时由按规则分配的任务执行者来进行 相关的活动和工作。过程定义工具用以管理并维护流程定义。工作流管理系统的客 户端应用程序用以向工作流管理系统的任务执行者提供流程定义中的相关工作项。 华 中 科 技 大 学 硕 士 学 位 论 文 11 任务的执行者接受分配给自己的工作项,从而启动具体任务的执行过程。工作项的 执行过程有可能需要工作流管理系统启动预先定义的应用程序以配合完成特定任 务的执行,例如电子邮件、短信通知等应用程序,这些由工作流管理系统负责管理 的应用程序软件统一命名为调用的应用程序。工作流管理和监控工具负责管理工作 流程监控和系统性能监测、系统参数设置等系统功能。下面分别详细介绍工作流模 型定义中的各个组成部分。 1工作流执行服务 工作流执行服务和工作流引擎是工作流管理系统的核心组件,其功能包括生 成、解析和维护流程定义,启动、执行和结束流程实例。一个工作流执行服务可能 同时包含若干个分布式协同工作的工作流引擎。工作流执行服务除了管理流程定义 和流程实例等功能外,还要负责管理和维护工作流引擎。 工作流引擎负责提供维护流程实例生命周期的上下文信息,主要包括流程实例 的启动、执行和结束等。工作流引擎的主要功能如下: 1. 解析流程定义文件。 2. 管理流程实例的启动、执行、等待和结束等状态。 3. 管理流程实例中活动的流转方向,以及选择路由等条件判断等。 4. 负责分配具体的工作项给任务的执行者。 5. 负责管理工作流控制数据、相关数据和应用数据等信息。 6. 提供不同系统之间的互操作性接口。 2流程定义工具 流程定义是工作流管理系统的输入,而流程定义工具负责生成流程定义,所以 流程定义是流程定义工具的输出。流程定义工具使用流程定义语言描述业务流程, 流程定义工具的主要功能如下: 输出流程定义,管理流程定义版本。 用分支、聚合、选择等可视化的流程元素对业务流程进行过程建模。 定义业务流程中的具体任务和工作项。 对生成的流程定义进行语义和语法正确性的分析和纠错。 华 中 科 技 大 学 硕 士 学 位 论 文 12 3客户端应用程序 任务执行者通过客户端应用程序与工作流管理系统进行信息传递20。 每个任务 执行者都拥有属于自己的工作项列表。工作流管理系统使用工作项列表的形式通知 具体的任务执行者有什么任务需要去完成。任务的执行者在接受相应的工作项后, 便可以开始执行流程实例中的具体任务。 任务的指派主要包括“推式分配”和“拉式分配”两种。工作流管理系统分配 单个工作项给单个任务的执行者的时候,我们说这是“推式”的任务分配。工作流 管理系统分配单个工作项给多个任务的执行者的时候,我们认为这是“拉式”的任 务分配。 4应用程序调用 应用程序是由工作流管理系统负责管理并用以完成特定的任务和工作的程序 软件。 5管理和监控工具 工作流引擎使得流程实例能够按照流程定义得到正确执行。流程实例的运行过 程和任务分配等系统行为的监控和管理由工作流管理和监控工具具体负责执行。管 理和监控工具的主要功能包括工作流实例的运行和维护、工作流相关数据的记录和 统计。管理和监控工具主要功能如下: 任务执行者的添加、修改和删除。 任务执行者的部门、角色和权限等信息的设置。 流程定义文件的部署。 6系统人员设置 工作流系统主要包括以下角色定义: 流程定义者。流程定义者利用流程定义工具定义业务流程。工作流管理系 统中,一般由流程设计者负责部署流程定义以及维护流程定义版本管理的 工作。 系统管理员。系统管理员利用管理和监控工具监控工作流管理系统的运行 华 中 科 技 大 学 硕 士 学 位 论 文 13 状态,设置权限等。 业务分析师。过程分析师利用记录和分析工具观察流程实例的实际运行情 况,分析其中的问题,并向系统管理员反映工作流管理系统运行时的动态 性能。 任务执行者。工作流管理系统中具体任务和工作项的执行由系统分配的任 务执行者来完成。 2.4 本章小结本章小结 本章首先从工作流的起源开始谈起,回顾了工作流的发展过程,并分析了工作 流技术以及工作流管理系统的发展现状。工作流技术现在正处于持续增长的时期, 工作流的理论研究以及工作流的相关产品都在处于发展的阶段,但是工作流发展中 出现的问题也需要引起重视,如工作流概念的混乱、工作流产品相互之间缺乏互操 作性等。工作流管理联盟提出的工作流参考模型为今后工作流的发展方向指明了正 确的方向,同时也处于不断完善的过程中。 华 中 科 技 大 学 硕 士 学 位 论 文 14 3 工作流模型及工作流建工作流模型及工作流建模模 3.1 工作流建模工作流建模 工作流的基本功能是工作流建模和流程实例的执行过程。工作流管理系统给人 最直接的观念就是: 使用图形化的流程定义工具, 通过所见即所得 (what you see is what you get,wysiwyg)的操作完成基础的流程定义的设计工作,将流程定义 部署到工作流管理系统后,实际的业务流程就能够按照“画好”的流程路径流转运 行。工作流管理系统的实施和使用,其目的就是通过对业务流程的建模,使用工作 流引擎实现业务流程的自动化的流转、管理以及维护,这就是概念中的工作流引擎 的主要功能。 业务流程建模的目的主要是两个: (1) 使用结构化的、语义明确的流程定义语言(元素)设计业务流程,通过 对业务流程的流转顺序和路由进行控制,可视化地描述业务流程的结构。 (2) 业务流程建模的输出包括格式良好的流程定义文档、对应的样式表文件 和流程图像文件,这些文件归档作为工作流管理系统的输入,被工作流引擎解析、 执行和管理。 对业务流程进行建模有三种通用的方式。 1) 有向图的工作流建模,如活动状态图,uml 活动图等。 2) 形式化理论的工作流建模,如 petri 网模型、工作流网(wf-net)等。 3) 语言行为理论的工作流建模,如 epc(event-driven process chain)等。 3.1.1 基于基于 petri 网的工作流建模网的工作流建模 petri 网是一种图形化的流程定义以及建模工具21。petri 网使用结构化和形式 化的途经描述过程,所以我们能够使用 petri 网对工作流建模和分析22。下面简要 华 中 科 技 大 学 硕 士 学 位 论 文 15 介绍一下关于 petri 网的基础理论知识。 1)经典的 petri 网 petri 网由库所和变迁构成,库所以圆圈代表,变迁以矩形代表,令牌以黑点代 表,令牌代表具体的流程实例。变迁的实施就是变迁从输入库所得到令牌,放到输 出库所,变迁的实施过程如下: (1)变迁的每个输入库所都包含不少于一个令牌的时候,变迁能够实施。 (2)变迁从每个输入库所删除一个令牌,并在输出库所放置一个令牌。 2)高级 petri 网 经典 petri 网在描述过程的时候存在一定的问题,这可能使得流程结构变的复 杂到难以理解的程度,因此人们对经典的 petri 网进行了多种方式的扩展。经典的 petri 网包括三种拓展方式: (1)颜色扩展。这种扩展使得每个令牌都被标记了一种颜色,这样就可以分 辨库所中的每一个令牌,令牌的颜色实际代表的是令牌的属性值。在颜色扩展的 petri 网中,变迁实施之前的令牌可以根据其属性值设置前置条件,变迁只能在每个 输入库所中至少有一个令牌并且其前置条件得到满足时才能变迁就绪。 (2)时间扩展。这种扩展使得每个令牌都被标记了一个时间戳,该时间戳指 明变迁可以实施的最早时间。时间扩展主要用来在对过程的预期性能进行分析时应 用。 (3)层次扩展。这种扩展主要为了能够简化 petri 网的构造过程,降低网络结 构的复杂性。因此,在 petri 网中引入了子过程的概念,子过程在 petri 网中用双边 框正方形表示。 3.1.2 从从 petri 网到网到工作流工作流 (1)过程:过程主要包括路由信息和任务信息。流程实例由令牌表示,不同 的流程实例可以利用颜色扩展实现,令牌的属性值代表了流程实例中的环境变量上 下文。 (2)路由:通过流程定义文件的描述,可以确定流程中的具体任务,另外还 华 中 科 技 大 学 硕 士 学 位 论 文 16 有任务的执行顺序。petri 网中四种常见的路由示意如下: 1) 串行路由。 如图 3.1 所示, 两个任务是串行执行的, 任务 1 是任务 2 的输入。 tasktask1 1c c2 2tasktask2 2c c3 3c c1 1 图 3.1 串行路由 2)并行路由。如图 3.2 所示,任务 1 执行以后,并为库所 2 和 3 各添加一个令 牌。当流程实例的前置条件 2 和 3 被满足时,任务 1 和 2 就能执行。执行任务 1 使 得后续的多个任务可以并行执行。当且仅当并行的两个任务都执行后,后续的任务 2 就可以执行了。只有当条件 4 和 5 都达到要求后,该流程实例才能被继续执行。 t t1 1 c c2 2tasktask1 1c c4 4 c c1 1 c c3 3tasktask2 2c c5 5 t t2 2c c6 6 andand- -splitsplitandand- -joinjoin 图 3.2 并行路由 3)选择路由。如图 3.3 所示,当流程实例的前置条件 1 得到满足,任务 1 和任 务 2 之一就可以得到执行,两个任务是选择的关系,是互斥的。某个任务完成后, 流程实例就可以继续执行,并行的其他任务的执行结果被忽略。 t t1 1 c c2 2tasktask1 1 c c1 1 c c3 3tasktask2 2 c c6 6 preconditionspreconditions oror- -joinjoin oror- -splitsplit t t1111 t t1212 图 3.3 选择路由 华 中 科 技 大 学 硕 士 学 位 论 文 17 4)循环路由。如图 3.4 所示,当流程实例的前置条件 1 得到满足,其后续的任 务 1 和任务 2 按照顺序路由执行。当任务 2 执行后,任务 t 判断任务 2 是否再次执 行。任务 2 执行若干次后,流程实例前进到任务 3。在图 3.4 中,任务 t 代表的是选 择路由,图中的示意图是选择路由的简略画法。 tasktask1 1c c2 2tasktask2 2c c3 3c c1 1 t t c c4 4tasktask3 3c c5 5 图 3.4 循环路由 3.2 工作流模式分析工作流模式分析 3.2.1 流程运转流程运转模式模式 佩特里教授基于 petri 网的工作流结构表示法提出了 20 种工作流模式,为工作 流过程建模和分析提供了有力的思维方法和方向23。 下面主要介绍其中比较常见的 几种工作流模式。 基本控制流模式基本控制流模式 (1)串行:流程中的活动串行执行。 (2)并行:流程中的一个活动分支为并行执行的多个活动。 (3)聚合:流程中的多个活动集中成一个活动。 (4)选择:流程中的活动,基于工作流流程实例中的环境变量上下文选择其 后续分支任务中的某一个。 (5)合并:工作流中的一个任务节点在多个分支的任务非同步执行的情况下 需要汇合时执行。 高级分支同步模式高级分支同步模式 (6)多选:流程中的活动,基于工作流流程实例中的环境变量上下文选择流 华 中 科 技 大 学 硕 士 学 位 论 文 18 向其后续分支任务中的某几个。 (7)同步合并:流程实例中的多个活动集中成为一个活动,任务执行时候, 相互之间需要信息同步。 (8)多合并:流程实例中的多个活动在进行任务非同步执行的情况下进行合 并。 (9)鉴别器:流程实例中的一个分支聚合任务点,该任务直到其它任务中的 第一个完成,然后才会继续推进流程实例的前进,同时该节点忽略其它分支活动的 执行结果。 结构化模式结构化模式 (10)强制循环:流程实例中的一个任务节点,该节点使得其中的某个活动能 够反复的执行。 (11)隐式终止:流程实例中没有任何活动在执行,或者任何没有活动可以执 行的时候,流程自动终止。 包含多实例包含多实例的模式的模式 (12)非同步多实例:在流程实例中,某个任务可以同时拥有多个实例,并且 这些实例以非同步的模式执行。 (13)设计时期确定的多实例:流程实例中的某个特定活动的数量能够在流程 定义设计时被确定下来,当活动实例的数量达到设计数量时,流程实例的后续的任 务就可以执行。 (14)运行时期确定的多实例:流程实例中的某个特定活动的数量能够在流程 实例运行时的某一段期间被确定下来,当活动实例的数量达到该数量时,流程实例 的后续的任务就可以执行。 (15)运行时期无法确定的多实例:流程实例中的某个特定活动的数量,在流 程定义设计时期和流程实例运行时期都不能在活动实例开始之前确定。在流程实例 执行的某个时期,活动的数量能够确定下来。当活动实例的数量达到该数量时,流 程实例的后续的任务就可以执行。 状态模式状态模式 华 中 科 技 大 学 硕 士 学 位 论 文 19 (16)延迟选择:流程实例中的一个分支选择任务,当多个任务中的一个任务 开始执行的时候,选择才实际生效。 (17)交替并行:流程实例中的活动的执行顺序是在实例运行时由工作流引擎 动态决定的,这些活动可以交替执行,也可以以并行的模式运行。 (18)里程碑:流程实例中的某个活动能否执行取决于流程实例上下文环境中 的指定的变量状态,该变量即为里程碑。 取消模式取消模式 (19)取消活动:流程实例中某个可执行的活动被强制取消了。 (20)取消实例:流程实例中的某个活动实例被完全从流程实例中去除了。 3.2.2 资源模式资源模式 拉塞尔教授首次提出了“工作流资源模式”的概念,以流程实例中的任务和资 源为依据,总结出七大类常见的资源模式:创建模式、推模式、拉模式、自动模式、 迂回模式、可视化模式和多资源模式。资源模式的提出可以对具有资源限制条件的 业务流程管理进行结构化的过程分析。下面详细介绍其中比较常用的一些资源模 式。 (1) 直接分配:流程定义时,直接为流程定义中的任务指派相应的任务执行 者。 (2) 基于角色的分配:流程定义时,为流程定义中的任务指派相应的角色或 用户组为任务执行者。 (3) 基于职位的分配:流程定义时,为流程定义中的任务指派组织模型中相 应的职位。 (4) 动态分配:流程实例运行时,为流程实例中的任务动态地指派相应的任 务执行者。 (5) 基于规则分配:流程定义时或流程实例流转时,依据实际的业务处理程 序来指派任务的执行者。 (6) 基于人员模型分配:参照任务执行者的岗位及权限,以及其在组织模型 华 中 科 技 大 学 硕 士 学 位 论 文 20 中的实体映射关系来指派任务的执行者。 (7) 基于历史分配:目前任务的执行者是前面已执行过活动的任务的执行 者,这种分配方式常用于流程运行过程中某段连续执行的活动。 (8) 轮转法分配:流程实例运行时,使用轮转法进行任务的指派,这种模式 主要用来解决资源分布不均、资源利用率不平衡的问题。 (9) 竞争分配:任务的任务执行者有多个可选,这些任务执行者同时竞争该 任务的所属权。一旦其中一个任务执行者竞争获得该任务,其他的任务执 行者就失去继续竞争该活动的机会。 3.3 工作流工作流中的中的组织组织模型模型 3.3.1 组织模型组织模型 组织模型属于工作流参考模型中定义的主要组件之一24。 组织模型最主要的功 能就是按照企业内部的部门以及岗位设置划分人员安排,并以此映射工作流管理系 统中的任务执行者。组织模型使用部门、岗位、职员和权限等关系实体定义基本组 织形式的模型,并利用约束和业务规则等条件组织功能和分配任务。组织模型的提 出在于能够最大程度地支持不同领域的企业中异构的组织结构。以此给出组织模型 的一般定义:使用通用的模型和元素,设计一组实体关系,描述企业部门和人员间 的层次关系和继承关系。主要的组织模型包括两类: (1) 层次模型。层次模型一般通过树形结构来描述组织结构,在组织模型结 构中,树的每个叶子节点代表具体的员工,每个非叶子节点代表组织结 构中的职能部门,而根节点则代表整个企业。 (2) 矩阵模型。矩阵模型由职能和层次两个方面构成。层次方面用以表示项 目组或是临时团队这样的组织结构,职能方面则代表具体实施的项目计 划等工作任务。矩阵模型在以项目为主要的业务运作方式的企业中较为 常见。 华 中 科 技 大 学 硕 士 学 位 论 文 21 公司 下级 上级 组织 下级 上级 岗位 下级 上级 职员 树形层次组织机构模型 公司下级 上级 工作组工作组分工 部门 下级 部门岗位 下级 职员 矩阵式组织结构模型 上级 上级 上级上级 下级下级 * * 1 1 * * 1 1 * * 1 1 1 1* *1 1* * * * * * 1 1 1 1 * * 1 1 * * * * 1 1 1 1* * * * * * 1 1 * * * *1 1 1 1* * * * 1 1 1 1 * * 图 3.5 两种组织模型的结构示意图 一般在企业内部,层次组织模型和矩阵组织模型两种形式同时并行存在。在以 职能部门为基础上组织的人员结构一般多为层次模型,主要负责确定企业内部人员 的岗位和权限等,这种实体关系一旦确立下来,基本上很少会发生变动。同时,在 企业对外的项目实施过程中,相关参与人员通常以项目为原则来分组划分,如项目 组或是临时的工作团队。同一个员工在不同的项目组织中可能处于完全不同的地 位。同一个项目的甲方和乙方,很有可能在另外一个项目中处于完全相反的地位。 这就是以上两种组织模型的最大差别,两者在不同的条件下发挥不同的能力,互相 结合,互相补充。 3.3.2 权限管理权限管理 权限管理模型基本可分为三类:主客体视图模型(subject-object view) 、基于 任务的权限管理模型(task-based access control) 、基于角色的权限管理模型 华 中 科 技 大 学 硕 士 学 位 论 文 22 (role-based access control)25。其中,基于角色的权限管理模型是现代软件体系 结构中运用较为广泛的一种权限管理模型。 工作流管理系统中的权限管理模块大部分采用基于角色的权限管理方式。基于 角色的权限管理模型的核心包含五个基本元素:用户、角色、权限、资源、操作。 用户代表组织结构中的实际雇员,角色可以依据组织结构中的部门和岗位划分分配 个系统的用户,权限代表角色的对于系统中各种资源的操作权利。 用户角色操作资源 会话 用户分配权限分配 图 3.5 基于角色的权限管理模型 3.4 工作流的资源管工作流的资源管理理 在流程实例的运行过程中, 具体任务的执行需要资源的配合。 资源的本质就是: 资源可以执行具体的任务。 3.4.1 资源分类资源分类 资源的分类用以区别各种资源对于任务的执行能力,一般有两种主要的方式对 资源进行分类: 1)依据资源能力 按照资源能力分类的资源为角色资源,代表这类的资源拥有某项具体能力。如 专业工程师、技术部门负责人、项目监理工程师、安全监理工程师、监理项目部负 责人、安全副总监、建设部项目部负责人等,这些资源的共同点就是都能执行某项 具体的任务和工作。 华 中 科 技 大 学 硕 士 学 位 论 文 23 2)依据组织结构 按照企业中的组织结构模型分类的资源为组织单元资源,代表这类的资源处于 组织模型中的某个具体部门或是岗位。如施工承包单位、监理单位、工程建设部、 安全生产部等,这些资源的划分能够使得任务和工作在适合的部门或岗位得到贯 彻。 3.4.2 资源分配资源分配 为了保证任务和工作项由正确的资源执行,流程定义中必须设定具体任务的分 配规则。分配规则的设定需要同时包含角色资源类和组织单元资源类。一般认为, 工作流参考模型中的工作流引擎的主要工作就是负责具体流程实例的执行过程,另 外在资源方面,工作流引擎还需要负责流程定义中具体任务和工作项的资源分配问 题26,27。资源分配需要结合资源分类、资源能力、资源利用率和具体业务过程的特 点等多个方面的问题,给出工作流执行过程中具体的分配规则。 资源分配的过程中涉及到很多相关的概念,如:任务、工作项、活动、资源、 角色和组织模型等。图 2.6 展示了资源管理中的实体关系。 华 中 科 技 大 学 硕 士 学 位 论 文 24 图 2.6 资源管理中的实体关系图 3.5 本章小结本章小结 本章着重讲解关于工作流建模的理论和方法。工作流建模有多种方式,本章主 要以 petri 网为例介绍了工作流的建模过程和方法。在使用 petri 网对工作流建模的 基础之上,分类讲解了工作流的各种流转模式。工
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 行政人事总监工作总结
- 糖尿病高渗状态护理要点
- 《经络腧穴学》课件
- 老年护理学的休息
- 活动类工作汇报
- 经管部门年度工作总结
- 《瓶中吹气球》课件
- 广东省清远市英德市2023-2024学年高三上学期第一次月考地理试题含参考答案
- 2025合同采购申请评审流程
- 骨包虫病护理查房
- 07第七讲 发展全过程人民民主
- 新汉语水平考试HSK级写作解题攻略专题培训课件
- 学习提高阅读速度的方法 课件
- 自主移动机器人教学课件第4章 导航规划 2 避障规划和轨迹规划
- GB 31628-2014食品安全国家标准食品添加剂高岭土
- GA/T 1312-2016法庭科学添改文件检验技术规程
- 卫生政策学之政策问题根源分析
- 步进电机及其工作原理-电机的工作原理及特性课件
- 基于CAN通讯的储能变流器并机方案及应用分析报告-培训课件
- 腹直肌分离康复(产后康复课件PPT)
- 聚合物成型的理论基础课件
评论
0/150
提交评论