退回(Rollback Work Item)
退回是针对本人(工作流参与者)的“待办任务”的操作,即参与者主动退回待办任务列表中的任务。
为什么要退回?
参与者接受任务后,发现不应由自己办理此任务或上一步的执行者办理有错误等情况后,需要将此接受的任务退回给上一步的执行者重新办理。
退回的原则:执行退回以不影响本活动以及前活动的其他执行者已完成的工作为基本指导原则。
以下是一些不可执行退回的场景,当然这不是绝对的,有的引擎设计是可以支持部分下列场景的退回,所以,仅供参考。
1. 本活动的定义不允许对任务执行退回操作。

2. 本活动非单任务,且有其它任务已经被完成。

3. 本活动非单任务,且有其它任务正在处理中。

4. 本活动为流程定义的第一个活动,即没有可退回的前活动。
5. 前活动为自动活动的情况
6. 前活动为子流程活动的情况
7. 前活动的分支流转策略为“与”且有两个或两个以上的分支(AND-split)
图注:蓝色标识本活动,即待办任务所处的活动。
补充说明
退回原则上应该支持AND-join场景的退回。
如果本活动和前活动之间存在一个或多个路由节点,则路由不会对退回规则产生任何影响,引擎在做退回运算时将跳过所有路由节点。
——以上是我以前在实现工作流引擎系统时的一些设计和指导原则,现在发表出来,供大家参考。不足之处,欢迎拍砖。

转载于:https://blog.51cto.com/huqicto/280660

工作流引擎设计之退回任务定义相关推荐

  1. 开源驰骋工作流引擎设计ccflow已读回执设计

    为什么80%的码农都做不了架构师?>>>    驰骋工作流引擎设计ccflow已读回执 关键字:工作流引擎 已读回执 CCFlow 工作流程引擎已读回执 开源工作流引擎 工作流引擎已 ...

  2. 驰骋工作流引擎设计系列05 启动流程设计

    2019独角兽企业重金招聘Python工程师标准>>> 启动流程设计 第1节. 关键字 驰骋工作流引擎 流程快速开发平台 workflow ccflow jflow 第1节. 启动流 ...

  3. 驰骋工作流引擎设计系列10时效考核规则设计

    第1节. 关键字 驰骋工作流引擎 流程快速开发平台 workflow ccflow jflow 第1节. 时效考核规则设计 考核是流程运行的副产品,业务搬到了计算机上,整个运行轨迹就会被有效的记录下来 ...

  4. 工作流引擎设计之子流程功能实现

    一个成熟的工作流管理系统,其引擎对于子流程功能的支持必然是不可少的,这好比是一门编程语言支持函数那么普遍一样.在当前Workflow, BPM, EAI产品的建模工具中,对于子流程/子过程的应用如家常 ...

  5. 驰骋工作流引擎设计系列07 线性流程节点运动(发送)设计

    第1节. 关键字 驰骋工作流引擎 流程快速开发平台 workflow ccflow jflow 第1节. 线性流程节点运动(发送)设计 发送就是从一个节点发送到另外一个节点,也可以说从一个节点运动到另 ...

  6. 驰骋工作流引擎设计系列04 流程引擎表结构的设计

    第1节. 关键字 驰骋工作流引擎 流程快速开发平台 workflow ccflow jflow 第1节. 流程引擎表结构的设计 流程引擎表是流程引擎控制流程运转的数据存储表,是整个流程引擎的核心表.理 ...

  7. 常用的Java流程引擎API开发调用接口大全-工作流引擎设计

    关键词: 工作流引擎 BPM系统 接口调用 工作流快速开发平台  工作流流设计  业务流程管理   asp.net 开源工作流 一.程序调用开发接口  二.   接口说明 所谓的驰骋工作流引擎的接口, ...

  8. 可扩展的工作流引擎设计

    一. 前言 一提到"流程",各位看官就山呼海啸--神啊救救我吧:报销流程太慢了.流程五花八门.流程太不智能了等等."工作流引擎"就是来解决这些问题的! 小生近日 ...

  9. 我的微型工作流引擎设计

    一.前言 提到工作流很多人就会想到OA,的确OA就是典型的工作流的应用,但是工作流并不仅仅局限于OA,工作流应该算是基础框架软件,主要用于流程的重组和优化,它有广阔的应用领域.在java下有很多优秀的 ...

最新文章

  1. 十四:桥接者模式(发送各类短信案例)
  2. 《大话数据结构》读书笔记
  3. unity, GL.TexCoord or GL.Color must put before GL.Vertex!!!
  4. java日期时间转日期_Java时间和日期指南
  5. 在VMware中装Win server 2012配置Hyper-v
  6. c语言数字游戏程序,C语言实现数字游戏
  7. Django 面试题
  8. 人脸识别活体检测技术讨论:基于背景人脸相对运动的活体判断方法
  9. 上计算机课应该有的表现,计算机应用基础学习过程表现
  10. 【单片机笔记】STM8S003F3使用内部基准电压测量供电电压
  11. CTF中简单杂项小结
  12. 手机app推广渠道的安装来源追踪与归因
  13. 112、工作繁忙,随口胡说;接近胡说,敷衍而已
  14. [精简整理]疏通中国历史脉络——“隋、唐(五代十国)”篇
  15. 计算机网络——链路层知识总结
  16. error: #79: expected a type specifier
  17. CSS imitate Microsoft Classic Menu
  18. react setState 和 this.state区别 以及需要注意
  19. 《仿真使用ARENA软件》
  20. AUTOSAR开发工具DaVinci Configurator里的Modules

热门文章

  1. 多重集表示合json数据_计数DP(划分数,多重集组合数)
  2. 路由器运行python脚本_写个Python脚本来登录小米路由器
  3. python创建mysql数据库_python 怎么创建create mysql的数据库
  4. Django3.0 +Python3 连接mysql遇到django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer
  5. JDBC操作数据库实例
  6. 实验6 触发器的使用
  7. 卡片右上角三角形效果,按钮点击变色
  8. url参数解析 url解析 ?解析成对象
  9. 微信小程序 侧滑效果实现
  10. l2-22(重排链表)