为了更好的说明activiti 与jflow的两款工作流引擎的特点与区别,我们按照如下几个方面做一次全面的、客观的对比。

首先activiti是国外的一款开源的工作流程引擎,在国际上影响比较深远与广泛,解决了BPM领域的很多问题,值得我们赞赏。他的boss是jbpm的前身。

JFlow是济南驰骋公司开放的一款工作流程引擎,JFlow的前身是CCFlow,ccflow是国内开源的一款老牌的工作流程引擎,承担过很多大型项目,适应于复杂的国内应用环境。

Activity 相对简单,仅有流程引擎,没有表单引擎。在BPM的研究领域, 很多的学者,专家都是把流程引擎与表单引擎分开的,对于这个观点我们并不很赞同。实现功能需要大量的代码开发。

JFlow是JFlow流程引擎+CCForm的表单引擎的有机结合,内容相对复杂,配置程度较高,实施周期短,上手快。

工作流程引擎 - 对比

以国外流行的工作流activiti的模式与当今中国开源的JFlow(ccflow和jflow的总称)流程引擎对照。以便让各位能够了解到中国国情的工作流引擎与国际流行的设计规则的差别、不同、与优缺点。

国外工作流比较通用的就是满足21种流程模式的支持。

5种基本控制流模式的对比

  1. 顺序流(Sequence)

ACTIVITI :

就是按照流程设计的步骤,一步步的向下运行,这样的模式下每个节点有先后顺序,就是每个节点只有一个节点是活动的。

例子:比如申请后进行审批,一步一步的进行任务。

JFLOW:

顺序流,也叫做没有分支的线性流程,流程一般在最后一个节点自动结束,并标识流程完成。也可以通过设置节点条件,自动结束流程。

JFlow的特点是:允许用户自己定义流程完成条件,在任何一个节点运行过程中,JFlow都要去检查条件设置,如果满足这个条件流程就自动结束。

  1. 并行分叉(ParallelSplit)

ACTIVITI :

流程在某个活动(节点、步骤)之后产生多个分支,并且并行流转。

例子:比如在淘宝买了个商品需要×××,那么卖家就需要一边准备商品发货,一边准备发票邮寄。

JFLOW:

异表单分合流的分流动作,一个动作结束后(分流节点),并行启动多个分支,每个分支都要向下运动。

在cc中,可以根据方向条件设置来决定是否启用某一个分支。

  1. 同步(Synchronization)

ACTIVITI :

在流程中的某个点,多个并行的子流程或者活动,合并成一个流程。流程必须等待所有的分支都执行完成后,才能激活后续活动。

例子:比如商家在收到“发票”和“商品”后,才能确认收货。

JFLOW:

异表单分合流中的合流动作,可以指定一定的完成率,才能到达合流节点。对于未完成的子线程,可以进行删除操作。

  1. 独占式选择(Exclusive Choice)

ACTIVITI :

一个活动完成后,只能在后面的多个分支中激活一个。

例子:比如用户下单后,可以有N种付款方式,但是只能选择其中一种。

JFLOW:

具有分支的线性流程。可以由方向条件控制,也可以由用户手动控制。

  1. 简单聚合(Simple Merge)

ACTIVITI :

在流程中有2个以上的分支中某一个点处被合并成一个分支,只要分支中的一条完成,即可继续进行,而其他分支自动结束。

例子:比如发货在建设银行和中国银行等支付方式中的一个完成后才被激活。

JFLOW:

即可以为带有分支的线性流程,又可以是异表单的合流动作。在线性流程中,在某一处选择需要执行的节点并完成执行后,后面的节点一步一步的执行,没有被选择的节点不执行。

在异表单中,可以通过条件设置需要执行的节点,其他节点不执行,在合流点完成汇总并激活。或者,通过设置完成率来激活合流点的操作。

区分到底是否是分合流,通过查看节点类型。

  1. 基本控制流程模式,在ACTIVITI 中与JFLOW中的综合实现。

ACTIVITI :

JFLOW:

转载于:https://blog.51cto.com/14150825/2337927

工作流引擎JFlow与activiti 对比分析(一)5种基本控制流模式的对比相关推荐

  1. 驰骋工作流引擎JFlow与activiti的对比之5种基本控制流模式的对比

    前言 为了更好的说明activiti 与jflow的两款工作流引擎的特点与区别,我们按照如下几个方面做一次全面的.客观的对比. 首先activiti是国外的一款开源的工作流程引擎,在国际上影响比较深远 ...

  2. 驰骋工作流引擎JFlow与activiti的对比 -总结

    共同点: 1. 嵌入式的工作流引擎,降低集群复杂性. 2. 严格而灵活的流程版本控制 3. 支持多种数据库 4. 支持多种流程设计模式 5. 成熟度高的开源工作流,具有可靠的稳定性和性能. 区别: 1 ...

  3. 驰骋工作流引擎JFlow与activiti的对比之4种包含多实例的模式

    为什么80%的码农都做不了架构师?>>>    4种包含多实例的模式 无同步的多实例(MIwithout) 在流程中,一个活动可以激活多个实例,每个实例相互独立,并不需要在后面进行同 ...

  4. Activiti工作流引擎使用(Activiti的乱码问题)

    Activiti工作流引擎使用(Activiti的乱码问题) 1.简单介工作流引擎与Activiti 对于工作流引擎的解释请参考百度百科:工作流引擎 Activiti与JBPM5?对于Activiti ...

  5. java 流程引擎_java工作流引擎Jflow父子流程demo

    关键字 驰骋工作流引擎 流程快速开发平台 workflow ccflow jflow  .net开源工作流 2.定义 一个流程A的一个节点,因工作的需要调起另外的流程B,A就叫父流程,B就叫子流程.如 ...

  6. java工作流引擎Jflow流程事件和流程节点事件设置

    流程实例的引入和设置 关键词: 开源工作流引擎  Java工作流开发  .net开源工作流引擎   流程事件 工作流节点事件 应用场景: 在一些复杂的业务逻辑流程中需要在某个节点或者是流程结束后做一些 ...

  7. Java开源工作流引擎Jflow表单方案系列讲解一

    关键字: 驰骋工作流程快速开发平台 工作流程管理系统 工作流引擎 asp.net工作流引擎 java工作流引擎. 开发者表单  拖拽式表单  表单方案介绍 适配数据库: oralce,mysql,sq ...

  8. flow工作流java_Java工作流引擎jflow对流程的结束大总结

    关键字:工作流程管理系统 工作流引擎 asp.net工作流引擎 java工作流引擎. 表单引擎 工作流功能说明  工作流设计 工作流快速开发平台   业务流程管理   bpm工作流系统  java工作 ...

  9. 实信号和复信号频谱对比分析(双边带信号和单边带信号对比分析)

    在实际工作中发现实信号的频谱谱线有两根(正负谱线),而复信号频谱谱线只有一根,针对这个问题进行了理论分析. 单边带信号可以提高频谱占用率. 1.傅里叶变换概念理解 傅里叶变换公式如下所示: 使用正弦信 ...

最新文章

  1. [转载].NET中高效能的socket编程
  2. ipython/jupyter notebook修改文件存储路径和浏览器
  3. 面试:a==1 a==2 a==3 是 true 还是 false?
  4. Scala基础 - 下划线使用指南
  5. mysql语言的简介_谁能帮我介绍一下 MY SQL ?
  6. java list 转 map_Java8 快速实现List转map 、分组、过滤等操作
  7. 人工智能tensorflow图的可视化
  8. 通信控件MSComm使用详解
  9. Java最佳实践–高性能序列化
  10. Sql server 行列转换
  11. 大数据系列cdh版本下载
  12. PMP-专家判断、类比估算、参数估算、三点估算、自下而上估算、独立估算的区别
  13. 『vulnhub系列』dpwwn-1—Linux计划任务提权
  14. 文献阅读: 基因组选择技术在农业动物育种中的应用
  15. 20位大厂面试官推荐的Java面试八股文
  16. 深度学习100问之深入理解Vanishing/Exploding Gradient(梯度消失/爆炸)
  17. SRAM、PSRAM、SPI FLASH初步认识
  18. 阿里云返回的视频截图问题
  19. 公众号文章怎么制作?
  20. 10 个超好用的免费开源项目管理软件

热门文章

  1. 先定一个小目标,自己封装个ajax
  2. 这样的例子能说明if,else的效率比单单的if组合高
  3. 从零开始学ios开发(十一):Tab Bars和Pickers
  4. LNMP和LAMP的编译安装
  5. 2011下半年案例分析题的解答思路_信息系统项目管理师考试
  6. 百度API地图 ,房产频道的标注方法
  7. 北京的CCIE考试面试变成中文了
  8. 本地事务和分布式事务工作实践
  9. 2018.10.25-dtoj-2903-蛋糕(cake)
  10. Saas 平台,多域名,泛域名.如何做分站点的统计之解决方案