陈均 JanChan

Workflow / FDP 中台

表单工作流引擎与低代码中台

从 FDP 中台的表单设计器与审批流出发,把流程定义、表单 Schema、权限规则和执行引擎拆成可独立演进的能力,支撑多个业务系统复用。

角色 核心研发 / 架构周期 2019 - 2025方向 流程与低代码
流程引擎动态表单低代码审批流FDP微服务
低代码平台:可视化表单设计器与流程画布
表单 Schema、流程定义与权限规则解耦,业务变化从发版变成配置。

背景:审批需求永远在变

FDP 中台的业务复杂度高,审批和表单几乎每个季度都在变:会签、加签、驳回、转办、按金额分支、跨部门审批。早期用状态机硬编码,每改一次就要发版,测试成本越来越高。

引擎化不是把审批画成一张图,而是把“定义”和“执行”分开:定义可以配置、可以版本化;执行必须稳定、幂等、可审计。

核心难点

  • 已发布流程不能变,运行中的实例必须绑定启动时的版本。
  • 会签、或签、加签、驳回、撤回等动作要能组合,且状态迁移合法。
  • 表单 Schema 与流程定义解耦,字段权限与数据权限分离。
  • 跨服务动作要可补偿,重复点击和重复消息不能推进两次流程。

方案:元数据、执行、权限三层

1. 元数据

流程定义、表单 Schema、权限模型、运行时实例、历史审计五类对象分开建模。流程定义发布后不可变,按版本号管理;实例记录启动时的定义版本和表单版本,老实例继续走老版本。

2. 执行引擎

采用任务 + 令牌模型:节点生成待办任务,任务完成推进令牌,网关按条件选分支。任务完成用 taskId + version 做乐观锁,消息消费记录去重键,跨服务动作通过 outbox 或本地消息表保证可重试。

3. 权限与规则

功能权限、数据权限、字段权限三层分离。审批人解析器支持角色、组织、上级和表单变量组合,解析结果可解释。规则表达式运行在沙箱里,限制函数白名单、执行超时和外部 IO。

4. 嵌入与复用

引擎以 SDK 和服务两种形态嵌入 FDP 及其他业务系统:简单场景直接引用组件,复杂场景走独立服务。统一网关负责鉴权、日志和限流,避免每个接入方重复实现。

结果

6 年演进从独立引擎到中台能力
多业务复用表单与流程嵌入不同系统
版本化定义发布后不可变,实例绑定版本

完成了独立版本的审批流引擎与表单设计器,并嵌入 FDP 底层服务;多个业务系统复用同一套流程能力,常规审批变化从“改代码发版”变成“改配置发布”。引擎的版本、权限和幂等边界也在真实业务里被反复验证。

复盘

流程引擎的价值不在于节点类型多,而在于边界清楚:定义与实例分离、表单与流程解耦、版本不可变、动作可幂等、权限可解释。把这五件事做对,配置化才是资产。

流程引擎动态表单低代码审批流FDP微服务

陈均 JanChan

全栈架构师 / AI 工程师,14 年研发与架构经验。项目内容来自真实研发经历与同类场景的工程复盘。