V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
如果想在 V2EX 获得更好的推广效果,欢迎了解 PRO 会员机制:
https://www.v2ex.com/pro/about
zhennann
V2EX  ›  推广

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

  •  
  •   zhennann · Jan 15, 2021 · 2443 views
    This topic created in 1928 days ago, the information mentioned may be changed or developed.

    文档清单

    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语言的调性,优点是简约、易写、易读,同样具备优秀的可迁移性

    相关链接

    No Comments Yet
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3193 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 00:28 · PVG 08:28 · LAX 17:28 · JFK 20:28
    ♥ Do have faith in what you're doing.