zoukankan      html  css  js  c++  java
  • 驰骋工作流引擎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:具有轨迹功能,即对某一个流程运行产生数据的保存,流程运行中,可以查看相关节点的处理信息与流程数据,流程结束后也可以。

  • 相关阅读:
    生成本地测试用https证书,支持通配符和多域名,初学OpenSSL
    SuperSocket.WebSocket.WebSocketServer.Setup无法启动
    CSS 特殊属性介绍之 pointer-events
    关于面试题 Array.indexof() 方法的实现及思考
    关于 CSS 反射倒影的研究思考
    Carousel 旋转画廊特效的疑难杂症
    有趣的 CSS 像素艺术
    视差滚动技术的简介及运用
    Yeoman 官网教学案例:使用 Yeoman 构建 WebApp
    展望未来:使用 PostCSS 和 cssnext 书写 CSS
  • 原文地址:https://www.cnblogs.com/mengjuan/p/10169009.html
Copyright © 2011-2022 走看看