CabloyJS 自带工作流引擎
文档已经整理出来,欢迎大家围观、拍砖
众所周知,NodeJS 作为后端开发语言和运行环境,样样都好,就差一个NodeJS 工作流引擎
。CabloyJS 4.0 重点开发了NodeJS 工作流引擎
,并作为内置的基础核心模块,近一步拓展了 NodeJS 在后端的应用场景,为深入研发各类商业业务逻辑,提供了基础支撑
JSON
进行流程定义的配置,告别 XML 配置文件的冗杂模块名称 | 说明 |
---|---|
a-flow | 流程定义、流程实例 |
a-flownode | 流程节点(活动节点) |
a-flowtask | 流程任务 |
业务流程
和审批流程
原子数据生命周期
结合,内置了一套基于原子数据的审批工作流
。参见:原子阶段(数据生命周期) 表单验证
结合,支持分别配置不同流程节点的读取字段权限
和修改字段权限
。参见:表单验证AOP
机制定制工作流逻辑。参见:AOPListener
机制定制工作流逻辑。参见:listener 规范流程节点
的定制开发测试驱动
代码,可快速上手使用工作流Activiti
的对比流程定义
是工作流引擎
的灵魂,一个合理的流程定义
规范,既要考虑使用的便利性,又要考虑功能特性的可扩展性
Activiti
无疑是 Java 语言领域工作流引擎的标杆,依据BPMN2.0
规范采用XML
格式来定义工作流
BPMN + XML
的优点是标准统一,与JAVA
语言的开发调性相匹配。当然,缺点是繁琐
,如果脱离了图形化编辑工具
,采用手写 XML 定义,非常不便利
CabloyJS 经过反复的评估与权衡,决定仍然参考BPMN 规范
的特性集,但是采用JSON
格式进行定义。虽然属于自定义格式,但符合JS
语言的调性,优点是简约、易写、易读
,同样具备优秀的可迁移性