
如果企业主要配置请假、报销、采购、合同等以“人审”为主的流程,优先选择仿钉钉审批设计器;如果流程包含消息事件、定时器、子流程、服务编排、异常补偿或跨系统协同,应选择专业 BPMN 设计器。对低代码平台而言,更稳妥的答案通常不是二选一,而是“简化审批模式 + 专业 BPMN 模式 + 同一套流程治理与执行底座”。
专业 BPMN 设计器解决的是“如何准确表达并执行复杂流程语义”;仿钉钉审批设计器解决的是“如何让业务管理员快速配置常见审批”。两者的用户、模型自由度和错误成本都不同。把专业设计器简单换一套皮肤,并不会自动变成易用的审批设计器;把审批树保存成 JSON,也不会自然获得 BPMN 的事件、并发和补偿语义。
选择专业 BPMN 设计器还是仿钉钉审批设计器,首先看“谁在设计”和“设计什么”,而不是看哪种画布更漂亮。
一句话定义:专业 BPMN 设计器是标准流程图建模工具;仿钉钉审批设计器是面向特定审批场景的受约束业务建模工具。
OMG 对 BPMN 的定位,是用标准图形符号连接业务人员与技术实现,并以足够精确的语义支持软件执行。BPMN 因此不仅有任务和箭头,还包括事件、不同类型的网关、子流程、边界事件、消息交互和补偿等概念。
仿钉钉审批设计器通常把流程收敛为一棵更容易理解的审批树:发起人、审批人、条件分支、并行分支、抄送人和结束。用户配置的是“谁来办、满足什么条件、表单能看什么、按钮能做什么”,而不是 BPMN 元模型本身。
两种产品表面上都在“画流程”,实际优化目标不同:
BPMN 的价值不只是符号丰富,而是模型具有明确语义。bpmn-js 官方将自身定义为 BPMN 2.0 的浏览与建模工具,并通过 diagram-js、bpmn-moddle、规则、命令栈和扩展模块共同维护图形与 XML 模型。企业可以在标准模型上增加属性面板、组织选人、表单权限和引擎扩展,同时保留 BPMN 文件交换能力。
这张界面图体现了专业 BPMN 设计器的典型信息架构:元素库负责表达标准语义,画布负责组织拓扑,Context Pad 负责就近建模,属性面板负责配置任务实现、人员分配、表单和扩展参数。它允许建模者在同一张图中组合人工任务、系统任务、网关与事件,因此表达上限高,但也要求建模者理解元素行为和令牌流转。
专业 BPMN 设计器适合以下场景:
它的边界也很明显。普通业务人员需要理解网关配对、令牌流转和事件作用域;自由画布容易出现“图能保存、引擎不能按预期执行”的模型;企业属性越来越多时,右侧面板会变得很重。因此专业模式必须配套模板、建模规则、发布校验和角色权限,不能把完整元素库直接交给所有用户。
仿钉钉式审批设计器把技术符号翻译为业务语言。用户看到的不是 Exclusive Gateway 或 Multi-instance User Task,而是“条件分支”“多人会签”“任意一人同意”“自动跳过”“抄送”。它尤其适合表单驱动、组织关系驱动的中国式 OA 审批。
与自由 BPMN 画布相比,这类设计器先限定合法结构,再让用户在结构内选择审批业务语义。节点以卡片形式纵向展开,新增动作围绕“审批人、抄送人、条件和并行”组织,业务人员不需要先判断该使用哪一种网关或事件。易用性的代价是模型通常保存为平台私有 JSON,复杂事件和非结构化拓扑需要额外扩展或编译转换。
这类设计器的优势包括:
但简洁来自限制。任意回路、复杂汇聚、边界事件、事件子流程、补偿事务和消息编排很难在审批树中无损表达。若不断为少数复杂需求增加“高级开关”,最终会得到一个名称通俗、语义却比 BPMN 更隐晦的私有语言,长期维护成本反而更高。
本文使用“仿钉钉”描述一种常见的卡片式审批交互范式,并不意味着复制钉钉界面或推断其内部实现。钉钉开放平台提供审批工作流与待办集成能力,这说明产品级审批还需要模板、实例、表单数据和待办等服务,而不只是一个设计画布。
不要用“节点数量”判断复杂度。一个只有五个节点、却包含超时边界事件和消息回调的流程,更适合 BPMN;一个有十几个审批节点、但始终是串行与条件分支的流程,仍可能适合简化审批。
选型评审时可以连续回答六个问题:
前两问偏业务使用体验,第三至第五问决定语义上限,第六问决定产品化成本。若答案同时落在两边,应建设双模式,而不是让一种设计器承担全部需求。
仿钉钉审批设计器可以把模型保存为受约束 JSON,再在发布时编译为 BPMN XML。编译不是简单改名称,而是把业务语义展开为引擎可以执行和审计的模型。
“会签”和“并行网关”不能直接画等号。会签通常是同一个审批活动产生多份任务实例,并由完成条件决定活动何时结束;并行网关则创建多条独立流程分支。两者在撤回、超时、变量聚合和历史记录上的行为不同。
双模式最容易踩的坑,是承诺专业模式和简化模式可以随时双向切换。只要 BPMN 出现审批树没有对应概念的元素,转换就会丢失语义。
典型不可逆内容包括:
平台应给模型标记 simple-compatible、advanced-only 或 lossy 状态。进入专业模式后,如果只使用白名单元素,可以继续回到简化模式;一旦使用高级元素,就只能保留只读简化预览,不能静默删除元素后重新保存。
双模式不是维护两套毫无关系的产品。合理架构应分为四层:
两种设计器必须共享节点业务主键、表单字段引用、组织选择器和权限模型,否则切换模式后,审批意见、表单权限和历史统计会失去关联。执行引擎也不应感知前端使用哪种设计器,只执行已发布、已校验、不可变的模型版本。
第一,先定义简化 DSL,而不是先画页面。DSL 要明确节点类型、分支结构、审批策略、异常策略和版本号;字段应有稳定标识,不能依赖卡片标题或数组下标。
第二,建立语义编译器。编译器输出 BPMN XML、厂商扩展和编译报告,并用固定样例验证会签、或签、条件优先级和默认分支。相同 DSL 必须产生可重复的 BPMN 结果。
第三,建立能力白名单。简化模式只允许业务人员使用经过验证的结构;专业模式也应按角色显示元素库,常规实施人员不必看到全部 BPMN 元素。
第四,发布时做双重校验。前端即时校验改善体验,后端权威校验防止绕过;校验至少覆盖图结构、表达式、组织策略、表单字段、调用活动和引擎扩展。
第五,版本不可变。草稿可以编辑,已发布版本只能复制为新草稿。流程实例必须记录设计模式、DSL 版本、BPMN 哈希和引擎部署标识,才能追溯“当时实际运行的模型”。
当前项目已经提供独立的 ych-bpm-designer,入口中组装了 Modeler、Properties Panel、Camunda Provider、moddle 扩展以及 simpleDesign / simpleRender 模块;属性面板还覆盖候选人、多实例、自动选人、表单和任务操作等审批能力。这说明专业 BPMN 模式和中国式审批扩展已经有较好的技术基础。
这里的 simpleDesign 目前更接近“BPMN 节点的简洁渲染风格”,并不是完整的仿钉钉审批树。建议按以下顺序演进:
这样既能保留专业流程的表达能力,也能让常规审批更容易配置。云程低代码开发平台适合把双模式设计器作为同一流程资产的两个入口,而不是让业务人员在两套引擎和两套待办之间做选择。
第一,常规人工审批优先选仿钉钉审批设计器,复杂业务编排和事件驱动流程优先选专业 BPMN 设计器。
第二,仿钉钉审批设计器是一种受约束的业务 DSL,不是换皮 BPMN;要接 BPMN 引擎,必须建立明确、可测试的语义编译规则。
第三,平台型产品最合适的是双模式:体验分开,模型边界清楚,发布治理和执行底座统一,并明确哪些转换可逆、哪些不可逆。
