如果要自己实现如下可视化配置流程,不要一下就钻到:这个页面怎么画? 后端应该怎么驱动,用什么流程引擎的问题。需要从逻辑上分析流程涉及元素。
一般都不能直接拿来用,JS开源框架能把节点,连线这些搞出来就不错了。节点的具体配置,以及连线的条件等都需要自己开发,所以需要自定义一套DSL进行描述。
首先需要分析出来流程的组成和基础任务是啥。
流程逻辑设计
流程组成
流程图结构
树状
图
流程定义的描述
有NodeA,NodeB,连线1(连接了NodeA,NodeB)
有NodeA,A后边是B
有NodeB,B依赖A
逻辑控制
条件描述
DMN 决策
条件放在连线上
BPMN网关
输入 输出
资源
常量; 变量
文本模板
枚举
表达式
任务节点
技术任务
API
Shell脚本
Kafka
Python脚本
操作节点
手动执行
系统自动执行
审批任务
子流程
业务任务
发送邮件
收邮件
对数据的CRUD
上下文管理
上下文设计
内容
流程运行信息
任务运行信息
流程变量
任务执行和输出结果
存储
版本管理
流程定义版本管理
流程定义的协议版本
流程触发
周期触发
API触发
手动页面触发
如果你还心里没底,那么可以直接告诉你,开源画流程的JS框架多的是,后端自己用Redis+Kafka实现,使用现有开源引擎都可以。怎么选型得其他的技术类指标,以及项目组里的技术能力。