已阅读5页,还剩46页未读, 继续免费阅读
(计算机应用技术专业论文)柔性工作流中动态修改策略研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
i 摘 要 工作流管理系统是近年来随着国际互联网络和企业内部互联网的普及而快速发 展的软件系统之一。工作流管理系统的主要目标是通过调用有关信息资源和人力资源 来协调业务流程中的各个环节,使之按照一定的顺序依次进行,从而实现业务流程的 自动化。柔性工作流管理系统是现在研究的热点之一。工作流管理系统的柔性要求主 要体现在系统运行时对工作流模型进行动态调整以处理异常情况或者优化流程结构 上。 通过对工作流管理系统柔性要求的分析,给出一种基于修改操作集的动态修改策 略。操作集包含了对工作流模型进行动态修改的基本操作。为了保证动态调整后工作 流系统的正常运行,提出一种工作流模型的数据流建模模型,通过定义工作流模型中 的关键活动和关键活动的数据依赖活动集合描述了工作流模型中活动之间的数据依 赖关系。以数据流模型为基础,给出动态修改约束集。约束集通过对修改操作集中的 元素进行约束和限制,保证了动态调整后的工作流过程在语法级别上的正确性和数据 一致性。同时给出以约束集为基础的正确性验证方案。 在对工作流管理系统动态适应性研究的基础上,结合工作流管理联盟的工作流参 考模型实现了一个支持动态适应性的轻量级工作流管理系统。实现了工作流系统的基 本功能,同时增加了动态修改接口,可以在运行时对工作流模型和实例进行动态调整 并进行正确性验证, 能够较好的满足工作流系统的柔性要求。 系统具有很好的独立性、 可扩展性和灵活易用等特点,能较好的集成到企业的应用中去。 关键词:柔性工作流,动态修改策略,数据依赖 ii abstract with the rapid extension of internet and intranet, some kinds of software systems have been greatly evolved, especially the workflow management system (wfms). the main intension of wfms is the automation of procedures where document, information or tasks are passed between participants according to a predefined set of rules to achieve an overall business goal. the flexible wfms has been a hotspot in the field of research on workflow. the flexible of the wfms is mainly expressed in dynamic modification about the workflow model to handle the exceptions or optimize the structure of the workflow. a strategy based on mini operation set has been proposed by research on the flexible requirement of the wfms. the set include the base operation of the dynamic modification that can be carried out on the workflow model. a dataflow model of the workflow has been proposed. the model expresses the data relation of the activities in the workflow. a rule set which make some restrictions to dynamic modify operations has been proposed based on the dataflow model to assure the working order of wfms. by restricting the base operation, the rule set can assure the rightness and data consistency of workflow. the verifying method based on the rule set has been proposed. by the research on the flexible strategy of the wfms, a lightweight wfms prototype is designed according to the workflow reference model and architecture that is specified by workflow management coalition. the system implement not only the necessary function of wfms, but also the interface of dynamic modification. the interface can be called to modify the workflow model and verify the rightness of the modification when wfms is running. the system has better independence, expansibility and flexibility. it is apt to be integrated into enterprise application. secondary development can quickly be carried on under the frame of wfms. key words: flexible workflow, dynamic modification strategy, data dependence 独创性声明 本人声明所呈交的学位论文是我个人在导师的指导下进行的研究工作及取 得的研究成果。近我所知,除文中已标明引用的内容外,本论文不包含任何其他 人或集体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体, 均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。 学位论文作者签名: 日期: 年 月 日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校有 权保留并向国家有关部门或机构送交论文的复印件和电子版, 允许论文被查阅和 借阅。 本人授权华中科技大学可以将本学位论文的全部或部分内容编入有关数据 库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 保密, 在_年解密后适用本授权书。 本论文属于 不保密。 (请在以上方框内打“” ) 学位论文作者签名: 指导教师签名: 日期: 年 月 日 日期: 年 月 日 1 1 绪言 工作流技术已经在应用领域得到越来越多的关注,发展衍生出很多类型的工作流 管理系统。对于新技术的要求也不断产生,柔性技术就是其中的一种。 1.1 课题背景 工作流管理是近年来迅速发展起来的一项新兴技术。工作流技术起源于70年代 末、80年代初的办公自动化运动1,2 。随着计算机技术、网络技术、通信技术和分布 式数据库等辅助信息技术的迅速发展和成熟,人们越来越意识到工作流管理是一种能 够有效控制和协调复杂活动的执行、实现人与应用软件之间交互的信息技术手段。因 此,工作流管理技术的应用范围不断拓展。目前,已经成功运用于图书馆、医院、保 险公司、银行等多种行业3,4。 工作流利用“ 流” 的概念将以往企业中独立、分散的企业业务流程互相联系,从而 极大的提高了过程管理的效率,实现企业业务过程重组、并行工程、敏捷制造等先进 企业管理理念。正因为如此,越来越多的研究机构与软件厂商对工作流管理系统进行 了大量的研究与开发,形成了几百种工作流产品。为了使这些不同性质的工作流产品 互联起来,以便实现机构或企业之间的大型工作流管理,工作流管理联盟(wfmc, workflow management coalition)提出了有关工作流管理系统的一些规范,定义了工作 流管理系统的结构及其应用编程接口,从而实现了工作流技术的标准化和开放性5。 国内外许多大学和研究机构开展了很多工作流的研究项目6,7, 并取得了众多研究 成果,对工作流技术的发展做出了积极的贡献。但是这些工作流管理系统在支持系统 柔性要求时存在一定的局限性。这些工作流系统也提供了模型的修改功能,但如果此 时工作流正在运行,则当前活动的工作流实例就必须被终止运行。这种方法在实际应 用中比较死板,难以满足企业动态变化的需求。而且,随着企业规模的扩大、业务过 程的复杂化、市场需求的快速变化、各种新技术的不断涌现以及新法规的不断出台, 越来越多的工作流都不再是静态的流程,它们常常需要在运行的过程中进行实时修改 以快速响应需求的变化。为了增强工作流管理系统的灵活性,快速响应需求变化,我 们需要在工作流研究中逐步纳入新的技术,柔性工作流已经成为工作流领域的研究热 点8,9,10。 2 1.2 国内外研究概况 工作流管理系统为信息系统的开发提供了一种新的范式,工作流技术的研究引起 了来自研究机构和产业界学者们的极大关注。经过多年的研究和开发,很多具有工作 流管理功能的商业产品已推向市场。 1.2.1 工作流的起源 工作流是从英文单词workflow翻译得来的,用活动及活动之间变化的过程表示的 业务流程就是工作流。工作流的概念起源于生产组织和办公自动化领域,它是针对日 常工作中具有固定程序的活动而提出的一个概念,目的是通过将工作分解成定义良好 的任务、角色,按照一定的规则和过程来执行这些任务并对它们进行监控来提高办事 效率、降低生产成本、提高企业生产经营管理水平和企业竞争力11。 实际上,自从进入工业化时代以来,有关过程的组织管理与流程的优化工作就一 直在进行,这是企业管理的主要研究内容之一。只不过在没有引入计算机信息系统的 支持以前,这些工作是由人工来完成的。在计算机网络技术和分布式数据库技术迅速 发展、多机协同工作技术日臻成熟的基础上,于20世纪80年代中期发展起来的工作流 技术为企业更好地实现这些经营目标提供了先进的手段。工作流技术一出现马上就得 到广泛的重视和研究。随着计算机与网络技术的迅速发展,现代企业信息系统的分布 性、异构性和自治性的特征越来越显著,集中式信息处理的时代即将成为过去,取而 代之的将是大规模的异构分布式信息处理与应用执行环境12,13。在这种大规模的分布 式环境下高速运转相互关联的任务,并且对执行的任务进行密切监控已成为一种发展 趋势。在这种技术背景下,工作流管理系统也由最初的创建无纸办公环境,转而成为 同化企业复杂信息环境,实现业务流程自动执行的必要工具。这样的一个转变,把工 作流技术带入了一个崭新的发展阶段14,15,使得人们从更深的层次、更广的领域对工 作流展开了研究。至今工作流管理技术己成功地运用到图书馆、医院、保险公司、银 行等行业,然而它更重要的应用还是在工业领域,特别是制造业领域。 1.2.2 工作流系统概况 随着计算机网络及通信技术的发展,各种面向组织机构的信息系统也得以广泛地 使用。 在面向企业的信息系统发展过程中, 工作流管理系统逐渐从信息系统独立出来, 作为一个通用的支撑工具提供给应用系统,因此,wfms为信息系统的开发提供了一 种新的范式。当前,wfms被应用于企业等组织的办公自动化,并和业务过程重组、 3 电子商务、虚拟企业、其它群件等结合在一起被称为是组织计算(organization computing)。 随着工作流管理系统需求的不断膨胀,工作流的相应研究也迅速的发展。由于各 种新技术层出不穷,各个采用了新技术的工作流管理系统也不断推出,目前工作流领 域存在如下几种不同方向的工作流管理系统16- 19: 1)基于成熟产品的工作流管理系统 以microsoft exchange和ibm dominonotes为典型的成熟群件平台。在其上面作二 次开发,较容易实现工作流基本功能,并且具有开发周期短、稳定性高等优点。但毕 竟是二次开发,不能完全拥有自主版权,更为重要的是,这些成熟群件平台无法适应 一些用户的多样性需求,适应性较差。 2)智能工作流管理系统(intelligent wfms) 这一研究领域致力于运用人工智能的技术提高工作流管理系统的智能性, l.myers 和m.berry在文献中详细讨论了人工智能技术对wfms的影响,他们认为人工 智能的过程控制致力于实物(如机器、设备)的过程控制,而工作流则侧重于商业和制 造业企业流程的控制;人工智能的技术对工作流管理有许多借鉴意义:反应控制 (reactive control)理论,对于流程的监控、自适应和错误处理具有重要意义;反应调 度(reactive scheduling)和资源分配算法,则对于动态、复杂、实时性要求较高的流程 调度引擎的设计具有现实的指导意义;规划(planning)算法,可以帮助工作流系统从大 量的工作流定义案例中归结出新的流程定义及使流程定义具有自学习的功能,有助于 目标拉动型wfms的研究与发展。 3)面向对象的wfms(object- oriented wfms) 随着面向对象技术的成熟与应用,许多学者开始研究如何利用面向对象的技术来 推动工作流技术的发展。主要包括两个领域:第一,如何利用00技术如名字服务、安 全控制技术来简化wfms的实现,提高wfms的性能和适应had环境的能力;第二, 如何利用面向对象的分析方法来构建面向对象的流程定义,以提高流程定义的可重用 性。 4)分布式wfms (distributed wfms) 为了提高系统的鲁棒性,许多学者研究如何实现wfms的分布处理,一个流程可 以使用多个分布的工作流引擎,每个工作流引擎可以调度不同流程实例或流程实例的 不同任务,一个调度引擎发生故障时,不会影响其它引擎的工作。分布式系统会带来 4 一系列的问题,如数据一致性、并发性、备份和恢复问题,这些是当前研究的热点。 5)基于web构架的wfms 基于web构架的应用系统,由于零安装、移动性好、易操作等优点得到了巨大的 发展,许多应用系统转移到基于web构架上来,wfms也不例外。现有的许多wfms 也增加了对web的支持,但多局限于用web来实现任务项(work item)的处理。而在 server端通过cgi与工作流引擎通信这种体系结构,cgi程序的瓶颈、html不能表示 结构化数据都使现有的web使能的系统效率不高。如何利用xml和java等技术来实现 web构架的wfms,是一个急切需研究的课题。 6)基于eca规则的适应性工作流 在实际中往往需要根据具体情况动态地确定执行路由, 这就需要工作流模型能 表达出不同情况下的不同处理方法。近年来,数据库的非传统应用促进了对主动数 据库的研究和应用,并且引起了对软件主动性的研究。它采用事件触发机制来组织 应用系统,或者为应用系统增加主动功能。当一个事件发生后,事件监视器捕获该 事件,然后依据事件条件动作(eca)规则进行条件判断, 选择合适的执行动作。 在企业业务执行过程中,各个活动的进行总是伴随着事件的发生。特定的事件触发 特定的活动,而活动的结束又引发新的事件,因而用事件可以描述业务过程的动态 特性。 1.2.3 目前工作流系统的缺陷 目前工作流管理系统存在着以下方面的问题20- 22: 1)缺乏互操作性:在工作流管理系统开发的早期,由于缺少统一的标准,大多数 工作流产品之间互不兼容。虽然后来工作流管理联盟提出了一套工作流管理系统的标 准,但是要实现工作流之间无缝的互操作还有相当的工作需要开展。 2)当并发访问和出现错误时缺乏正确和可靠的支持:工作流实例在运行过程中, 可能出现多个活动同时访问共享资源的情况,各个活动在数据操作上会相互重叠。为 了保证系统正常运行,必须进行并发控制,防止出现“ 脏数据” 等现象。另外,当工作 流非正常中断时,如何恢复数据的一致性也是需要解决的问题。 3)性能问题:目前大多数工作流产品无法满足企业对每天处理上万个、甚至每 小时处理几千个业务的需求。 4)缺乏对工作流进行分析、仿真和纠错的工具。 5 5)缺乏足够的对柔性要求的支持。 1.3 柔性工作流研究内容和概况 工作流技术在发展中遇到很多的新的需求,这些需求促进了工作流技术的发展。 为了满足客户的不同层次的要求,工作流技术引进了许多新的技术。柔性技术就是其 中之一。 1.3.1 柔性工作流的引入 从工作流的兴起到现在,工作流产品已经达到了上千种。但是目前大部分工作流 管理系统只允许在定义时对过程模型进行编辑和修改,一旦过程运行之后就不能再对 其进行修改。这种限制使得它们仅适用于那些结构合理、运行时现实的业务过程与定 义时计算机表示的过程完全吻合以及不需要动态扩展的业务过程。但是实际的业务过 程中有一些不是静态的,难以预测的意外事件或者异常的发生往往会导致实际的业务 过程与预定义的工作流过程存在偏差,这种情况的经常发生极大的限制了工作流管理 系统的应用范围23- 25。 为了提高工作流管理系统的灵活性, 拓展潜在的市场应用领域, 国内外工作流技术中引入了柔性工作流的专门研究,它也日益成为工作流研究的一个 新热点。 1.3.2 柔性工作流研究内容 目前柔性工作流在国内外尚处于研究阶段,大部分的工作流产品还不具有柔性, 不支持柔性工作流26。然而,不少大学和研究机构已经成立了专门的小组对柔性工作 流的各个方面进行研究,并且取得了一些成果,发表了不少具有价值的柔性工作流方 面的文章27,28,开发了一些支持柔性工作流的原型,为动态工作流的实现提供了一些 解决方案和思路。 总得来说,目前柔性工作流的研究主要集中在以下几个方面29- 31:工作流模型的 正确性分析、动态修改的实现策略、动态修改的实现方法、动态修改的操作、动态修 改可能会导致出现哪些问题、以及怎样解决其中的问题、怎样更好地支持柔性工作流 等。 1.3.3 柔性工作流研究现状 kammer在文献32中对柔性工作流系统所要完成的功能进行了概括,可分为9种 情况: 6 1)能动态地修改和编制工作流过程定义; 2)工作流的执行模型可以配置:进行部分执行、指导性执行和强制执行; 3)能够为活动、资源、代理分门别类地建立模型,保证在运行时有可选择性.并 保证整个过程的一致性; 4)具有自反性:工作流过程在执行时能够访问自己,并对自己的原模型重新修 改; 5)根据工作实例对过程模型进行演变; 6)能够逻辑分解一个过程模型; 7)能够利用过程片断和组件库; 8)能够访问工作历史,并与专家交互; 9)为参与者提供相互通信的集成支持。 在柔性工作流的研究中,研究者们探索了几种不同的技术手段。在文献33中, 作者采用异常处理的方法,利用eca(event- condition- action)规则,针对出现变化要求 时的不同情况采用不同的处理策略。在文献34中,作者采用集成外部工具的方法, 通过将外部的群件系统集成到工作流执行中,以增加工作流系统的灵活性、开放性和 与外部交互的能力。 荷兰埃因霍恩大学(eindhoven university of technology)的wil vander aalst将动态 修改的操作分为扩展、代替和排序等三种35。其中扩展指在原有的过程中增加新的任 务,代替是指一个任务或者区域被另一个事务或者区域取而代之,排序是指改变原有 过程中各个任务的结构顺序。怎样处理系统中己经存在的过程实例是动态修改的核心 问题之一,作者van der aalst提供了重新启动、继续进行和转换等三种策略解决这个问 题:重新启动策略:所有已经存在的过程实例退出,并按照新的过程定义重新启动;继 续进行策略:所有已经存在的过程实例将按照原来的过程定义继续执行,以后启动的 过程实例将按照新的过程定义执行;转移策略:所有己经存在的过程实例将直接转换 为新的过程定义结构,并按照新的过程定义继续向下执行。 在文献36中,作者按照作用对象域的大小将修改分为了4个层次: 1)结构层(structure level):任务之间的相互关系和前后顺序的修改; 2)任务层(task level):每一个单独的任务的修改; 3)资源层(resource level):工作流资源(人员、计算机和各种应用软件的修改); 4)系统层(system level):工作流管理系统具体运行环境的改变。 7 1.4 课题主要研究工作 本课题主要工作是分析工作流管理系统在动态适应性方面的要求;针对现有工作 流管理系统对柔性要求支持不够的缺陷提出一种工作流动态修改策略;并依据该策略 给出一个动态适应性工作流管理系统的体系结构以及各模块的具体实现。 本文具体内容安排如下: 第二章介绍工作流的基本概念,分析了工作流管理系统的体系结构和参考模型, 说明了工作流管理系统的功能和轻量级工作流管理系统的概念。 第三章具体分析了工作流管理系统的柔性要求,给出基于修改操作集的工作流动 态修改策略;定义了工作流数据依赖模型,在此基础上详细介绍了各种工作流动态调 整操作以及其应该遵守的约束和规则,给出了验证动态修改正确性的方法和步骤。 第四章在对工作流管理系统动态适应性研究的基础上结合 wfmc 的工作流参考 模型提出了一个支持动态适应性的轻量级工作流管理系统。 第五章对本文所作的工作进行总结,并指出需要进一步研究的工作。 8 2 工作流系统分析 工作流是企业业务过程的计算机实现,而工作流管理系统则是实现工作流管理的 软件环境。工作流管理是一个被业界广泛应用并迅速发展的技术,它的主要特点是使 处理过程自动化,使人们以及各种应用工具相互之间协调工作,以完成某项工作。工 作流技术标准化组织工作流管理联盟 wfmc 提出的工作流管理系统的体系结构和参考 模型是开发工作流管理系统参照的重要标准,本章将对其进行详细的介绍。 2.1 工作流的基本概念 工作流管理联盟给出的工作流定义是37:工作流是一类能够完全或者部分自动执 行的经营过程,它根据一系列过程规则,文档、信息或者任务能够在不同的执行者之 间进行传递与执行。 经营过程的定义是:一个经营过程是为了实现企业某个经营目标的一个过程,它 在部分或者全部组织机构和人员的参与下,利用企业资源(包括所需的处理设备、通讯 设备、计算机硬件、软件等等),按照预先确定的规则,在参与者和组织机构之间进行 文档、信息、任务的传递和处理(包括经营决策),从而实现预定目标。 2.2 工作流管理系统的体系结构 为了能够更好地支持企业经营过程建模、分析和实施,适应世界市场的多元化趋 势,需要建立工作流管理系统的相关标准,从系统结构、术语使用、接口实施方面提 供标准化的定义,并以此为基础实现不同工作流产品之间的互操作,便于与其他应用 系统的集成。工作流管理联盟提出了有关工作流管理系统的一些规范。图2.1是工作流 管理系统的体系结构图。 从图中可以看出,工作流管理系统主要由三类构件组成,这三类构件分别是: 1)软件构件:完成工作流管理系统不同组成部分功能的实现; 2)系统控制数据:工作流管理系统中的一个或多个软件构件使用的数据; 3)应用与应用数据:对于工作流管理系统来说,他们不是工作流管理系统的组成 部分,而是外部系统和数据,它们被工作流系统调用来完成整个或部分工作流管理系 统的功能。 9 图2.1 工作流管理系统体系结构 2.3 工作流参考模型 1994年11月,wfmc提出了工作流管理系统的参考模型。在这个参考模型中, 描述了组成工作流系统的各个功能模块的功能,以及各个功能模块之间的接口功 能定义。工作流系统参考模型己经成为设计工作流系统结构时应该遵循的设计标 准。 工作流系统参考模型可以用图2.2表述。 10 图2.2 工作流管理系统参考模型 各个模块的功能描述如下: 1)过程定义工具:过程定义工具向用户提供对实际业务处理过程进行分析、建 模的手段,将实际业务处理过程转化为可以为计算机所处理的形式化描述,即过程定 义。这种形式化描述可以是形式化的过程定义语言或对象关系模型,也可以是简单地 规定用户间信息传输的一组路由命令。 2)工作流执行服务:工作流执行服务也称为业务执行环境,包括一个或多个工 作流机。工作流机是工作流管理系统的核心组件。在工作流实例运行时间,工作流执 行服务借助工作流机对预先定义的过程模型进行解释,完成对过程定义实例的创建、 修改、状态设置等操作,同时处理催办通知、已办通知等附加功能。 3)管理和监控工具:管理和监控工具的作用是对工作流过程实例的状态进行监 控和管理。 4)客户应用:客户应用用于向用户提供同工作流实例进行交互的工具。在工作 流实例运行期间,必然要同用户进行交互,比如文档的审核、意见的填写、分流流向 的控制等。用户通过客户应用程序了解待处理的工作项列表,完成对工作项的处理操 作。 5)被调应用指在工作流实例运行期间,由工作流执行服务所调用的用于处理应 用数据的外部应用程序。例如对于word格式的文档型应用数据,就需要调用word文 11 档编辑器对其进行处理,这一点在办公自动化中尤为突出,比如痕迹保存修改功能就 需要调用外部应用程序。 2.3.1 wapi 与接口 1)wapi(工作流应用编程接口) wapi是一组工作流应用编程接口函数及其相应的数据交换格式,调用这些接口 函数可以完成工作流联盟定义的5类接口的功能。这5类接口需要的操作函数包括一组 api调用函数和一些数据交换函数。它们是: (1)api调用:完成连接建立、过程控制、活动管理等功能,包含以下类型的功 能函数供编制接口程序使用: 建立连接。 操作工作流模型及其对象。 控制过程。 监控过程。 检测过程状态。 管理活动。 操作数据处理。 操作工作流任务表、任务项处理。 管理用户。 管理角色。 (2)数据交换函数:数据交换格式的定义与转换函数,能够满足过程数据传递 和工作流相关数据传递的需要。 2)wfmc定义的5类标准接口 wfmc定义了5类标准接口: 接口 (1) :过程定义输入输出接口。它是工作流服务和工作流建模工具间的接口, 包括工作流模型的解释和读写操作。这个接口为在不同物理或电子介质之间传递过程 定义的信息提供了交互的形式和api调用函数。 工作流管理联盟提供的api函数在建模 方面主要覆盖了以下几个功能: 通信建立:各个参与的系统之间通信的建立与断开。 工作流模型操作:过程模型名称检索、对过程模型对象的读/写等。 工作流模型对象操作:在建模工具中创建、检索和删除对象;创建、设置和删 12 除对象的属性。 接口(2):客户端函数接口。它是工作流服务和客户应用之间的接口,是最主 要的接口规范,约定了所有客户方应用与工作流服务之间的功能操作方式。它主要定 义了以下几个方面的功能: 通信建立:各个参与运行的系统之间通信建立与断开。 工作流定义操作(对过程模型定义操作):对于过程模型的名称和属性的查询和 检索功能。 过程实例管理功能:创建/开始/结束一个过程实例;挂起/重新激活一个过程实 例:强行改变过程实例或活动实例的状态;查询过程实例或活动实例的属性。 过程状态管理功能:设置过滤条件,打开/关闭对一个过程实例或活动实例的查 询;设置过滤条件,获得部分过程实例或活动实例所需的详细信息;获得过程实例或 活动实例的详细信息。 任务项列表/任务项处理功能:设置可选的过滤条件,打开/关闭一个任务项列 表查询:设置过滤条件,获得任务项列表中的项目:对任务项的选择/重新分配/完成等消 息的通知;设置和查询一个任务项属性。 数据处理过程:查询/返回工作流相关数据、工作流应用数据。 过程监控功能:改变一个过程模型和其现存的实例的运行状态;改变某种特定 类型的过程实例或活动实例的状态;改变某种特定类型的过程实例或活动实例的属 性;结束所有的过程实例。 管理功能:其他的管理功能。 应用程序激活。 接口(3):激活应用程序接口。它是工作流机和直接调用的应用程序之间的直接 接口。激活应用程序的api函数应覆盖以下几个方面的功能: 建立/断开与应用程序(或应用程序代理)的通信。 活动管理功能: 开始活动/挂起/重新激活/退出活动(需要一个非同步的应用程序 界面);通知活动结束;查询活动属性、消息事件(如同步信息等)。 数据处理功能:提供工作流相关数据(在活动执行前向应用程序提供数据,活动 结束后从应用程序中获得所需数据);提供工作流应用数据或提供数据地址。 接口(4):工作流执行服务之间的互操作接口。它是工作流管理系统之间的互 操作接口。工作流执行服务之间需要提供wapi来实现互操作,无论是在两个工作流 13 执行服务间的直接调用还是通过网关函数。前面讨论的许多wapi函数都适用于工作 流互操作的情形: 连接的建立。 对工作流模型和其中对象的操作。 过程实例控制和状态函数。 活动管理函数。 数据处理函数。 接口 (5) :系统管理与监控接口。它是工作流服务和工作流管理工具之间的接口, 主要是为了实现对工作流的管理和监视。wapi包括以下几个方面的内容: 资源控制:设置/取消/修改过程或活动实例的并发层次(concurrency level)。 角色管理:定义、删除和修改角色参与者(role- participant)的关系;修改角色 属性。 用户管理:建立、删除、暂停和修改用户或工作组的权限。 过程实例的管理:对过程模型进行实例化;修改过程实例或活动实例的状态;终 止过程实例。 状态管理:查询过程或活动实例的运行状态。 审核(audit)管理:查询/打印/删除/启动新的统计过程轨迹(trail)或日志。 2.3.2 工作流元模型 图2.3是工作流管理联盟定义的过程元模型。该模型包含以下几个基本实体,以下 内容对它做一个简单概述。 1)工作流定义(过程模型):它一般包含诸如工作流模型名称、版本号、过程 启动和终止的条件、系统安全、监控和控制信息等一系列基本属性。这个过程模型 反映了企业中一个经营过程的目的, 即这个过程要实现的目的和最终达到的目标是 什么。 2)活动:主要属性有活动名称,活动类型(原子级活动、子流程等),活动的 前、后条件以及调度约束参数(如最长处理时间、排队等待时间)等。当工作流运行 在分布的环境下时,在活动的属性中还应该包括执行该活动的工作流机的位置。活 动相应于企业经营过程中的任务, 主要反映完成企业经营过程需要执行哪些功能操 作。 14 图2.3 工作流过程元模型 3)转换条件:主要负责为过程实例的推进提供导航依据,主要参数包括工作流 过程条件(flow condition,执行某个活动的条件)和通知条件(notificat- ion condition, 通知不同用户的条件)。转换条件对应于企业经营过程中的业务规则和操作顺序。 4)工作流相关数据:工作流机根据工作流相关数据和转换条件进行推进,工作 流相关数据的属性包括数据名称、数据类型和数据值等。它是工作流机执行任务推进 的依据。如报销流程,大于2000元的交科长签字,大于5000元的交局长签字等。 5)角色:角色属性主要包括角色的名称、组织实体(organizational entity)、角色 的能力等。角色或组织实体决定了参与某个活动的人员或组织单元。它主要描述企业 经营过程中参与操作的人员和组织单位。 6)需要激活的应用程序:主要属性包括应用程序的类型、名称、路径及运行参 数等。应用主要描述了用于完成企业经营过程所采用的工具或手段。图 2.3中给出的 过程定义元模型的组成核心是活动。工作流定义与活动、工作流相关数据是一对多的 关系,即一个工作流定义由多个活动与多个工作流相关数据组成。活动、角色、工作 流相关数据、需要激活的应用程序、转换条件之间都是多对多的对应关系。 2.4 工作流引擎的功能 虽然不同的工作流管理系统具有不同的应用范围和不同的实施方式,它们还是具 有许多共同的特性。从比较高的层次上来抽象地考察工作流管理系统,可以发现所有 15 工作流管理系统都提供了三种功能38- 40: 1)建立阶段功能:主要考虑工作流过程和相关活动的定义和建模功能; 2)运行阶段的控制功能:在一定的运行环境下,执行工作流过程,并完成每个 过程中活动的排序和调度功能; 3)运行阶段的人机交互功能:实现各种活动执行过程中用户与it应用工具之间 的交互。 图2.4给出了工作流管理系统的三个主要功能之间的关系。根据图2.4给出的工作 流管理系统的主要特性,下面分别介绍它所提供的3个主要功能所涉及的研究工作和 实施技术。 图2.4 工作流管理系统的特性图 2.4.1 过程建模 工作流管理建立阶段的功能主要完成经营过程的计算机化的定义。在这个阶段, 利用一个或多个建模技术与工具,完成实际的经营过程到计算机可处理的形式化定义 的转化。所得到的定义通常可称为过程模型、过程模板、过程元数据或过程定义。因 此,在工作流建立阶段主要完成过程建模工作。在wfmc定义的工作流管理系统中, 将过程建模得到的结果统称为过程定义。 过程建模是经营过程分析与经营过程重组的重要基础。过程建模主要解决如何根 据过程目标和系统约束条件,将系统内的活动组织为适当的经营过程的问题。过程建 模的作用体现为: 1)用于准确描述企业的经营过程,供流程分析和优化(如经营过程重组)使用; 2)用于在不同的组织和信息系统间共享经营过程知识,便于实现基准工程 16 (benchmarking)以及企业动态联盟; 3)用于企业cims(computer integrated manufacturing system,计算机集成制造系 统)实施,根据设计的企业过程模型进行相应的功能构件配置,使得所建立的系统能够 按过程实现横向集成,而不是按传统的部门划分结构实现纵向集成,从而满足企业核 心价值流的要求。按过程模型进行系统构建配置还能够实现柔性更好的过程集成; 4)用于研究、开发新的经营过程,以满足不同业务需要和企业动态结构演化。 有很多方法可以用来进行工作流(过程)模型的定义与描述。过程建模方法学研究的主 要内容和目的是为企业经营过程建模提供一套完整有效的描述经营过程的建模语言。 对流程的描述需要提供逻辑顺序结构,如顺序、分支、汇合、条件、循环、并行的描 述。使用者可以通过这一套语言来对企业的经营过程进行形式化描述。目前较为广泛 接受的建模语言有cimosa的经营过程描述语言、工作流管理联盟wfmc定义的工作 流描述语言、keller等人提出的epcm模型等,这些工作流描述语言的描述形式与程序 设计语言中语义结构的定义方式类似。其他一些方法是采用传统项目管理中使用的概 念和模型来表述经营过程,例如pert图或其他各种形式的网络图等,后一类方法易 于在己有的项目管理软件工具的基础上扩展得到,所以在实用系统中采用得也比较普 遍。当所需建模分析的经营过程比较复杂,并存在并发、冲突等情况时,采用pert 图或网络图等简单的描述方法就很难将问题描述清楚,这时就需要形式化程度更高、 描述能力更强的方法,如petri网方法。 2.4.2 工作流运行控制 在完成了过程模型的定义后,所生成的工作流模型将由工作流执行服务软件进行 实例创建并控制其执行过程。工作流执行服务对使用工作流模型描述的过程进行初始 化、调度和监控过程中每个活动的执行,在需要人工介入的场合完成计算机应用软件 与操作人员的交互。这样,工作流执行服务实现了在模型中定义的经营过程与现实世 界中实际过程之间的连接。这个连接通过工作流执行服务与应用软件、操作人员的交 互来完成。实现这个连接的核心功能是工作流管理软件,工作流管理软件又称为工作 流机。 工作流机除了完成过程的创建、删除、活动的执行与控制外,它的另外一个重要 的功能是完成与应用软件及操作人员的交互。这是因为在实际企业应用中,应用软件 和操作人员是完成经营业务工作流的主体,而工作流机通过过程定义和活动之间顺序 控制实现这些独立的功能实体间的集成,从而使整个企业经营活动成为一个协调运行 17 的整体。企业经营过程的执行通常需要若干个应用软件和若干人员的参与才能够完 成,但是任何一个企业的实际应用都是在具有分布性和异构性的计算机网络环境中运 行。分布性是指应用软件运行在不同地点的不同计算机系统上,异构性是指应用软件 运行在不同的计算机硬件环境、操作系统、数据库管理系统上41。 对工作流机的分布性要求客观上是由企业的实际运行环境决定的,工作流管理系 统可以采用不同的方法来满足企业应用对分布性的要求。按照工作流机管理系统设计 开发的难易程度,工作流管理系统的分布性可以分为分布式的工作流用户与应用接 口、分布式工作流机和分布式工作流模型三种主要的分布方式。分布式工作流用户与 应用接口通常是工作流管理系统必须提供的分布处理功能,因为企业的应用软件和用 户本身分布在不同的计算机环境和不同的工作地点。 2.4.3 工作流管理中的人机交互 在工作流管理系统的运作过程中,人和应用是完成整个业务过程的主体。工作流 定义工具、工作流执行服务和任务表管理器都是为完成业务过程和支持人员工作提供 的运行环境和工具。具体说来,在整个工作流执行中,不同的操作人员需要完成的工 作大约可分为以下几种: 1)模型定义:创建、修改和发布企业的业务过程模型,这一般是企业的业务管理 部门的人员按照企业业务流程完成; 2)人机交互:按照工作流任务管理器提供的任务项,完成具体的业务处理工作(如 填写表格、启动一个应用来计算生产计划、查询库存情况等),这个工作由企业的各个 业务部门的人员完成; 3)系统运行状态监控:检查、监控系统的执行情况,对系统中出现的意外情况进 行紧急处理,如终止、恢复某个过程实例的执行,改变某个活动的状态以便整个系统 能够继续执行等,这个工作由具有较高职务的系统管理人员来完成。 2.5 轻量级工作流管理系统 轻量级工作流管理系统指的是从够用、灵活和低成本的设计原则出发,不追求工 作流管理系统功能的完备和复杂,只是实现其中必不可少的功能和特征。在设计工作 流管理系统的时候主要考虑对其数据模型的定义和解释、活动之间的协调以及任务的 分配和授权控制等功能提供支持,而不支持诸如内建(buildin)的应用开发工具、 对应用数据的定义和完整性维护、完善的异常处理以及长事务控制等功能42,43。 18 使用“ 轻量级” 这一术语,主要是本文的侧重点是设计一个充分支持动态适应性工 作流特征的小型内核,它可以无缝的嵌入到传统的应用开发环境中。应用开发人员可 以在其上进行二次开发,从而构造出各种灵活的具有工作流特征的应用系统。 2.6 小结 工作流管理联盟wfmc提出的工作流管理系统的体系结构和参考模型是开发工作 流管理系统参照的重要标准。本章主要介绍了工作流管理联盟给出的体系结构和参考 模型,分析了工作流管理系统应该具备的功能,最后说明了轻量级工作流管理系统的 概念。 19 3 柔性工作流动态修改策略 工作流管理系统的柔性技术已成为工作流领域的一个研究热点。本章在分析工作 流管理系统柔性要求的基础上讨论支持动态变化的工作流管理系统的相关技术,包括 动态修改的概念、特性、动态修改操作以及动态修改正确性验证,并给出相应的验证 方法和步骤。 3.1 柔性工作流 当工作流管理系统运行某个工作流实例时,有时会出现工作流实例的实际情况与 用户在工作流模型定义时建立的工作流模型不完全一致44,45。例如:由于意外事件的 发生而使得过程与计划情况偏离;过程中某个活动运行错误或设计阶段出现的失误 等。由于工作流设计者不能预见所有的意外事件,而工作流管理系统不能独立解决所 有出现的问题,那么用户参与并解决意外事件是一个有效办法。用户可以通过诸如跳 过一个活动、增加一个活动等方法来解决。我们称工作流运行时对工作流实例的结构 改变为工作流实例的动态调整。 对工作流实例进行动态调整的需求是很显然的: 1)要在流程执行之前确定所有的执行控制步骤和所有活动几乎是不可能的。即 使确定了所有的执行控制步骤和所有活动,也无法确定这些活动和控制步骤应该包含 在哪个工作流模型中最合理。 2)通常不可能在建模阶段完全确定好各活动的执行顺序,因为它们常常依赖于 特定的情景,在这种情景下规定哪些活动采用什么样的执行顺序,这使预定好的执行 顺序变得无意义。 3)现实和模型的映射总会出现一定的错误,需要进行动态的修正。 4)项目的目标发生变化或调整,因为根据市场等外部因素或项目本身的需求, 项目的目标会发生变化或调整,相应的要对项目工作流进行调整。 5)优化和再设计产生后的新模型需要动态应用到正在执行的工作流实例中,也 就是说由于工作流模型的演化需要调整工作流实例适应新的模型,特别是对于长期性 的工作流业务。 6)根据情形的变化对资源分配、任务分配都做出动态调整以保证工作流的执行 并实现一定的动态优化。 20 7)发生错误后需要对工作流实例进行修改或添加恢复性活动以使工作流能继续 执行。 8)对流程的重要环节添加一些监控和评价活动。 3.2 数据依赖模型 对工作流系统进行动态调整时不仅要保证修改后模型的结构正确,还要保证修改 后模型的数据完整性和一致性。工作流模型的结构正确性验证已经进行了很多的研 究,提出了很多的验证算法。而数据的完整性和一致性的验证主要是依靠工作流管理 人员的人工判断,如果修改不当导致修改后流程不能够正确运行。因此怎样验证修改 后模型的数据一致性是柔性工作流系统要解决的一个重要问题。 为了保证数据之间的一致性和完整性,需要对数据依赖型做出相应的定义。 定义 3.1 在一个活动定义中,如果存在输入参数 a,输出参数 b,则数据 b 依赖 于数据 a。表示为 ab。数据依赖关系具有传递性,即:如果 a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 奋斗的班会模板课件
- 初中语文教资面试2026易错题题库及答案
- 小学语文教资面试答辩题库及解析
- 心理护理沟通交流
- 骨折术后患者的护理常规
- 房地产建设课件
- 压疮的预防及护理要点
- 风电场安全规程课件
- 分层作业英语课件
- 防参与非法集资课件
- 停车场电力施工方案
- 《碳中和原理与技术》全套教学课件
- 2027贵州航天电器秋季招聘284人笔试备考试题及答案详解
- ISO 15510-2024 中文版(不锈钢 化学成分和交货技术条件)
- 2026国家保安员资格考试题库及答案(真题汇编)
- 兵团职工考试试题及答案
- 2026上半年教师资格证面试《高中历史》简案+逐字稿
- ISO 20400-2017 可持续采购指南培训课件
- 2025年国家开放大学(电大)《市场营销学概论》期末考试复习题库及答案解析
- GJB573B-2020 引信及引信零部件环境与性能试验方法
- 交通支持系统船舶建造(购置)项目可行性研究报告编制办法(试行)
评论
0/150
提交评论