驰骋工作流引擎JFlow与activiti的对比之4种高级分支同步模式

  1. 多重选择(Multiple Choice)

在流程中,当一个活动完成后,有多个分支进行选择,可以选择执行其中的一个或者N个分支。

例子:比如去世博园玩,在门口检票后,可以选择A-E个片区中的N个进行观光。

ACTIVITI 中的支持情况:

1.JPDL方式不支持先定义好这里的几种,然后根据条件去筛选其中的几种进行,但是ACTIVITI.4之后支持一种叫foreach的节点,允许我们在运行时指定几种特定的任务,比如上面例子中的片区,我们可以在选定后再去循环。

2.BPMN方式支持根据条件执行多个子分支。

JFLOW中的支持情况:

1.通过定义流程为异表单分合流来实现。

a通过条件控制发起子线程数量。设置方向条件的时候,可以根据需要,选择不通的条件设置,比如:岗位条件、部门条件、表单条件等。

b通过节点树形中设置手工选择方向控制,可以控制发起子线程的发起数量。

2.通过父子流程也可以实现。

  1. 同步聚合(Synchronizing Merge)

在流程中的某个聚合点,流程会等待所有的分支到来,才能激活后续的活动。如果分支只有一个,那么就变成简单聚合模式;如果存在2个以上分支,那就是同步模式。

这种模式的关键在于能够动态的根据分支的多少进行聚合。

ACTIVITI 中的支持情况:

可以通过设置ACTIVITI 的join节点属性multiplicity的值为某个变量,并在程序中动态的修改变量的值来制定分支的数量。

JFLOW中的支持情况:

分合流中合流操作。无论分支有多少,都可以进行汇总,并且可以对汇总的子线程进行删除操作、完成率控制等。

JFLOW的多重选择与同步聚合实例图:

结束为聚合点,中间的为分支。

  1. 多重聚合(Multiple Merge)

在流程中的多个分支,都可以激活后续的活动,也就是会产生多个实例。

例子:游客观光完N个片区之后,每个片区各自的系统可以对游客在自己片区的信息进行存储。

ACTIVITI 与JFLOW的支持请参考 同步聚合。

  1. 鉴别器(Discriminator)

在流程的某个聚合点,N个分支的第一个分支到达后,就立刻激活后续活动;与此同时,流程仍然要等待其余的分支完成并忽略完成。

注意:在其余分支未全部完成前,第一个到达的分支所激活的后续节点是无法执行的。

例子:个人申请提交后,并行提交给第一导师审批、第二导师审批、第三导师审批,他们中只要有一个完成了,那么就可以提交给学院审批。

N-out-of-M鉴别器模式:

跟鉴别器模式一样的,只是这种模式是N个到达后,激活后续节点,而剩下的M-N个节点未完成前,新激活的后续节点一样无法被执行。

ACTIVITI 中的支持情况:

没有直接支持这种模式,但是通过自定义节点,应该是可以处理这种模式的。

JFLOW中的支持情况:

有两个属性的控制,可以实现功能,就是上面所说的子线程完成路和子线程删除规则。

第1个:子线程完成率。 该规则可以决定是否可见

第2个:子线程删除规则。该规则决定那些子线程可以被删除以及他们的删除方式。

原文地址:https://www.cnblogs.com/mengjuan/p/10124284.html

时间: 2024-10-31 12:22:23

驰骋工作流引擎JFlow与activiti的对比之4种高级分支同步模式的相关文章

驰骋工作流引擎-地图定位控件

Technorati Tags: 驰骋工作流引擎 .工作流 .CCBPM JFLOW CCFLOW.手机表单. 地图定位控件 关键词:驰骋工作流引擎 工作流 CCBPM JFLOW CCFLOW手机表单 地图定位控件 驰骋工作流引擎开源软件,为适应在手机端的应用,现开发了地图定位控件.该控件可嵌入到表单中,在系统人员进行待办信息的处理时获取当前所处位置信息. 地图定位控件位于驰骋工作流表单设计器的工具栏位置.如图所示: 通过手机微信端和钉钉客户端的访问,可展示的效果如下.

驰骋工作流引擎简介

驰骋工作流引擎是国内首屈一指的开源软件,目前在国内市场中占有很大市场.自发展之初驰骋工作流引擎就一直以服务社会为原则,将底层核心代码毫无保留的开放给合作伙伴和开源爱好者等热爱工作流的各种群体.驰骋工作流引擎在十多年的发展过程中,通过和国内的政府机关.企事业单位等大型机关以及公司等的合作,不断完善自身业务处理能力和流程的适应性,每一步的发展历程都为今日的辉煌成果奠定了根基. 驰骋工作流研发的一系列开源软件如下: CCFLOW为驰骋工作流引擎的原身,在此基础上我们扩展系列产品线.CCOA为办公自动化

驰骋工作流引擎-表单样本展示

系统全局变量的引用 在系统中有很多的地方需要用到表达式的地方,这些表达式就需要参数与变量,这些参数是以@+变量名. 我们把参数与变量分为全局变量,字段变量. 全局变量: Technorati Tags: 关键字: 开源工作流引擎,驰骋.net工作流引擎,开源表单引擎,ccform,ccflow,jflow,ccbpm,明细表 操作人员登陆系统后就有如下全局变量. @WebUser.No  当前操作员编号 @WebUser.Name 当前操作员名称 @WebUser.FK_Dept 当前操作员部门

关于开源驰骋工作流引擎ccbpm对bpmn2.0的支持

各位ccbpmer : Ccbpm将要支持bpmn2.0了. 我们会保留现在的ccbpm设计模式,也支持bpmn2.0的规范,让ccbpm与国际接轨.包括.net版本ccflow与java版本jflow.在新版本中,我们将要支持导出导入两种格式的流程模版文件.也就是说,只要你画的流程符合bpmn2.0的规范,也可以导入到ccflow或者jflow工作流引擎中,支持bpmn2.0的画图工具很多,例如:viso,rose. 什么是bpmn2.0? 业务流程模型注解(Business Process 

驰骋工作流引擎设计系列02

流程实例的生成设计 第1节. 关键字 驰骋工作流引擎 流程快速开发平台 workflow ccflow jflow 第2节. 关于WorkID的设计 workid也叫流程实例id, 理解清楚workid的整个过程有助于理解如何获得数据,以及相关流程引擎表,业务数据表的产生变化的过程. 第3节. 概要说明 工作流程引擎的WorkID,也叫流程实例的ID,他是一个Int64类型的,自动增长的数据类型,经过严格的测算,一般应用不会枯竭. 一个workid可会贯穿整个流程的生命周期,从workid创建开

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

第1节. 关键字 驰骋工作流引擎 流程快速开发平台 workflow ccflow jflow 第1节. 流程引擎表结构的设计 流程引擎表是流程引擎控制流程运转的数据存储表,是整个流程引擎的核心表.理解表结构,掌握状态字段,相关字段变化的规律,就掌握的整个流程引擎运转的规律了. 1.1.1: 流程引擎表的作用 流程引擎表,是用来存储流程运行中信息的表. 流程在运行过程中,需要把中间数据写入到该表中. 一个流程启动后,就创建一个workid,就在流程引擎注册表里注册一条数据,有一个字段WFStat

驰骋工作流引擎设计系列06 保存草稿设计

第1节. 关键字 驰骋工作流引擎 流程快速开发平台 workflow ccflow jflow 第1节. ccflow保存与保存草稿设计 保存,就是用户点击保存所要执行的工作,在讲解这个概念之前,我们要了解什么是草稿规则. 1.1.1:ccflow 关于草稿规则 定义:流程发起工作做了一部分,就关闭了下次处理,对这件工作我们就称为草稿. 应用背景:草稿也是常用功能之一,它是针对于,开始节点的表单才有意义.它类似于我们的邮件草稿,当您发起一个工作后,录入了一些数据,有与其他的原因,需要暂停该工作,

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

第1节. 关键字 驰骋工作流引擎 流程快速开发平台 workflow ccflow jflow 第1节. 时效考核规则设计 考核是流程运行的副产品,业务搬到了计算机上,整个运行轨迹就会被有效的记录下来.CCBPM的考核分为时效考核.质量考核.时效考核是对工作及时程度的一种考核,而质量考核是一个节点对上一个节点工作完成好坏的一个考核. 1.1.1: 时效考核的系统配置 系统配置分为工作日信息设置,节假日信息设置. 上下班&午休时间配置,该设置在全局变量里:JFlow的配置: CCFlow的配置:

驰骋工作流引擎-总体介绍

关键字:驰骋工作流引擎,开源工作流,CCFLOW,CCBPM,流程引擎,流程解析服务器,表单引擎,表单解析服务器,.NET工作流,源代码 产品名称: 驰骋.net工作流程引擎. 英文名称: chicheng workflow engine 简称: CCFlow版本: 6.0.0 开发历史: 2003-2016年. 性质: 完全开源软件 许可协议: GPL URL: http://www.gnu.org/licenses/gpl.html 官方网站: http://ccflow.org 源代码: