# diboot-workflow 技术方案

# 1. 技术架构图

diboot-workflow项目,基于完全开源并久经考验的diboot基础框架打造。核心构成主要有:流程设计器、流程引擎集成、动态表单设计器、表单数据引擎、可扩展/可替换的组织架构模块、流程相关管理功能、表单相关管理功能、任务处理相关功能等。

整体架构图如下: 技术架构图

# 2. 技术方案选型

# 流程引擎: flowable(主流且轻量)

Flowable是Activiti原班主创人员从Activiti分离出来的一套BPM工作流引擎,其核心是超快速、稳定的BPMN2流程引擎,易于与 Spring集成使用。

diboot-workflow基于最新版本的flowable打造,结合diboot-core的高性能内核能力,提供稳固的底层支撑。

# 流程设计器: bpmnjs(直观易用)

flowable的后端引擎很强大,但论前端流程设计器,bpmnjs才是大师。

diboot-workflow基于最新版本的bpmnjs定制流程设计器,结合后端自动提取能力,实现流程设计过程中能简不繁能选不填,以便让业务人员也能配置。

# 表单引擎:diboot自研

flowable的表单引擎不能单独建表,数据耦合在流程节点中,数据统计的代价巨大。

我们基于diboot-devtools的低代码能力,实现了自研的表单引擎,支撑动态主子表的动态建表,数据的增删改查等,为构建强大的表单设计器提供底层支撑。

# 表单设计器:diboot自研(强大、灵活、易扩展)

我们坚信要做好工作流中的表单设计器,一定要具备全栈思维,这是diboot坚持自研表单设计器的主要原因。

diboot-workflow的表单设计器,除了基础的表单设计功能外,还具备:多表单表单字段权限设置表单打印用户体系组件等能力,延展了灵活性和场景适应能力。