博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
驰骋工作流引擎JFlow与activiti的对比之4种包含多实例的模式
阅读量:6501 次
发布时间:2019-06-24

本文共 1298 字,大约阅读时间需要 4 分钟。

  hot3.png

4种包含多实例的模式

  1. 无同步的多实例(MIwithout)

在流程中,一个活动可以激活多个实例,每个实例相互独立,并不需要在后面进行同步。

例子:比如用户购买了N本书,于是后续的支付账单、更新客户可以以本书为单位各自执行。

365c09f63bfa247c0989087cf8c3d908630.jpg

ACTIVITI 中的支持情况:

支持这种模式,但是不允许在后面进行结束动作。

939fdd243e08e07f1187318c37190abdaac.jpg

JFLOW中的支持情况:

分合流与父子流程支持这种模式,分合流上面已经讲过,下面说下父子流程。

第一种情况:发起子流程后,等所有的子流程执行完成后,父流程继续下一步骤或者结束。

第二种情况:发起子流程后,无论子流程是否执行完成,都执行到下一步或者结束。

04b79f1fc1a4c430663f6179620d32a76ed.jpg

父流程:

7baaf56b5792d75a678146ae925146dc455.jpg

  1. 设计时确定的多实例(MIwith  a  Priori  Design  Time  Knoledge)

在流程中,被激活的多个实例需要在某个聚合点聚合,而实例的个数在设计的时候就已经知晓率。

8233f5fb56caf01d51cecd88a6fd187e88f.jpg

ACTIVITI 中的支持情况:

对于设计时已经知道实例数量的,最简单的就是使用多个Task节点来实现多个实例。

JFLOW中的支持情况:

合流节点处理各个子线程的任务比率。

完成率 = 子线程上已经完成的数据/所有子线程数量*100%

该节点对于合流节点与分合流节点有效,当子线程的完成率达到该值的时候,该节点的待办才能显示出来,否则该节点的人员不能处理待办。如果合流节点的处理人能够看到待办,他就可以对该流程进行操作,比如:发送、删除、退回、删除子线程等等。

  1. 运行时确定的多实例(MI with a Priori RunTime Knoledge)

在流程中,被激活的多个实例需要在某个聚合点聚合,而实例的个数在设计的时候并不知道,只有在运行时根据条件来决定需要激活多少个实例。

afb79950130394e7545cc54c091fabbdfd9.jpg

ACTIVITI 中的支持情况:

对于运行时可以知晓实例数量的,可以通过设置JOIN节点的multipliclty来实现。

82463692264802e340819d17472b89641b3.jpg

JFLOW中的支持情况:

同表单分合流配合节点访问规则可以实现这个功能。

cb21d51a1b8a1213e0bf6a235b4563c5385.jpg

  1. 运行时无法确定的多个实例(MI without a Priori RunTime Knoledge)

在流程中,被激活的多个实例需要在某个聚合点聚合,而实例的个数在设计的时候并不知道,该模式与上一个模式的区别就是,在产生的实例执行时或者已经执行完时,仍然有新的实例产生。

例子:比如要采购100台电脑,涉及到多个供应商,但是每个供应商供应多少台电脑是不知道的,因此供应商的数量也是不确定的,但是每次供应商送货来后,就会将所拥有的电脑数量和所需的100台进行比较,来决定是否要下一个供应商进行供应。

 

ACTIVITI 中的支持:与运行时确定的多个实例的实现方式一样。

ecfda4547ceff40998390e5e88c0986b4eb.jpg

JFLOW中的支持:

这种方式属于JFlow的父子流程来实现,开始节点启动一个任务,需要采购100台电脑,需要发起n此的选择供应商采购的子流程,每个子流程完成后,就访问父流程节点信息,进行相关的业务处理(就是是否启动下一个子流程,如果满足100,就不启动子流程了,直接完成父流程的任务,结束主流程.)。

 

转载于:https://my.oschina.net/ccflow/blog/2995242

你可能感兴趣的文章
Deepin学习笔记1
查看>>
Jenkins实践1 之安装
查看>>
Ubuntu下安装Android Studio
查看>>
Active Direcyory之证书颁发机构(CA服务器)升级
查看>>
动态规划解决矩阵连乘问题
查看>>
SharePoint 2007(MOSS) ,WSS ,Project Server 2007 灾难恢复
查看>>
老调重弹:年龄大了,码农何去何从 (长篇技术文学巨著)
查看>>
RHEL6.4 apache搭建WEB网站,安装日志分析工具awstats
查看>>
vue插件
查看>>
Dell EMC unity500使用iSCSI连接Esxi6.7
查看>>
时也,运也,命也
查看>>
javascript的offsetLeft、scrollLeft、offsetTop、scro...
查看>>
day06-基础语法了解
查看>>
PHP单态设计模式应用实例
查看>>
ORACEL学习--分析函数汇总
查看>>
windows Server 2016 网络服务 (一)
查看>>
vs打包winform应用程序
查看>>
《摔跤吧,爸爸》观后感
查看>>
干货:用技术分析致敬老牌开源社群系统—ThinkSNS
查看>>
jq表单
查看>>