《Activiti/Flowable 深入BPM工作流》---工作流中的网关有哪些?

 

《Activiti/Flowable  深入BPM工作流》---工作流中的网关有哪些?

 

 

一. 问题:

   1. 网关分为哪几类?

    2. 什么是排他网关?

    3. 什么是并行网关?

    4. 什么是包含网关?

 

 

二. 详情

问题1. 网关分为哪几类?

解答: 

 (1). 排他网关

 (2). 并行网关

 (3). 包含网关

 

问题2:  什么是排他网关?

解答:  排他网关也交异或网关或交基于数据的排他网关, 主要是用在流程中实现决策.

当流程执行到这个网关,所有分支都会判断条件是否为true,如果true则执行分支.

注意: 排他网关只会选择一个为true的分支执行(即使两个分支都weitrue,排他网关也只会选择一条分支去执行.)

 

排他网关图标:

《Activiti/Flowable 深入BPM工作流》---工作流中的网关有哪些?_第1张图片

 

使用排他网关分支走向如图:

《Activiti/Flowable 深入BPM工作流》---工作流中的网关有哪些?_第2张图片

 

问题3: 什么是并行网关?

并行网关允许将流程分成多条分支, 也可以把多条分支汇聚到一起,并行网关的功能是进入和外出顺序流的.

fork分支:

   并行后的所有外出顺序流,为每一个顺序流都创建一个并发分支.

join汇聚:

  所有到达并行网关,在此等待的进入分支,知道所有进入顺序流的分支都到达后,流程就会通过汇聚网关.

 

流程定义图:

《Activiti/Flowable 深入BPM工作流》---工作流中的网关有哪些?_第3张图片

 

 

《Activiti/Flowable 深入BPM工作流》---工作流中的网关有哪些?_第4张图片

特点:当所有分支任务都完成,都到达汇聚结点后,执行下一个流程节点.

 

 

 

   问题 4. 什么是包含网关?

        包含网关可以看做是排他网关和并行网关的结合体。 和排他网关一样,你可以在外出顺序流上

定义条件,包含网关会解析它们。 但是主要的区别是包含网关可以选择多于一条顺序流,这和并行

网关一样。

    包含网关的功能是基于进入和外出顺序流的:

分支:

   所有外出顺序流的条件都会被解析,结果为true 的顺序流会以并行方式继续执行, 会为每个顺序流创建一个分支。

汇聚:

   所有并行分支到达包含网关,会进入等待状态, 直到每个包含流程 token 的进入顺序流的分支都

到达。 这是与并行网关的最大不同。换句话说,包含网关只会等待被选中执行了的进入顺序流。 在

汇聚之后,流程会穿过包含网关继续执行。

 

 

流程定义:

   企业体检流程,公司全体员工进行常规项检查、抽血化验,公司管理层除常规检查和抽血化验还要

进行增加项检查。

《Activiti/Flowable 深入BPM工作流》---工作流中的网关有哪些?_第5张图片

 

《Activiti/Flowable 深入BPM工作流》---工作流中的网关有哪些?_第6张图片

 

注意:通过包含网关的每个分支的连线上设置 condition 条件。

总结:在分支时,需要判断条件, 符合条件的分支,将会执行,符合条件的分支最终才进行汇聚。

 

 

小结:

  排他网关:任务执行之后的分支,经过排他网关分支只有一条有效。

  并行网关:任务执行后,可以多条分支,多条分支总会汇聚,汇聚完成,并行网关结束。

  包含网关:是排他网关和并行网关结合体。

 

 

 

 

 

 

你可能感兴趣的:(activiti7)