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

文档清单

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

介绍

介绍 演示:CMS审批工作流 单元测试用例集

流程定义

基本概念 JSON规范 listener规范 listener规范-用户任务

流程实例

外观Bean组件 安全沙箱 流程检索 环境对象

转移线

环境对象 顺序流

活动节点

基本概念

环境对象

开始事件

空开始事件 定时开始事件 原子起草开始事件

结束事件

空结束事件

活动

空活动 服务活动 用户任务活动

用户任务

JSON规范 外观Bean组件 任务检索 环境对象 进阶篇(待续...)

什么是CabloyJS自带工作流引擎

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

NodeJS工作流引擎的特点

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

Activiti的对比

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

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

1. JAVA + BPMN + XML

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

2. JS + 类BPMN + JSON

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

相关链接

官网: https://cabloy.com/ GitHub: https://github.com/zhennann/cabloy