排他网关

排他网关(exclusive gateway)(也叫异或网关 XOR gateway,或者更专业的,基于数据的排他网关 exclusive data-based gateway),用于对流程中的决策建模。当执行到达这个网关时,会按照所有出口顺序流定义的顺序对它们进行计算。选择第一个条件计算为true的顺序流(当没有设置条件时,认为顺序流为true)继续流程。

请注意这里出口顺序流的含义与BPMN 2.0中的一般情况不一样。一般情况下,会选择所有条件计算为true的顺序流,并行执行。而使用排他网关时,只会选择一条顺序流。当多条顺序流的条件都计算为true时,会且仅会选择在XML中最先定义的顺序流继续流程。如果没有可选的顺序流,会抛出异常

并行网关

网关也可以建模流程中的并行执行。在流程模型中引入并行的最简单的网关,就是并行网关(parallel gateway)。它可以将执行分支(fork)为多条路径,也可以合并(join)多条入口路径的执行。

并行网关的功能取决于其入口与出口顺序流:

  • 分支:所有的出口顺序流都并行执行,为每一条顺序流创建一个并行执行。
  • 合并:所有到达并行网关的并行执行都会在网关处等待,直到每一条入口顺序流都到达了有个执行。然后流程经过该合并网关继续。

请注意,如果并行网关同时具有多条入口与出口顺序流,可以同时具有分支与合并的行为。在这种情况下,网关首先合并所有入口顺序流,然后分裂为多条并行执行路径。与其他网关类型有一个重要区别:并行网关不计算条件。如果连接到并行网关的顺序流上定义了条件,会直接忽略该条件。

包容网关

可以把包容网关(inclusive gateway)看做排他网关与并行网关的组合。与排他网关一样,可以在包容网关的出口顺序流上定义条件,包容网关会计算条件。然而主要的区别是,包容网关与并行网关一样,可以同时选择多于一条出口顺序流。

包容网关的功能取决于其入口与出口顺序流:

  • 分支:流程会计算所有出口顺序流的条件。对于每一条计算为true的顺序流,流程都会创建一个并行执行。
  • 合并:所有到达包容网关的并行执行,都会在网关处等待。直到每一条具有流程标志(process token)的入口顺序流,都有一个执行到达。这是与并行网关的重要区别。换句话说,包容网关只会等待可以被执行的入口顺序流。在合并后,流程穿过合并并行网关继续。

请注意,如果包容网关同时具有多条入口与出口顺序流,可以同时具有分支与合并的行为。在这种情况下,网关首先合并所有具有流程标志的入口顺序流,然后为每一个条件计算为true的出口顺序流分裂出并行执行路径。
包容网关的汇聚行为比并行网关更复杂。所有到达包容网关的并行执行,都会在网关等待,直到所有“可以到达”包容网关的执行都“到达”包容网关。 判断方法为:计算当前流程实例中的所有执行,检查从其位置是否有一条到达包容网关的路径(忽略顺序流上的任何条件)。如果存在这样的执行(可到达但尚未到达),则不会触发包容网关的汇聚行为。

其实就是可以在多条线路上加上条件,也可以有些不加上条件,不加条件的就一定执行,加了条件的按条件执行,然后合并汇聚这些执行的线路,在往下走。比如一个请假审批,请假超过多少天的要部门主管审批,没超过多少天的要科长审批,但是无论怎样都要人事主管审批(不加条件)。

一个人要花很长时间才能从他所有的错误中吸取全部教训。人们常说凡事都有两面,但股市只有一面,不是多头的一面或空头的一面,而是正确的一面。我将这条基本原则牢记心间所花的时间远远超过学习股票投机游戏中大多数技术层面的东西所需要的时间。

学习记录555@flowable排他网关、并行网关、包容网关相关推荐

  1. 学习记录605@flowable之moveExecutionsToSingleActivityId并行网关或者包容网关回退

    遇到网关的回退场景,记录一下,部分内容是推测的. 流程图 bpmn <?xml version="1.0" encoding="UTF-8"?> & ...

  2. 学习记录557@flowable流程回退与终止

    虽说本文的题目是流程回退和终止,但是其实抽象出来就是流程跳转,可以从某个节点跳转到另一个节点(顺序流下). 流程 <?xml version="1.0" encoding=& ...

  3. 学习记录556@flowable多人会签

    前言 实际业务中的会签,代表一个任务节点由多个人进行审批,可能会衍生出多种情况: 只要一个人审批后,就到下一个节点 全部审批后,才能到下一个节点 审批人数占比多少,就到下一个节点,本案例就选择这个最麻 ...

  4. 学习记录553@flowable候选人机制

    流程 <?xml version="1.0" encoding="UTF-8"?> <definitions xmlns="http ...

  5. 学习记录554@flowable候选人组机制

    候选人比较多的时候就需要用到候选人组了,类似于实际工作中的什么角色或者部门的人审批什么节点. 需要再flowable独有的用户表.用户组表.两者的关联表中同步自己业务系统的数据.act_id_user ...

  6. Flowable进阶学习(六)网关(排他网关、并行网关、包容网关、事件网关)

    文章目录 排他网关 案例: 并行网关 案例: 包容网关 案例: 事件网关 1. 定时事件 1.1 定时器启动事件 案例 网关(gateway)用来控制流程的流向.来实现复杂的审批流程. 网关的分类包括 ...

  7. flowable并行审批_Flowable6.4 – 并行网关和包容网关 | 字痕随行

    这个春节的节奏就是:吃喝睡.吃喝睡,手机都懒的刷了.今天开始提振一下心情,整理一下思路,开始缓慢更新. 这次补完一下之前的一篇<Flowable6.4-排他网关>,简单介绍一下并行网关和包 ...

  8. 包容网关 Inclusive Gateway

    包容网关 Inclusive Gateway 什么是包容网关? 包容网关(Inclusive Gateway)就是并行网关(Parallel Gateway)和排他网关(Exclusive Gatew ...

  9. 【网关】什么是网关、网桥和交换机(集线器、网桥、交换机、路由器、网关大解析)

    2.1 什么是网关? 网关英文名称为Gateway,又称网间连接器.协议转换器. 网关在网络层以上实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连. 网关既可以用于广域网互连,也 ...

最新文章

  1. ROS学习笔记—-- catkin
  2. 使用 xcode 8 构建版本 iTunes Connect 获取不到应用程序的状态的解决办法
  3. 北京44岁程序员失业,感叹:编程估计没戏了,想去卖煎饼果子
  4. linux怎么进入字符命令界面,如何进入CentOS字符界面及窗口模式
  5. 成为Java流大师–第3部分:终端操作
  6. leetcode 1818. 绝对差值和
  7. 20155216 2016-2017-2 《Java程序设计》第三周学习总结
  8. UVa 455 - Periodic Strings
  9. android 傅里叶变换_Android连载38访问联系人
  10. 毕设题目:Matlab语音识别
  11. python写一个定时关机软件
  12. GitHub高赞,一款足以取代迅雷的开源下载工具
  13. 【15章Java 8 新特性】最全Java 8新特性 详解
  14. 【万字详解】cJSON解析
  15. 3dmax2016卸载/安装失败/如何彻底卸载清除干净3dmax2016注册表和文件的方法
  16. Linux编写脚本nsum求和,shell脚本学习与总结
  17. 《C++沉思录》学习笔记1
  18. 【将图片格式转换为调色盘模式——语义分割】
  19. zsh : corrupt history file ~/.zsh_history
  20. 通达OA二次开发手册

热门文章

  1. 2020 腾讯广告算法大赛初赛总结
  2. Flutter 基础组件之 Text
  3. 禅道软件是干嘛的(一)
  4. 谷歌日历一键删除日程_如何在Google日历中删除新的提醒
  5. 惊魂一夜--有福新闻UfqiNews升级到PHP8
  6. 移动/联通/电信与虚拟运营商资费,谁更省钱
  7. html dom firstchild,DOM Node对象属性firstChild
  8. 遍历TreeView
  9. CTF练习题[MISC]-0和1的故事(二维码生成)
  10. mysql删除多列_MySQL删除单列重复或多列同时重复值并保留一条