驰骋工作流引擎JFlow与activiti的对比之2种取消模式
1. 取消模式(Cancel Activity)
就是将某个活动取消。
JFLOW中,类似与删除流程操作相同。
不能删除:不允许删除。
逻辑删除:仅仅将此流程标记为删除状态,数据仍然存在节点表单与流程报表中。
记录日志方式删除:删除节点表单、流程报表数据,并记录备案。
彻底删除:彻底清除该流程的所有数据,包括该工作实例的节点表单数据、流程报表数据、轨迹数据、退回、移交操作信息。
让用户决定删除方式:显示对话框,让用户选择删除方式。
2. 取消实例(CancelCase)
如果一个活动产生了多个实例,那么仅仅撤销这个活动是不够的,要将他所引起的所有实例都移除才行。
JFLOW中的解决方案,参考 取消模式。
总结
共同点:
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:具有轨迹功能,即对某一个流程运行产生数据的保存,流程运行中,可以查看相关节点的处理信息与流程数据,流程结束后也可以。
驰骋工作流引擎JFlow与activiti的对比之2种取消模式的更多相关文章
- 驰骋工作流引擎JFlow与activiti的对比之4种高级分支同步模式
多重选择(Multiple Choice) 在流程中,当一个活动完成后,有多个分支进行选择,可以选择执行其中的一个或者N个分支. 例子:比如去世博园玩,在门口检票后,可以选择A-E个片区中的N个进行观 ...
- 驰骋工作流引擎JFlow与activiti的对比之4种包含多实例的模式
1. 无同步的多实例(MIwithout) 在流程中,一个活动可以激活多个实例,每个实例相互独立,并不需要在后面进行同步. 例子:比如用户购买了N本书,于是后续的支付账单.更新客户可以以本书为单位各自 ...
- 驰骋工作流引擎JFlow与activiti的对比之2种结构化模式
1. 任意循环(Arbitrary Cycles) ACTIVITI : 某一个或多个活动可以反复执行. 例子:用户买了瓶汽水,拿到汽水后,中了一瓶,又去兑换了一瓶汽水,如果又中了,再去兑换一瓶汽水- ...
- 驰骋工作流引擎JFlow与activiti的对比 -总结
共同点: 1. 嵌入式的工作流引擎,降低集群复杂性. 2. 严格而灵活的流程版本控制 3. 支持多种数据库 4. 支持多种流程设计模式 5. 成熟度高的开源工作流,具有可靠的稳定性和性能. 区别: 1 ...
- 工作流引擎JFlow与activiti 对比分析(一)5种基本控制流模式的对比
为了更好的说明activiti 与jflow的两款工作流引擎的特点与区别,我们按照如下几个方面做一次全面的.客观的对比. 首先activiti是国外的一款开源的工作流程引擎,在国际上影响比较深远与广泛 ...
- 驰骋工作流引擎 -CCBPM如何自动升级
关键词:工作流引擎自动升级 工作流自动升级升级步骤设置1,CCBPM把更新分成三类, 应用程序代码更新.数据表结构更新.数据更新.2,CCBPM在您登录流程设计器时自动判断当前的版本与数据库版本是 ...
- java工作流引擎Jflow父子流程demo
关键字 驰骋工作流引擎 流程快速开发平台 workflow ccflow jflow .net开源工作流 定义 一个流程A的一个节点,因工作的需要调起另外的流程B,A就叫父流程,B就叫子流程.如果流 ...
- 驰骋工作流引擎与jFinal集成版本2.0
驰骋工作流引擎与jFinal集成版本2.0 发布说明 关键字: 驰骋工作流程快速开发平台 工作流程管理系统java工作流引擎. 使用协议:GPL. 关于JFinal: https://www.jfin ...
- java工作流引擎Jflow流程事件和流程节点事件设置
流程实例的引入和设置 关键词: 开源工作流引擎 Java工作流开发 .net开源工作流引擎 流程事件 工作流节点事件 应用场景: 在一些复杂的业务逻辑流程中需要在某个节点或者是流程结束后做一些 ...
随机推荐
- postman run之前需要手动调整顺序
最近刚入坑postman,记录下遇到的坑: 1.先用postman interceptor录制好脚本,在postman中,将History的脚本导入Collections,由于项目接口之间需要toke ...
- 时时监听input内容的改变
心得:我们都知道input有一个change事件,但是是在input元素失去焦点的时候发生,不能时时的监听input内容的改变. 刚开始的时候我是想用setInterval设置计时器的原理定时监听in ...
- 使用Java 线程池的利弊及JDK自带六种创建线程池的方法
1. 为什么使用线程池 诸如 Web 服务器.数据库服务器.文件服务器或邮件服务器之类的许多服务器应用程序都面向处理来自某些远程来源的大量短小的任务.请求以某种方式到达服务器,这种方式可能是通过网络协 ...
- Java线程中的同步
1.对象与锁 每一个Object类及其子类的实例都拥有一个锁.其中,标量类型int,float等不是对象类型,但是标量类型可以通过其包装类来作为锁.单独的成员变量是不能被标明为同步的.锁只能用在使用了 ...
- [Swift]LeetCode522. 最长特殊序列 II | Longest Uncommon Subsequence II
Given a list of strings, you need to find the longest uncommon subsequence among them. The longest u ...
- 微信小程序开发小结
1.点击按钮分享功能: 使用Button组件,设置open-type="share",然后在js文件的onShareAppMessage方法中设置如下: onShareAppMes ...
- 用CSS实现一个抽奖转盘
效果 基本是用CSS实现的,没有用图片,加一丢丢JS.完全没有考虑兼容性. 首先画一个转盘, <!DOCTYPE html> <html lang="en"> ...
- Linux 设置自启动服务
0 为停机,机器关闭.(千万不要把initdefault设置为0 ) 1 为单用户模式,就像Win9x下的安全模式类似. 2 为多用户模式,但是没有NFS支持. 3 为完整的多用户 ...
- Git中用vim打开、修改、保存文件(转)
一.vim 有两种工作模式: 1.命令模式:接受.执行 vim操作命令的模式,打开文件后的默认模式: 2.编辑模式:对打开的文件内容进行 增.删.改 操作的模式: 3.在编辑模式下按下ESC键,回退到 ...
- PHP分页倒序时,需要注意的问题
PHP分页倒序请求,如果有新数据加入,下一页会出现重复数据 解决方案: 第一次查询时,给前端返回一个查询时间戳,下一次请求时,把时间戳带过来,只查询比这个时间戳小的数据