驰骋工作流引擎JFlow与activiti的对比之5种基本控制流模式的对比
前言
为了更好的说明activiti 与jflow的两款工作流引擎的特点与区别,我们按照如下几个方面做一次全面的、客观的对比。
首先activiti是国外的一款开源的工作流程引擎,在国际上影响比较深远与广泛,解决了BPM领域的很多问题,值得我们赞赏。他的boss是jbpm的前身。
JFlow是济南驰骋公司开放的一款工作流程引擎,JFlow的前身是CCFlow,ccflow是国内开源的一款老牌的工作流程引擎,承担过很多大型项目,适应于复杂的国内应用环境。
Activity 相对简单,仅有流程引擎,没有表单引擎。在BPM的研究领域, 很多的学者,专家都是把流程引擎与表单引擎分开的,对于这个观点我们并不很赞同。实现功能需要大量的代码开发。
JFlow是JFlow流程引擎+CCForm的表单引擎的有机结合,内容相对复杂,配置程度较高,实施周期短,上手快。
工作流程引擎 - 对比
以国外流行的工作流activiti的模式与当今中国开源的JFlow(ccflow和jflow的总称)流程引擎对照。以便让各位能够了解到中国国情的工作流引擎与国际流行的设计规则的差别、不同、与优缺点。
国外工作流比较通用的就是满足21种流程模式的支持。
5种基本控制流模式的对比
- 顺序流(Sequence)
ACTIVITI :
就是按照流程设计的步骤,一步步的向下运行,这样的模式下每个节点有先后顺序,就是每个节点只有一个节点是活动的。
例子:比如申请后进行审批,一步一步的进行任务。
JFLOW:
顺序流,也叫做没有分支的线性流程,流程一般在最后一个节点自动结束,并标识流程完成。也可以通过设置节点条件,自动结束流程。
JFlow的特点是:允许用户自己定义流程完成条件,在任何一个节点运行过程中,JFlow都要去检查条件设置,如果满足这个条件流程就自动结束。
2.并行分叉(ParallelSplit)
ACTIVITI :
流程在某个活动(节点、步骤)之后产生多个分支,并且并行流转。
例子:比如在淘宝买了个商品需要开发票,那么卖家就需要一边准备商品发货,一边准备发票邮寄。
JFLOW:
异表单分合流的分流动作,一个动作结束后(分流节点),并行启动多个分支,每个分支都要向下运动。
在cc中,可以根据方向条件设置来决定是否启用某一个分支。
- 同步(Synchronization)
ACTIVITI :
在流程中的某个点,多个并行的子流程或者活动,合并成一个流程。流程必须等待所有的分支都执行完成后,才能激活后续活动。
例子:比如商家在收到“发票”和“商品”后,才能确认收货。
JFLOW:
异表单分合流中的合流动作,可以指定一定的完成率,才能到达合流节点。对于未完成的子线程,可以进行删除操作。
- 独占式选择(Exclusive Choice)
ACTIVITI :
一个活动完成后,只能在后面的多个分支中激活一个。
例子:比如用户下单后,可以有N种付款方式,但是只能选择其中一种。
JFLOW:
具有分支的线性流程。可以由方向条件控制,也可以由用户手动控制。
- 简单聚合(Simple Merge)
ACTIVITI :
在流程中有2个以上的分支中某一个点处被合并成一个分支,只要分支中的一条完成,即可继续进行,而其他分支自动结束。
例子:比如发货在建设银行和中国银行等支付方式中的一个完成后才被激活。
JFLOW:
即可以为带有分支的线性流程,又可以是异表单的合流动作。在线性流程中,在某一处选择需要执行的节点并完成执行后,后面的节点一步一步的执行,没有被选择的节点不执行。
在异表单中,可以通过条件设置需要执行的节点,其他节点不执行,在合流点完成汇总并激活。或者,通过设置完成率来激活合流点的操作。
区分到底是否是分合流,通过查看节点类型。
- 基本控制流程模式,在ACTIVITI 中与JFLOW中的综合实现。
ACTIVITI :
JFLOW:
驰骋工作流引擎JFlow与activiti的对比之5种基本控制流模式的对比相关推荐
- 驰骋工作流引擎JFlow与activiti的对比 -总结
共同点: 1. 嵌入式的工作流引擎,降低集群复杂性. 2. 严格而灵活的流程版本控制 3. 支持多种数据库 4. 支持多种流程设计模式 5. 成熟度高的开源工作流,具有可靠的稳定性和性能. 区别: 1 ...
- 驰骋工作流引擎JFlow与activiti的对比之4种包含多实例的模式
为什么80%的码农都做不了架构师?>>> 4种包含多实例的模式 无同步的多实例(MIwithout) 在流程中,一个活动可以激活多个实例,每个实例相互独立,并不需要在后面进行同 ...
- 工作流引擎JFlow与activiti 对比分析(一)5种基本控制流模式的对比
为了更好的说明activiti 与jflow的两款工作流引擎的特点与区别,我们按照如下几个方面做一次全面的.客观的对比. 首先activiti是国外的一款开源的工作流程引擎,在国际上影响比较深远与广泛 ...
- 驰骋工作流引擎设计系列07 线性流程节点运动(发送)设计
第1节. 关键字 驰骋工作流引擎 流程快速开发平台 workflow ccflow jflow 第1节. 线性流程节点运动(发送)设计 发送就是从一个节点发送到另外一个节点,也可以说从一个节点运动到另 ...
- 驰骋工作流引擎设计系列04 流程引擎表结构的设计
第1节. 关键字 驰骋工作流引擎 流程快速开发平台 workflow ccflow jflow 第1节. 流程引擎表结构的设计 流程引擎表是流程引擎控制流程运转的数据存储表,是整个流程引擎的核心表.理 ...
- 驰骋工作流引擎设计系列05 启动流程设计
2019独角兽企业重金招聘Python工程师标准>>> 启动流程设计 第1节. 关键字 驰骋工作流引擎 流程快速开发平台 workflow ccflow jflow 第1节. 启动流 ...
- 驰骋工作流引擎设计系列10时效考核规则设计
第1节. 关键字 驰骋工作流引擎 流程快速开发平台 workflow ccflow jflow 第1节. 时效考核规则设计 考核是流程运行的副产品,业务搬到了计算机上,整个运行轨迹就会被有效的记录下来 ...
- 驰骋工作流引擎表单设计控件-字段类控件(2)
2019独角兽企业重金招聘Python工程师标准>>> Technorati Tags: 开源工作流引擎, 驰骋.net工作流引擎, 开源表单引擎, ccform, ccflow, ...
- 驰骋工作流引擎2016年第1次组团培训日程
驰骋工作流引擎2016年第1次组团培训日程 各位驰骋工作流引擎爱好者: 应各位驰骋工作流引擎爱好者的要求,公司在2016年2月29号至3月4号举行一次培训,由流程引擎总设计师周朋先生亲自授课. 日程安 ...
最新文章
- sql 按时间二段排序
- web框架-Struts开始
- OpenCV中基本数据结构(4)_Rect
- React Native 与 Flutter 的跨平台之战!
- 关于GDAL计算图像坐标的几个问题
- 纹理特征描述之灰度差分统计特征(平均值 对比度 熵) 计算和比较两幅纹理图像的灰度差分统计特征 matlab代码实现
- [转载] windows下python包的导入方法
- DDC传输协议以及显示器EDID结构介绍
- UE4 粒子特效基础学习 (03-制作上升光线特效)
- Basler相机实时图像显示--Qt代码
- Constraints --- transition(clock transition、input transition、max transition)
- ARCore从零到一 (7) 用图片识别做AR卡片和书籍
- mne进行ica分析
- 前端使用vux中md5加密方法
- python 素数最快_列出N以下所有素数的最快方法
- Centos测试作死命令rm -rf /
- 京东联盟自动转链php,求京东联盟php自动转链源码 请 ZenHaBit 继续帮忙
- 计算机在职英语,我是社会在职人员,能考什么样的英语?
- 局域网内共享vmware虚拟机
- 信号量机制中的down和up函数
热门文章
- 2019年JavaScript开发者必备的10个vscode插件
- 潭州课堂25班:Ph201805201 django 项目 第四十三课 后台 用户管理前后功能实现 (课堂笔记)...
- 【机器学习并行计算】1 MapReduce
- android盒子虚拟键,Android虚拟键(NavigationBar)适配
- Dapp距实现完全“去中心化”还有多远?
- 如何用STATA进行chowtest
- 【Android】chrome xxx is 32-bit instead of 64-bit
- access根据所属院系修改学号_国家二级ACCESS机试(操作题)模拟试卷437
- 4k视频编辑台式计算机,字节跳动剪辑工具 “剪映”PC 版体验:支持 4K 视频分辨率...
- clion中使用gdal的辛酸历程