为了使用户可以在流程中产生逻辑异常(比如参与者设置为空)后,工作流引擎引入了异常补偿功能,通过这个功能,用户可以对流程产生的逻辑异常进行自定义的补偿。我们通过在流程中引入异常活动来完成客户的逻辑异常补偿自定义化的工作。
异常活动是一种新的活动类型,通过异常活动可以完成流程逻辑异常的补偿。异常活动不需要像其他活动一样设置其活动属性。通过后继转移线来完成异常的用户自定义补偿工作,如下图所示,在报销申请的时候,用户选择领导审批,当他没有选择领导直接提交工作项后,在领导审批的时候因为参与者为空则会产生逻辑异常,这是工作流引擎会激发流程中的异常活动,通过异常活动的后继活动完成用户的异常补偿工作。
如果一个流程会产生多种不同的逻辑异常,我们可以通过异常活动的后继转移线来完成不同异常的补偿工作。我们包含以下几种逻辑异常:
参与者表达式异常:设置参与者有误产生的异常,比如参与者为空。
条件表达式异常:设置转移线表达式错误产生的异常。
后继条件不满足异常:流程流转完成某个活动后,该活动的后继转移线的条件都不满足,会抛出后继条件不满足异常。
调用应用程序出错异常:在调用应用程序出错时会产生该异常。
参与者函数异常:流程运转时,在调用用户的自定义参与者函数时候产生的异常。
下面是异常活动的后继转移线条件的设置面板:
如果需要对不同的活动产生的异常进行异常补偿的话,可以通过激发异常活动的活动定义ID这个变量(ActivityID)来进行区分。比如流程中活动A(活动ID为1)和活动B(活动ID为2)都可能产生异常,但是活动A和活动B要进行不同的异常补偿。这时候可以在异常补偿活动后面设置两条转移线,通过ActivityID这个全局变量来设置转移线条件,异常活动的转移线条件和普通的转移线条件设置方式类似。
分享到:
相关推荐
在工作流引擎中,每个任务或活动都代表一个状态,状态之间的转移则对应于任务的完成或决策的执行。 2. **活动图**:活动图是UML中的一种图表,用于描述工作流程或系统行为。C#可以通过绘制和解析活动图,将图形化...
在基于关系数据库的工作流引擎中,活动首先被分配给预定义的角色,再由角色映射到具体的执行者。这种设计增强了系统的灵活性,使得即使部门或人员职责发生变化时,也不至于对过程定义产生重大影响。 ##### 路由选择...
工作流引擎是企业信息化管理和办公自动化系统中的核心组件之一,它能够根据预定义的规则自动执行任务,提高业务流程的效率和标准化程度。在给定的文件中,提到了工作流引擎的设计与实现,具体基于Java语言进行开发,...
工作流引擎是软件系统中用于自动化业务流程的关键组件,它能够根据预定义的规则和步骤协调应用程序中的任务和活动。在C#编程语言中,工作流引擎提供了强大的工具和技术来设计、执行和管理复杂的业务流程。本文将深入...
工作流引擎的核心功能包括流程建模、任务分配、状态跟踪和异常处理等。 ### 二、工作流引擎的作用与必要性 工作流引擎的作用主要体现在以下几个方面: 1. **标准化流程**:通过定义统一的流程模板,确保所有参与...
工作流管理系统(Workflow Management System, WfMS)是实现工作流的关键,它通常包括工作流引擎,用于解析和执行工作流定义,以及用户界面,供用户交互和管理流程。工作流引擎是工作流系统的心脏,它根据预定义的...
工作流引擎是软件系统中用于自动化业务流程的关键组件,它能根据预定义的工作流规则来协调各个任务的执行。在本文中,我们将深入探讨工作流引擎的开发、工作流概念、参考资料及其在实际应用中的重要性。 首先,理解...
此外,作者可能还讨论了工作流的动态特性,如流程的可变性、异常处理和版本控制,这些都是轻量级工作流引擎设计中的重要考虑因素。 总的来说,这篇论文详尽地探讨了轻量级工作流引擎的设计原则和实现方法,涵盖了从...
在这个"js工作流引擎代码实例"中,我们可以看到一个具体的工作流引擎实现,尽管描述中提到还没有详细研究,但我们可以探讨一下工作流引擎的基本概念和JavaScript实现的关键点。 工作流引擎的核心功能包括: 1. **...
工作流引擎是一种用于自动化业务流程管理的软件系统,它基于预设的流程模型,通过控制信息的流动来协调各种业务活动的执行顺序。《工作流引擎详细设计说明书》旨在为开发人员提供一个全面的指南,详细描述了工作流...
.NET工作流引擎是一种用于构建和执行业务流程的软件框架,主要应用于企业级应用开发中,以支持复杂的业务逻辑和流程自动化。在这个源码包中,我们聚焦于C#语言实现的工作流引擎,它包含了数据库支持以及相关的说明...
工作流和工作流引擎是IT领域中的重要概念,特别是在企业信息化和系统集成中扮演着核心角色。工作流指的是一个组织或系统中按照预定规则自动处理一系列任务或活动的过程。它通常涉及不同人员、部门间的协作,确保业务...
《JFlow驰骋工作流引擎 v4.2详解》 JFlow驰骋工作流引擎是一款高效、灵活且功能强大的工作流管理系统,专为满足企业级业务流程自动化需求而设计。在v4.2版本中,它继续提升了性能,优化了用户体验,并引入了一系列...
工作流引擎需具备流程定义、流程启动、任务分派、状态追踪、异常处理等功能。此外,还应支持流程的动态调整,以适应业务的变化。 3.3 业务流程 业务流程分析是工作流设计的基础,涉及各个部门间的协作,需要明确...
在OA系统中,工作流引擎的设计是核心组成部分,它负责管理和控制工作流程的自动化运行,对于提高业务处理的效率、实现流程标准化和规范化具有决定性作用。 工作流引擎的设计主要涉及以下几个方面的知识点: 1. ...
分布式工作流引擎的设计应具备以下特点:能够在异构网络环境中运行,适应分布式任务处理的要求,具有高效率的工作表现。为实现这些特点,分布式工作流引擎应包含以下关键技术: 1. JavaEE框架:Java企业版(Java EE...
在本项目中,"asp.net基于工作流引擎的系统框架设计开发(源代码+论文)",我们将深入探讨如何利用ASP.NET结合工作流引擎来构建高效、灵活的业务流程管理系统。 工作流引擎是用于自动化业务流程的核心组件,它能够...
6. 可持久化:为了保证在系统异常或长时间运行的情况下,工作流实例的状态不会丢失,工作流引擎通常提供可持久化的能力,将实例状态保存到数据库或其他持久存储中。 7. 监控和审计:工作流引擎还应具备监控和审计...
### 前后端分离项目中引入Activiti工作流引擎 #### 一、概述 在当前的软件开发中,前后端分离已经成为了一种常见的架构模式。这种模式将前端的用户界面与后端的数据处理逻辑分开,提高了开发效率,同时也使得系统...