V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zhennann
V2EX  ›  推广

CabloyJS 自带工作流引擎的文档清单

  •  
  •   zhennann · 2021-01-15 18:44:29 +08:00 · 1959 次点击
    这是一个创建于 1169 天前的主题,其中的信息可能已经有所发展或是发生改变。

    文档清单

    CabloyJS 自带工作流引擎文档已经整理出来,欢迎大家围观、拍砖

    什么是 CabloyJS 自带工作流引擎

    众所周知,NodeJS 作为后端开发语言和运行环境,样样都好,就差一个NodeJS 工作流引擎。CabloyJS 4.0 重点开发了NodeJS 工作流引擎,并作为内置的基础核心模块,近一步拓展了 NodeJS 在后端的应用场景,为深入研发各类商业业务逻辑,提供了基础支撑

    NodeJS 工作流引擎的特点

    1. 更简便的配置:采用JSON进行流程定义的配置,告别 XML 配置文件的冗杂
    2. 流程定义:支持历史版本、支持启用 /禁用
    3. 更清晰的架构:采用三个核心模块用分层的机制实现工作流引擎的架构,让工作流不再神秘,源码也不再叠床架屋
    模块名称 说明
    a-flow 流程定义、流程实例
    a-flownode 流程节点(活动节点)
    a-flowtask 流程任务
    1. 支持业务流程审批流程
    2. 原子数据生命周期结合,内置了一套基于原子数据的审批工作流。参见:原子阶段(数据生命周期)
    3. 表单验证结合,支持分别配置不同流程节点的读取字段权限修改字段权限。参见:表单验证
    4. 可通过AOP机制定制工作流逻辑。参见:AOP
    5. 可通过Listener机制定制工作流逻辑。参见:listener 规范
    6. 开放式的架构,支持更多流程节点的定制开发
    7. 包含大量测试驱动代码,可快速上手使用工作流

    Activiti的对比

    流程定义工作流引擎的灵魂,一个合理的流程定义规范,既要考虑使用的便利性,又要考虑功能特性的可扩展性

    Activiti无疑是 Java 语言领域工作流引擎的标杆,依据BPMN2.0规范采用XML格式来定义工作流

    1. JAVA + BPMN + XML

    BPMN + XML的优点是标准统一,与JAVA语言的开发调性相匹配。当然,缺点是繁琐,如果脱离了图形化编辑工具,采用手写 XML 定义,非常不便利

    2. JS + 类 BPMN + JSON

    CabloyJS 经过反复的评估与权衡,决定仍然参考BPMN 规范的特性集,但是采用JSON格式进行定义。虽然属于自定义格式,但符合JS语言的调性,优点是简约、易写、易读,同样具备优秀的可迁移性

    相关链接

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2664 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 15:23 · PVG 23:23 · LAX 08:23 · JFK 11:23
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.