共同点:

1. 嵌入式的工作流引擎,降低集群复杂性。

2. 严格而灵活的流程版本控制

3. 支持多种数据库

4. 支持多种流程设计模式

5. 成熟度高的开源工作流,具有可靠的稳定性和性能。

区别:

1. 流程定义方式:

ACTIVITI :采用xml的方式,通过拼字符串的方式完成,所以流程定义时的结果不直观、不方便。

JFLOW:拥有自己的流程设计器和表单设计器,画布性质的,所见即所得。包括流程运转条件、方向条件等。

2. 面向使用对象:

ACTIVITI :由于设计方式,只能面向流程开发人员。

JFLOW:既面向流程开发人员又面向业务人员,即使不会编程,也可以进行流程设计。

3. 节点类型:

ACTIVITI :开始节点、结束节点、自动节点、任务节点、fork分支、join联合等多种节点。通过多种节点的配合以及事件等使用,组成流程。

并且,开始节点必须有一个向外的流向。

JFLOW:普通节点、分流节点、子线程节点、合流节点。

开始节点属于普通节点,可以做为一个单节点的流程,没有流向。

结束节点由CC自动判断定义。

CC中的循环是通过方向条件判断,同步、聚合等是由合流节点。

4. 对复杂流程的支持:

ACTIVITI :不适合非常复杂的流程,他只是提供了一套丰富的工作流模型,可以让你去做任何事情,即便违反工作流规范。

JFLOW:通过节点运行规则、方向条件、丰富的事件、运行模式和表单解决方案,完全满足复杂的流程运转,对任何情况,都是可控的。

5. 对历史数据的挖掘:

ACTIVITI :对历史数据的支持不是很好,比如,子任务不能写入历史之类。当然,通过修改代码与BUG,也是可以实现的。

JFLOW:具有轨迹功能,即对某一个流程运行产生数据的保存,流程运行中,可以查看相关节点的处理信息与流程数据,流程结束后也可以。

表单集成

因为activiti 仅仅是一个流程引擎,所以无可比性,这里不做对比。仅仅说明表单引擎与流程引擎在业务系统中的应用。

表单引擎与流程引擎的关系

我们把BPM系统比喻一部汽车,那么车的控制系统,就象流程引擎,比如:刹车、油门、离合、方向灯,就是车的控制系统。车的车厢就是表单,而货物就是数据。

我们研究汽车不能把车的控制系统与车的拉货分开讨论的。

工作流程在运行的过程中,他的主要目的就是协调各个部门,人员,岗位处理业务 流水线化。

流程在运动过程中,需要操纵表单数据的分合,或者需要读取表单数据进行方向转向、流程业务处理的控制工作。

最简单的请假流程-根据表单的请假天数来判断流程的分支

可以方便的可视化的设计方向条件


流程引擎操纵表单引擎的一个案例

比如:在JFlow的分合流里, 如下流程:

项目经理下达任务填写节点:

每个销售人员填写数据节点表单:

数据汇总节点(数据汇总):

JFlow认为一个流程引擎与表单引擎就是

对多种表单的支持

简洁明快的CCForm


Word文档支持


Excel表单的支持


表单树的支持


符合中国特色个性化JFlow功能

如果使用符合中国特色的流程引擎,有些牵强,因为一些规则,在国外也需要用到,只是国外的开发者,不想把他们抽象出来。

在国内的开发者,与实施人员要求个性化定制要求比较高,一起需要基于设置开发,所以这对流程引擎的设计者对业务规则的抽象要求提出更高的水平。

并不能说每个属性设置都属于中国特色,以下以几个功能来说明该问题,为什么activti没有涉及到这些功能,因为他们对流程引擎的发展定位不同。

流程属性

流程属性是控制整个流程的规则的设置。

比如单据编号生成规则,

每个流程属性,都是从实际也规则走

JFlow提供了丰富的流程属性定义规则,让我们开发


多种接受人规则

驰骋工作流引擎JFlow与activiti的对比 -总结的更多相关文章

  1. 驰骋工作流引擎JFlow与activiti的对比之2种取消模式

    1. 取消模式(Cancel Activity) 就是将某个活动取消. JFLOW中,类似与删除流程操作相同. 不能删除:不允许删除. 逻辑删除:仅仅将此流程标记为删除状态,数据仍然存在节点表单与流程 ...

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

    1. 无同步的多实例(MIwithout) 在流程中,一个活动可以激活多个实例,每个实例相互独立,并不需要在后面进行同步. 例子:比如用户购买了N本书,于是后续的支付账单.更新客户可以以本书为单位各自 ...

  3. 驰骋工作流引擎JFlow与activiti的对比之2种结构化模式

    1. 任意循环(Arbitrary Cycles) ACTIVITI : 某一个或多个活动可以反复执行. 例子:用户买了瓶汽水,拿到汽水后,中了一瓶,又去兑换了一瓶汽水,如果又中了,再去兑换一瓶汽水- ...

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

    多重选择(Multiple Choice) 在流程中,当一个活动完成后,有多个分支进行选择,可以选择执行其中的一个或者N个分支. 例子:比如去世博园玩,在门口检票后,可以选择A-E个片区中的N个进行观 ...

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

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

  6. 驰骋工作流引擎 -CCBPM如何自动升级

    关键词:工作流引擎自动升级   工作流自动升级升级步骤设置1,CCBPM把更新分成三类, 应用程序代码更新.数据表结构更新.数据更新.2,CCBPM在您登录流程设计器时自动判断当前的版本与数据库版本是 ...

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

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

  8. 驰骋工作流引擎与jFinal集成版本2.0

    驰骋工作流引擎与jFinal集成版本2.0 发布说明 关键字: 驰骋工作流程快速开发平台 工作流程管理系统java工作流引擎. 使用协议:GPL. 关于JFinal: https://www.jfin ...

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

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

随机推荐

  1. nginx配置ssl证书实现https访问

    一,环境说明 服务器系统:ubuntu16.04LTS 服务器IP地址:47.89.12.99 域名:bjubi.com 二,域名解析到服务器 在阿里云控制台-产品与服务-云解析DNS-找到需要解析的 ...

  2. CoreProfiler升级到.NetStandard 2.0

    致所有感兴趣的朋友: CoreProfiler和相应的Sample项目cross-app-profiling-demo都已经升级到.NetStandrard 2.0和.NetCore 2.0. 有任何 ...

  3. SDL 开发实战(四): SDL 事件处理

    在前面学习SDL的例子运行时,我们发现我们的窗口只停留了几秒,但是如果设置更长时间显然也有其他的弊端. 那么有没有一种好的办法可以解决这个问题呢?例如:能不能让窗口一直显示,直到检测到用户用鼠标点击关 ...

  4. 【从零开始搭建自己的.NET Core Api框架】(三)集成轻量级ORM——SqlSugar:3.1 搭建环境

    系列目录 一.  创建项目并集成swagger 1.1 创建 1.2 完善 二. 搭建项目整体架构 三. 集成轻量级ORM框架——SqlSugar 3.1 搭建环境 3.2 实战篇:利用SqlSuga ...

  5. [Swift]LeetCode159.具有最多两个不同字符的最长子串 $ Longest Substring with At Most Two Distinct Characters

    Given a string S, find the length of the longest substring T that contains at most two distinct char ...

  6. WebWorker与WebSocket实现前端消息总线

    Web Worker让JS有了多线程的能力,可以将复杂耗时的操作都交付给Worker线程处理.WebSocket让web端与服务端维持一个有效的长连接,实现服务端主动推送数据.将二者一结合,业务系统信 ...

  7. 关于Python pandas模块输出每行中间省略号问题

    关于Python数据分析中pandas模块在输出的时候,每行的中间会有省略号出现,和行与行中间的省略号....问题,其他的站点(百度)中的大部分都是瞎写,根本就是复制黏贴以前的版本,你要想知道其他问题 ...

  8. Java8 LocalDateTime获取时间戳(毫秒/秒)、LocalDateTime与String互转、Date与LocalDateTime互转

    本文目前提供:LocalDateTime获取时间戳(毫秒/秒).LocalDateTime与String互转.Date与LocalDateTime互转 文中都使用的时区都是东8区,也就是北京时间.这是 ...

  9. python编译、运行、反编译pyc文件

    为了加密 .py 文件,以前一般使用打包成 exe ,但是最近发现可以将其编译成二进制文件 pyc ,虽然反编译难度不大,但是也需要一些水平 编译生成 pyc: 单个文件 代码: import py_ ...

  10. Python 创建递归文件夹

    # 创建递归文件夹 def createfiles(filepathname): try: os.makedirs(filepathname) except Exception as err: pri ...