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


    1. 取消模式(Cancel Activity)

    就是将某个活动取消。

    JFLOW中,类似与删除流程操作相同。

    不能删除:不允许删除。

    逻辑删除:仅仅将此流程标记为删除状态,数据仍然存在节点表单与流程报表中。

    记录日志方式删除:删除节点表单、流程报表数据,并记录备案。

    彻底删除:彻底清除该流程的所有数据,包括该工作实例的节点表单数据、流程报表数据、轨迹数据、退回、移交操作信息。

    让用户决定删除方式:显示对话框,让用户选择删除方式。

    2. 取消实例(CancelCase)

    如果一个活动产生了多个实例,那么仅仅撤销这个活动是不够的,要将他所引起的所有实例都移除才行。

    JFLOW中的解决方案,参考 取消模式。

    总结

    clip_image002[5]

    共同点:

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

  • 相关阅读:
    运维笔记--docker容器部署mongodb 数据持久化
    odoo开发学习-debug&开发者模式 取消
    python开发 -- 批量修改文件后缀名为指定格式
    python开发 -- 判断文件编码格式是否为UTF8 有/无BOM格式
    odoo开发学习 -- 模块目录结构
    odoo开发学习 -- Python2 or Python3?关于环境搭建的软件版本选择
    odoo开发学习 --一点题外话
    odoo各版本新特性及变更记录 --持续更新
    odoo开发学习 -- odoo12 Docker镜像制作
    odoo开发学习--saas环境搭建(一)
  • 原文地址:https://www.cnblogs.com/mengjuan/p/10169009.html
Copyright © 2020-2023  润新知