一个具有自适应的动态工作流系统
工作流分类

工作流分类
工作流可以分成以下几种分类:
1. 线性工作流(Sequential workflow):按照顺序依次执行一系列任务或步骤的工作流。
每个任务的执行都依赖于上一个任务的完成。
2. 分支工作流(Branching workflow):根据特定条件或事件的发生,将流程分支为不同的路径。
每个分支路径可以有不同的任务和步骤。
3. 并行工作流(Parallel workflow):将工作流拆分为多个并行的子流程,这些子流程可以同时运行。
当所有子流程都完成时,整个工作流才会结束。
4. 事件驱动工作流(Event-driven workflow):工作流的执行由外部事件触发,每个事件都能引起一系列的任务或步骤的执行。
5. 自适应工作流(Adaptive workflow):根据系统的状态或条件的变化,动态调整工作流的执行路径和流程。
6. 规则驱动工作流(Rule-driven workflow):工作流根据预定的规则和条件来决定任务的执行顺序或路径。
7. 人工工作流(Human-driven workflow):需要人工干预和决策的工作流。
人们需要根据工作流的规则和步骤来执行任务。
8. 自动化工作流(Automated workflow):工作流的执行完全由计算机系统自动处理,不需要人工干预。
工作流引擎介绍工作流引擎技术架构

工作流引擎介绍工作流引擎技术架构工作流引擎是一种将工作流程转换为计算机可执行的流程的软件系统。
它允许用户通过图形化界面设计工作流程,并通过规则引擎和执行引擎实现工作流程的自动化执行和管理。
工作流引擎的设计是基于商业流程管理(BPM)理念的,它提供了一种能够将工作从一个任务转移到另一个任务的方式,从而提高工作效率和效果。
2.规则引擎:用于根据定义的规则和条件来自动决策工作流程中的走向和下一步操作。
规则引擎通常基于一套规则语言或表达式,可以动态地调整和优化工作流程的执行。
3.执行引擎:负责实际执行和管理工作流程。
执行引擎根据工作流程定义的顺序和条件,逐步执行工作流程的各个步骤,并将结果传递给下一步骤。
4.通信接口:用于与其他系统或应用程序进行交互。
通信接口可以接收和发送消息、数据和事件,从而实现工作流程与外部系统的集成和交互。
5.监控和报告模块:用于实时监控和跟踪工作流程的执行情况,并生成相应的报告和统计数据。
监控和报告模块可以显示工作流程的进度、延迟、错误和资源利用等信息。
6.安全和权限控制:用于管理和控制工作流程的访问权限和安全性。
安全和权限控制模块可以限制用户对工作流程的访问和操作,确保只有经过授权的用户才能执行和管理工作流程。
2.定义规则和条件:使用规则引擎定义工作流程中的规则和条件,以实现自动决策和分支。
3.配置和集成外部系统:使用通信接口将工作流程与其他系统或应用程序进行集成,以实现数据和消息的交换和共享。
4.执行和管理工作流程:使用执行引擎逐步执行和管理工作流程的各个步骤,并将结果传递给下一步骤。
5.监控和报告工作流程:使用监控和报告模块实时监控和跟踪工作流程的执行情况,并生成相应的报告和统计数据。
1.业务流程管理:工作流引擎可以用于自动化和管理各种业务流程,如销售、采购、审批、投诉处理等。
它可以帮助企业提高工作效率和质量,并加快决策和执行速度。
2.工作协同和协作:工作流引擎可以用于协调和协作多个部门或团队之间的工作,如项目管理、文档审批、会议安排等。
工作流是什么

工作流是什么工作流是指一组有序的工作任务、活动或流程,这些任务按照特定的顺序进行,以完成特定的工作目标。
在现代企业和组织中,工作流被广泛应用于各种业务流程和管理活动中,以提高工作效率、降低成本、优化资源利用和提升服务质量。
本文将从工作流的定义、特点、类型和应用等方面进行介绍。
首先,工作流的定义是指一组有序的工作任务或活动,这些任务按照特定的顺序进行,以完成特定的工作目标。
工作流可以包括人员、系统和设备之间的相互协作和信息传递,以实现工作任务的有序进行和高效完成。
工作流可以是简单的日常工作流程,也可以是复杂的跨部门、跨系统的业务流程。
其次,工作流的特点包括有序性、自动化、可控性和可优化性。
有序性是指工作流中的各个任务和活动按照特定的顺序进行,形成一个完整的工作流程。
自动化是指通过信息技术和系统支持,实现工作流程中的任务自动分配、自动执行和自动监控。
可控性是指管理者可以对工作流程进行监控和管理,及时调整和优化工作流程,以适应业务需求的变化。
可优化性是指通过对工作流程的分析和改进,不断提高工作流程的效率和质量。
再次,工作流可以根据其应用领域和特点进行分类,常见的工作流类型包括生产制造工作流、办公协同工作流、商业流程工作流和信息系统集成工作流等。
生产制造工作流主要应用于生产制造领域,包括原材料采购、生产加工、产品质检和成品入库等环节。
办公协同工作流主要应用于办公自动化和协同办公领域,包括请假申请、审批流程、文件传阅和会议安排等活动。
商业流程工作流主要应用于企业的业务流程管理和优化,包括销售订单处理、客户服务流程、财务审批流程和物流配送流程等。
信息系统集成工作流主要应用于不同信息系统之间的集成和数据交换,包括企业资源计划(ERP)系统、客户关系管理(CRM)系统和供应链管理(SCM)系统等。
最后,工作流的应用范围非常广泛,几乎涵盖了各个行业和领域。
在制造业中,工作流可以帮助企业优化生产流程,提高生产效率和质量。
工作流流程管理功能描述

工作流流程管理功能描述工作流是指将一项任务或一系列任务按照特定的顺序和规定的条件组织起来,使得工作的流程更加规范、高效。
工作流流程管理是指对工作流程进行管理和优化,通过流程优化、资源协调、数据监控等手段提高工作效率、降低成本、提升质量。
下面将从几个方面详细描述工作流流程管理的功能。
1.流程设计与配置:工作流流程管理的核心功能之一是流程的设计与配置。
在设计与配置过程中,可以定义任务的执行顺序、任务的执行条件、任务间的依赖关系等,确保任务按照规定的流程顺序进行。
同时还可以根据实际的需求,设计不同的分支流程,以满足不同的情况。
2.任务分配与协调:工作流流程管理还可以实现任务的自动分配与协调。
通过设定任务的执行人、执行角色或者根据规则进行任务的自动分配,可以有效减少任务分配的时间和成本。
同时,系统可以根据任务的执行情况进行自动的协调,如自动分配任务给其他人员,或者提醒相关人员进行任务处理。
3.任务监控与控制:工作流流程管理使得任务执行过程可以随时被监控和控制。
通过对任务的状态、进度、执行结果进行实时监控,可以及时了解任务的执行情况,并且可以进行必要的调整和控制。
同时还可以对任务执行的时间、成本、质量等进行监控和评估,以提供决策支持。
4.数据管理与处理:工作流流程管理可以对任务处理过程中产生的数据进行管理与处理。
系统可以自动收集、整理和存储任务执行过程中所涉及的数据,以便后续的分析和使用。
同时,还可以对数据进行必要的处理和加工,以满足不同的业务需求。
5.异常处理与调度:在任务执行过程中,可能会出现各种异常情况,如任务延期、任务失败等。
工作流流程管理可以通过监控和分析任务执行情况,及时发现并处理异常。
同时系统可以根据异常情况自动调度任务,如重新分配任务、优先执行紧急任务等,以保证整体工作流程的顺利进行。
6.绩效评估与优化:工作流流程管理还可以对任务执行的绩效进行评估和优化。
通过对任务执行过程进行分析,可以找出工作流程中存在的问题和瓶颈,以及提出改进措施。
一种动态自适应工作流管理变动协作机制

2 WD MA 的层 次 模 型
根据功能分类 . 以及 便 于 分 析 与 管 理 的 要 求 , MA 采 用 分 层 次 WD 流 程 的 自动 化 。 目前 国 内外 虽 然 己 经 有 了很 多 工 作 流 管 理 系 统 的 产 的结 构 模 型 , 这 个 模 型 中 , 为 6个 层次 : 图 1 在 分 如 。 品 , 是 大 部 分 只 能 在 设 计 阶 段 对 工 作 流 进 行 定 义 , 且 工 作 流 中 的 21 网络 操 作 系统 层 : 个 层 位 于 系 统 模 型 的最 低 层 , 个 层 次 主 要 但 并 . 这 这 动 态约 束 关 系 也 静 态 地 定 义 在 工 作 流 过 程 模 型 当 中 , 程 模 型 建 立 之 是 为 工 作 流 过 程 控 制 层 提供 必 要 的 服 务 支 持 . 些 支 持 包 括 文 件 的保 过 这 后 具 有 一 定 的 稳 定 性 .如 何 在 工 作 流 中 处 理 动 态 变 化 的约 束 关 系 . 存 , 目 通讯的建立 . 系统资源的分 配等 。 前 的系 统 显 得 无 力 。 何 更 好 的 处 理 工 作 流 中 动 态 约 束关 系 成 为研 2. 作 流 过程 控 制 层 : 个 层 是 工 作 流执 行 系 统 的 核 心 层 次 . 个 如 . 2工 这 这 究 工 作 的 一个 重 要 方 面 . 于 此 , 文 提 出 一 个 自适 应 的 工 作 流 动 态 层 次 对 工 作 流 的 过 程 模 型 进 行 解 释 和 执 行 , 执 行 过 程 中 , 据 需 要 基 本 在 根 约 束 处 理 的 管 理 框 架 从 而解 决 工 作 流 中 的 动 态 约 束 问题 。为 体 现 该 分 配 执 行 进 程 , 求 要 处 理 的 数 据 , 不 同 的 工 作 项 或 者 工 作 流 系 统 请 在 方 法 变 动 协 作 机 制 , 文将 重 点 突 出其 变 动 协 作 层 的实 现 。 论 之间传递数据和控制信息。 1 W DMA 原 理
工作流引擎的原理

工作流引擎的原理
工作流引擎是一种用于自动化组织、协调和监控业务流程的技术。
其原理基于以下几个关键概念:
1. 流程定义:工作流引擎通过定义工作流程,将业务流程抽象为一系列任务、步骤和决策节点的组合。
流程定义通常使用特定的建模语言(如BPMN)来描述。
2. 执行引擎:工作流引擎包含一个执行引擎,负责执行流程定义中定义的任务、步骤和决策。
执行引擎通常是一个状态机,能够根据当前流程状态和输入条件决定下一步的动作。
3. 任务分配和执行:工作流引擎负责将需要执行的任务分配给相关人员或系统,并跟踪任务的执行过程。
这包括任务的创建、分配、完成和关闭等操作。
4. 事件驱动:工作流引擎通常基于事件触发执行,即通过监听特定事件(如任务完成、超时等)来推动流程的执行。
这样可以实现异步、灵活和自适应的流程控制。
5. 数据持久化:工作流引擎需要将流程定义、任务状态和执行记录等信息进行持久化存储,以便在需要时进行查询和回放。
这可以使用关系型数据库、文件系统或其他持久化技术来实现。
6. 监控和优化:工作流引擎通常提供监控和报告功能,用于实时跟踪工作流程的执行情况,并提供性能指标和分析结果以供优化和改进。
总的来说,工作流引擎通过定义、执行和监控业务流程,实现了业务流程的自动化和可视化管理。
它可以提升业务流程的协同效率、可靠性和可扩展性,同时也提供了监控和优化的能力。
国内外主流工作流引擎及规则引擎分析

国内外主流工作流引擎及规则引擎分析工作流引擎和规则引擎是现代信息化系统中常用的技术工具,旨在提高工作效率、降低人工操作成本并优化业务流程。
本文将对国内外主流的工作流引擎和规则引擎进行分析。
工作流引擎是一种用于管理和自动化业务流程的软件工具。
它定义、执行和监控各种业务流程,能够自动化工作流程、加强协作和控制、提高工作效率。
国内外主流的工作流引擎有:1. Activiti:Activiti是一个轻量级的工作流引擎,基于Java语言开发,采用BPMN2.0标准,具有可扩展性和灵活性,可以与各种企业应用集成。
Activiti提供了很多常用的工作流功能,如用户任务管理、调度执行、流程设计和监控等。
2. jBPM:jBPM是Red Hat公司开发的一个开源的工作流引擎,用于构建、执行和管理业务流程。
它使用BPMN2.0规范,支持业务流程建模、流程定义和流程执行。
jBPM可以与其他系统集成,并提供了各种工具和API来管理和监控工作流程。
3. Camunda:Camunda是一个基于Java的开源工作流引擎,也采用BPMN2.0标准。
Camunda具有灵活的工作流程定义、任务分配、任务执行和流程监控功能,可以与各种技术和系统集成。
Camunda还提供了Web模型器和集成开发环境,简化了工作流程的设计和开发过程。
规则引擎是一种用于管理和执行复杂业务规则的软件工具。
它可以将业务规则从应用代码中分离出来,使得规则的维护和修改更加灵活和高效。
国内外主流的规则引擎有:1. Drools:Drools是一个基于Java的开源规则引擎,提供了业务规则管理、规则引擎和决策表等功能。
Drools使用基于规则的编程模型,将业务规则和应用代码分离开来,并提供了灵活的规则引擎和规则语言,可以实现复杂的规则逻辑。
2. Jess:Jess是一个基于Java的规则引擎,也是一个专门用于开发专家系统的语言。
Jess提供了强大的推理和规则匹配功能,支持定义和执行各种复杂的业务规则。
temporal 工作流详解

temporal 工作流详解摘要:一、前言二、Temporal 工作流的定义与特点三、Temporal 工作流的组成部分1.事件驱动2.状态管理3.定时器四、Temporal 工作流的执行流程1.事件触发2.状态转移3.定时器触发五、Temporal 工作流的实际应用1.业务流程自动化2.任务调度与协同3.物联网与边缘计算六、Temporal 工作流的优缺点分析1.优点1.高度灵活性2.可扩展性3.易于维护2.缺点1.学习成本较高2.资源消耗较大七、结论正文:一、前言随着科技的飞速发展,越来越多的企业和组织开始寻求更高效、灵活的工作流程以应对不断变化的市场环境。
在此背景下,Temporal 工作流应运而生,它结合了事件驱动、状态管理和定时器等技术,为企业提供了一种全新的工作流解决方案。
本文将对Temporal 工作流进行详细解读,以帮助读者更好地了解这一技术。
二、Temporal 工作流的定义与特点Temporal 工作流是一种基于时间维度的工作流模型,它通过事件驱动、状态管理和定时器等技术,实现工作流的自动化执行。
其特点主要包括高度灵活性、可扩展性和易于维护等。
三、Temporal 工作流的组成部分Temporal 工作流主要由以下三个部分组成:1.事件驱动:事件驱动是Temporal 工作流的核心部分,它通过事件触发器来响应外部事件,从而实现工作流的自动化执行。
2.状态管理:状态管理负责跟踪工作流中各个环节的状态,并根据状态转移规则决定工作流的执行路径。
3.定时器:定时器用于设置工作流执行的时间间隔或超时时间,以确保工作流按照预定的时间顺序执行。
四、Temporal 工作流的执行流程Temporal 工作流的执行流程主要包括以下三个环节:1.事件触发:当外部事件发生时,事件触发器会检测到事件并触发工作流的执行。
2.状态转移:根据当前状态和状态转移规则,状态管理器会将工作流转移到下一个状态。
3.定时器触发:当定时器到期时,会触发工作流的执行,从而确保工作流按照预定的时间顺序执行。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一个具有自适应的动态工作流系统李栋栋,虎嵩林,熊锦华,李厚富(中国科学院计算技术研究所软件室, 北京 100080)E-mail: lidongdong@摘要:业务过程的不可预见性要求工作流系统能够支持各种异常处理,并能动态地适应不断改变的业务环境,而当前工作流技术的主要缺陷是缺少柔韧性和适应性来支持大部分业务过程的动态特性。
本文提出了一个具有自适应的动态工作流系统的模型,介绍了该模型中各个组成部分的功能。
然后给出了本模型中动态性的实现方法,同时针对工作流处理层的自适应性,提出了几种实现方法。
关键词:工作流管理系统;自适应工作流;异常处理;动态修改1. 前言为了更好的支持企业应用,工作流技术还有很多方面有待研究。
其中最主要的一点就是工作流的动态性和自适应性。
电子商务的兴起使得业务过程由单一组织发展到企业间的交互。
这就使得业务过程变得更加复杂和不确定。
目前的工作流产品大多不能较好的对企业在运转过程中出现的一些变化以及异常提供完善的支持。
这些异常情况包括过程的错误执行、模型与实际情况的脱节以及企业的内部及外部环境变化等。
在这种情况下,“自适应性工作流”的概念被提了出来,“自适应性工作流”的一个主要体现就是在工作流的动态修改上,这种修改不仅包括工作流过程的重新设计,而且还包括一些异常的处理,旨在提供一种内在的发现异常、避免异常以及解决异常的机制,从而提高工作流系统的适应性。
这样,开发更加灵活的工作流系统以支持动态的组织过程就成为当前工作流管理研究的重点。
工作流自适应性有下列几种必要性:企业政策、环境的改变。
企业的业务活动和环境都是不断变化的,这就要求现存的业务处理过程不断地进行重新设计和优化,以期获得更好的功效。
有些流程不能预先定义。
某些情况下,在工作流模型定义阶段,不能预先完整地定义工作流的过程逻辑,如:当流程包含的任务、任务执行的顺序、任务需要的资源不确定时。
不可预见事件。
当工作流执行过程中遇到某些外部刺激、用户干涉、或运行时间超出时…,系统如何进行处理,是工作流系统的一个关键问题。
企业技术改进。
技术改进使得软件系统面临着升级或改动,而且还会引发系统的重新配置,例如:软件组件的替换和升级、增加新的组件、改变组件接口等等。
这样,工作流的定义和修改都必须具备灵活性和柔韧性,能够动态地适应这些改进。
目前,国内大多数工作流系统灵活性、柔韧性差,不能很好实现工作流自适应的动态修改,而且对工作流的修改大都是针对工作流定义时的修改,没有提供设定性(ad-hoc)修改的方法。
本文通过研究国内外该领域的研究应用情况,设计实现了一个具有自适应的动态工作流系统。
该系统对工作流管理联盟提出的工作流参考模型进行了扩充,增加了对工作流自适应和动态修改的处理,从而使业务流程能够自适应于其动态环境的改变。
目前,该系统已经在中科院计算所的所务信息平台以及多家企业信息平台上成功使用。
本文首先介绍了当前国内外对自适应动态工作流的研究现状,然后给出了我们所设计的自适应动态工作流系统结构框架,对系统中各个组成部分进行了解释,并详细介绍了系统的自适应性和动态性实现的方法。
2. 国内外相关研究目前,工作流工作者从各个不同的角度对工作流的自适应性和动态性提出了各自的看法和解决方法。
[1]主要讲述工作流修改的方法。
提出了一个完整的、最小的、一致的原语集合,用于工作流的修改;针对正在执行实例如何灵活地适应工作流修改的问题,作者给出了三种策略:Abort,Flush,Progressive。
在[2]中作者把工作流的自适应分为四个层次:域层、处理层、资源层和结构层。
域层的自适应主要是指对正在修改的业务环境的自适应性;处理层主要是指对工作流模式和任务修改的自适应性;资源层主要是对组织结构和数据结构的自适应性;结构层主要是对技术改进和系统重新配置的自适应性。
作者还提到了实现工作流自适应性的两种方法:开放点(Open-point)法和元模型(Meta-model)法。
在[3]中,作者期望通过人工智能中的Reactive control、Planning和Scheduling技术来提高工作流系统的灵活性及适应性。
作者认为Reactive control技术可以实现自适应的过程处理,尤其适合于动态和不可预料环境下适应性的实现;Planning技术可以实现自适应的流程合成和修复;Scheduling技术可以实现自适应的资源和任务分配,无论是初始的分配还是执行过程中的动态分配,都可以采用这种技术来实现。
Edmond和Tilman曾论述过将反演计算与工作流技术相结合以提高其适应能力的思想。
3. 具有自适应性的动态工作流系统结构1.1 3.1 结构、组成适当的工作流模型和灵活的系统结构对自适应性动态工作流的管理是很重要的,我们提出的系统结构是在工作流管理联盟提出的工作流参考模型基础上改进而来,并对其进行了添加和扩展,从而可以实现工作流的动态性和自适应性。
系统结构见图1。
3.2 各个组成部分的说明工作流定义工具:包括对工作流的建模、对任务的定义、以及定义工作流模型中各个任务之间的依赖关系等功能。
提供了柔性的流程执行路径定义功能,用户可以定义在某个活动失败后流程可以继续执行的其他路径。
定义完毕后,相关数据存入相应的工作流数据库表中。
工作流引擎:是工作流执行服务的核心,负责解释过程定义、创建和执行过程实例、以及和工作流应用及客户进行通信。
与一般工作流引擎不同的是,本系统的工作流引擎中增加了自适应处理功能,使工作流处理具有了自适应性。
工作单处理器和用户接口:实现工作流用户和工作流引擎间的通信,允许用户接受工作流引擎发送的信息,并将处理结果返回给工作流引擎。
管理监控工具:监控正在执行流程实例的状态,决定是否需要加快、挂起、恢复、取消某个实例的执行。
也提供已完成流程实例的统计表单,包括总体性能、任务执行历史、每个执行者的工作量等等。
修改决策分析器:支持工作流管理员(WFA)根据工作流数据库中的日志信息、历史信息等进行分析,做出流程修改、调整等的决策。
动态修改工具:修改主要包括修改工作流的定义、修改后实例的协调、和修改后实例的执行。
修改工作流的定义主要用于设置修改规则、设定规则改变后受影响的实例、设置工作流模型的改变。
动态修改的协调主要是协调受修改影响的实例,保证这些实例在新模型下能够正确执行。
修改的执行主要是对过渡阶段工作流实例的处理,这些实例或者按照旧版本继续执行,或者按新版本执行,或者按调整后的流程路径进行执行。
验证工具:验证工作流定义和修改过程中是否有矛盾的流程、对流程各个任务的授权是否一致、是否存在资源分配的冲突等。
动态修改工具和验证工具可以使用户灵活地进行工作流修改的定义,且随时进行检验,保证修改的正确性、一致性。
实例日志:记录工作流中所有的状态变化、事件以及和控制流相关的数据等信息。
历史信息:记录目前正在运行和已经运行完毕的工作流实例的信息,用于向客户提供一些历史相关的数据信息,用于进行数据挖掘、状态查询和以后的评估等等。
版本信息:为了支持业务流程的动态灵活改进、支持工作流的设定性修改,在工作流定义被长久修改后,还必须存储修改前的工作流定义信息。
这样在数据库中就同时存放了工作流定义的多个版本信息,存放多个版本信息的必要性:(a) 某些情况下,需要恢复工作流定义到旧版本。
比如:当发现新定义的版本执行起来比旧版本效果更差时。
(b) 在同一时间内可能需要多个版本定义同时存在。
如:当某些流程实例需要根据一个版本创建,而另外一些实例则需要根据另一个版本创建。
4. 自适应性动态工作流的实现系统中动态修改和适应性实现的图示见图2。
这里只考虑了处理层的自适应性。
现详细介绍一下相关的实现方法。
4.1 动态性的实现方法我们在系统中采用了元模型和开放点相结合的方法来实现工作流的动态修改。
元模型方法:元模型是描述模型的模型。
可以用来描述工作流模型的内在联系,确定工作流模型的结构、组成元素的类型以及建模操作。
定义了一个原语操作集合,用来完成对工作流模型或任务实例的修改操作,以期实现任务的插入、任务的删除、任务的修改以及流转条件的修改。
元模型主要是对工作流模型结构上的修改,但对于某些设定型(ad-hoc)修改来说,使用元模型的方法不太适合,因为ad-hoc型修改发生的几率比较小,属于一种局部性的调整,不需要对整个工作流模型结构进行修改。
开放点方法:在工作流模型中预置特定的点,当实例执行到这些点时,可以进行修改影响任务间依赖关系的参数、为用户提供多重选择、置换和调整资源以及进行资源的动态连接和用户、角色的动态绑定等操作。
与元模型方法相反,开放点方法在处理流程某些结构上的改变时,有一些困难。
我们采用了这两种方法相结合的方法,既可以对流程结构上进行大的改变,又可以进行某些暂时性的局部调整。
4.2 动态修改语言为了更方便地实现流程的动态修改,我们设计了一种动态修改语言,可是使用这种语言直接对流程进行定义、修改。
这种语言包括了一个完整的最小操作集,能够设定任何一种修改,部分操作定义如下: 定义一个新任务Define Task<taskname> withAppTemp<apptempname>,Users<userIDlist>,Roles<roleIDlist>,Resource<nodename.tablename.fieldname,…>其中,apptempname定义任务所对应的应用模板名称。
UserIDlist定义了可以执行该任务的用户列表,RoleIDlist定义了可以执行该任务的角色列表。
Nodename.tablename.fieldname列出该任务所涉及的资源信息,nodename表示相关资源表所在的数据库节点,tablename表示相关资源表,filedname指出该任务所涉及的数据库表中的字段。
插入一个任务到工作流定义中。
Add Task<taskname1> to WF<workflowname> {BEFORE <taskname2>} {with Conditional_expression} 将一个任务插入到工作流中的一个已定义任务后,缺省表示加入到最后。
Conditional_expression指定从任务taskname2流转到任务taskname1时应满足的条件表达式。
删除工作流定义中一个已存在任务DELETE Task<taskname> from WF<workflowname>修改任务属性(如访问的数据、对应的应用、执行人员等)ALTER Task<taskname> Set{AppTemp<apptempname>,}{Users<userIDlist>,}{Roles<roleIDlist>,}{Resource<nodename.tablename.fieldname,…>}修改任务执行的顺序ChangeOrder in WF<workflowname> Set Task<taskname1>BEFORE Task<taskname2>{with Conditional_expression}1.2 4.3 自适应性本文我们主要给出了处理层的几种自适应性的实现方法:任务修改后,正在运行实例的自适应性修改定义后,系统中可能存在多个工作流定义版本,这样对系统中已经创建、正在执行的流程实例来说,根据哪种版本定义来执行,需要由管理员决定后系统来自动执行。