FilesLast commitLast update
1 month ago
1 month ago
README

流程引擎

⬅️ 返回 07 工作流 | 定义 | Camunda 7 | Camunda 8 | 微服务编排

流程引擎是解析并执行 BPMN 流程定义的核心组件,把"图形化流程图"转化为可运行、可监控、可审计的业务执行。本节讲清工作原理 → 发展史 → 主流引擎 → 选型。


🎯 一句话定位

流程引擎 = BPMN 文件 + Job Executor + 持久化历史表——读懂 BPMN,驱动任务流转,记录每一步状态。


📚 章节导航(6 节 + 4 实战文件)

节 内容 何时读
一、工作原理 4 阶段:定义 → 解析 → 实例化 → 执行循环 理解引擎如何工作
二、发展史 5 里程碑:jBPM 2003 → BPMN 2.0 2011 → Activiti → Camunda → Zeebe → AI 了解技术演进
三、3 大引擎对比 Camunda / Flowable / Activiti 9 维对比 评估主流引擎
四、选型决策树 5 维度 Q&A(合规/AI/吞吐/低代码/国产化) 第一次选型
五、新兴/垂直引擎 LiteFlow / jBPM / Bonita / 泛微 / 钉钉宜搭 评估长尾选项
六、2025-2026 趋势 5 引擎演进 + 3 宏观趋势 + 国内 4 类企业选型 跟进最新发展
实战文件 Camunda 7 / Camunda 8 / Zeebe 落地参考

💡 阅读路径:入门 → 1 → 2 → 3 → 4;评估选型 → 4 → 6;准备实战 → 4 → Camunda 7/8/Zeebe 实战文件。


⚡ 4 引擎 + 4 概念速查

主流引擎

引擎 架构 一句话定义 何时选
Camunda 7 嵌入式 Java + 关系型 DB 经典 PVM 引擎,企业级生产事实标准 强治理 + 国产化 + 存量维护
Camunda 8 / Zeebe 分布式 + 追加日志 + ES 云原生 + AI 原生,吞吐高(具体数字以官方 benchmark 为准) 新项目默认 / 高吞吐 / AI 集成
Flowable 嵌入式 Java + CMMN/DMN 案例管理 + 决策表强 需要 CMMN 案例管理
Activiti 嵌入式 Java 历史悠久的 BPMN 引擎 存量项目(5/6 已 EOL)

核心概念

概念 一句话定义 何时关心
BPMN 2.0 OMG 业务流程建模国际标准 所有流程引擎都遵循
PVM 流程虚拟机(jBPM 引入) Camunda 7 架构基础
CMMN 案例管理与建模规范 Flowable 支持
DMN 决策模型与符号 业务规则决策表

📌 完整对比表见 §三 3 大引擎对比;详细特性见 Camunda 7 / Camunda 8 / Zeebe。


一、工作原理(4 阶段)

flowchart TB
    A["1️⃣ 流程定义<br/>BPMN XML / 图形化"] --> B["2️⃣ 解析与建模<br/>构建内部状态机"]
    B --> C["3️⃣ 实例化<br/>创建 Process Instance"]
    C --> D["4️⃣ 执行循环"]

    D -->|"Job Worker 拉取"| E["任务节点<br/>User / Service / Send"]
    D -->|"网关判定"| F["分支/并行/汇聚<br/>Exclusive / Parallel"]

    E --> G["更新状态<br/>持久化 + 历史"]
    F --> G

    G --> H{"流程未结束?"}
    H -->|"是"| D
    H -->|"否"| I["结束 + 写历史表<br/>act_hi_*"]

    classDef stage fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
    classDef loop fill:#fff3e0,stroke:#f57c00,stroke-width:2px
    classDef end fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
    class A,B,C,D stage
    class E,F,G,H loop
    class I end
阶段 关键动作 引擎实现
1. 流程定义 用 BPMN 2.0 XML 描述流程图 Camunda Modeler / bpmn-js / Flowable Designer
2. 解析建模 XML → 内部 PVM/StateMachine 模型 引擎启动时一次性加载到内存
3. 实例化 分配唯一 InstanceKey,初始化变量 写 ACT_RU_EXECUTION / Zeebe PROCESS 表
4. 执行循环 Job Executor 拉取待办任务,调用 Worker 轮询/事件驱动 + 持久化 + 历史归档

二、发展史:5 个里程碑

timeline
    title BPMN 引擎 20 年演进
    2003 : jBPM 1.0 (Tom Baeyens)
         : 引入 PVM 流程虚拟机
    2010 : Activiti 5 (BPMN 2.0)
         : Apache 协议,Java 主流
    2011 : BPMN 2.0 国际标准
         : XML 可执行模型
    2013 : Camunda 7 分拆
         : 企业级 BPM 引擎
    2016 : Flowable 6 衍生
         : CMMN + NoSQL 支持
    2018+ : 云原生时代
         : Camunda 8 / Zeebe
    2024+ : AI Agent 时代
         : LLM-as-Service-Task
里程碑 时间 影响
jBPM 诞生 + PVM 2003-2005 流程虚拟机(Process Virtual Machine)抽象奠定引擎架构基础
BPMN 2.0 国际标准 2011 OMG 标准 XML + 图形化,跨厂商可移植性
Activiti 5 开源 2010 Apache 协议 + BPMN 2.0,Java 生态主流选择
Camunda 分拆 + Flowable 衍生 2013 / 2016 社区分裂,企业级 vs 通用两条路线
云原生 + AI 集成 2018+ (Camunda 8/Zeebe) → 2024+ (AI Agent Sub-process) 分布式架构 + LLM-native 节点

三、主流引擎对比(3 大引擎)

维度 Camunda 7 / 8 Flowable Activiti
架构 7 = 嵌入式 Java;8 = 分布式 Zeebe 嵌入式 Java + CMMN 嵌入式 Java
标准 BPMN 2.0 + CMMN + DMN BPMN 2.0 + CMMN + DMN BPMN 2.0
部署 7 单体;8 K8s K8s / Docker 单体为主
性能 8 = 高吞吐(Raft + ES,具体以官方 benchmark 为准) 中等(K8s 部署) 中等
AI 集成 8.5+ AI Agent Sub-process 原生 通过 Service Task 包装 需自研
社区活跃度 ⭐⭐⭐⭐⭐ ⭐⭐⭐ ⭐⭐(5/6 已 EOL)
商业版 Camunda Cloud / Enterprise Flowable Work Alfresco Process Services
国内案例 银行/保险/制造业广泛 部分央企 存量项目为主

简化决策:

  • 要稳定 + 生态成熟 + 中文社区:Camunda 7
  • 要云原生 + 高吞吐 + AI 原生:Camunda 8
  • 要 CMMN + 案例管理 + DMN 决策:Flowable
  • 存量 Spring 项目嵌入:Activiti 5/7(注意 EOL 风险)

四、选型决策树

Q1: 业务规则是否需要强治理/SOX/HIPAA 合规?
├── 是 → Camunda 7/8 或 Flowable(流程实例可审计)
└── 否 → 继续

Q2: 是否需要 LLM/Agent 决策?
├── 是 → Camunda 8(8.5+ AI Agent Sub-process)+ 自研 Zeebe AI Worker 包装 LLM
└── 否 → 继续

Q3: 是否需要云原生 / 高吞吐 / 水平扩展?
├── 是 → Camunda 8 (Zeebe) / Flowable
└── 否 → 继续

Q4: 是否要纯低代码,业务人员配置?
├── 是 → Flowable Work / 钉钉宜搭(注意:后者非 BPMN 标准)
└── 否 → Camunda 7 / Flowable OSS

Q5: 国产化 / 信创要求?
├── 是 → 达梦/金仓/麒麟适配的 Camunda 7 或泛微 e-workflow
└── 否 → Camunda / Flowable

五、新兴 / 垂直引擎

引擎 定位 适用
LiteFlow 国产轻量级,XML/JSON/YML 规则编排 电商订单计算、复杂业务逻辑拆分
jBPM 7+ Red Hat 生态,Drools Flow 整合 已用 Red Hat 中间件的团队
Bonita 可视化 UI 强 高交互场景、运维人员配置
泛微 e-workflow 国产 OA + 流程引擎一体化 政府/国企信创
钉钉宜搭 阿里低代码,30 分钟上线 中小企业简单审批(非标准 BPMN)

六、2025-2026 流程引擎新趋势

引擎 关键演进 影响
Camunda 7 v7.21 LTS(2024)+ 维护期延长到 2028+ 存量企业可安心使用,不再新增大特性
Camunda 8 8.5 AI Agent → 8.7 表单生成器 → 8.8 协同编辑 业务 + IT 协同设计,AI 原生加速
Flowable 7.x 引入 AI 任务节点 + 国产化适配 与 Camunda 8.5 正面竞争
Activiti v7 已 EOL,社区转 Cloud 存量项目应规划迁移
Zeebe(独立) 1.x 社区版仍维护 Camunda 主导,企业用户用 Camunda 8

3 大宏观趋势:

  1. AI 原生化:所有引擎都在加 LLM 节点(Camunda 8.5+ AI Agent / Flowable 7 AI Task / Zeebe AI Worker)
  2. 云原生 + 多区域:K8s + 跨地域灾备(Camunda 8.6+ Identity Federation)成为大客户入场券
  3. 业务可读 vs 工程师灵活:BPMN(Camunda/Zeebe)vs 代码 DSL(Temporal)长期共存

国内观察:

  • 银行/政务:Camunda 7 仍是首选(国产化 + 监管成熟)
  • 互联网中大厂:Camunda 8 / Zeebe(云原生 + AI 集成)
  • SaaS / 跨境电商:Zeebe + LangGraph / Dify 混合架构
  • AI 创业公司:Dify / Coze(快速上线) + 复杂场景 LangGraph

选型一句话:

2026 年新项目默认选 Camunda 8 / Zeebe(除非强治理 / 国产化约束 Camunda 7);AI 节点用 fromAi() / 自研 Zeebe AI Worker;复杂 Agent 编排用 LangGraph(详见 BPMN+AI 融合)。


🤔 思考

  1. 为什么 Camunda 8 要重写 Zeebe 而不是演进 Camunda 7? 7 依赖关系型 DB + 嵌入式架构,扩展性受限;Zeebe 用 Raft + 追加日志 + ES 解决水平扩展。
  2. Flowable vs Camunda 怎么选? 核心差异在商业策略——Camunda 强在企业版 + Optimize 分析;Flowable 强在 CMMN 案例管理 + 商业版(Flowable Work)。
  3. BPMN 引擎能否直接编排微服务? 见 03 编排——传统 BPMN 适合"人 + 系统"长流程;微服务编排用 Zeebe/Conductor/Cadence 更合适。
  4. AI 时代还需要 BPMN 引擎吗? 仍然需要——BPMN 提供确定性、合规、可审计的骨架;如需 AI 节点,可在 Camunda 8.5+ 中用 AI Agent Sub-process(Camunda 8),或在 Zeebe Job Worker 中包装自研 LLM 调用(Zeebe)。
  5. 2026 年选 BPMN 引擎的默认值? Camunda 8 / Zeebe。Camunda 7 仅在 ① 强治理(银行/政务)② 国产化(麒麟/达梦)③ 存量维护 三个场景下选。Flowable 仅在需要 CMMN 案例管理时选。Activiti 新项目不选。

相关章节


📊 本节统计

维度 数据
覆盖节数 6 节(原理 / 史 / 对比 / 选型 / 新兴 / 趋势)
主流引擎 4(Camunda 7/8、Flowable、Activiti)
实战文件 3(Camunda 7/8/Zeebe)
决策维度 5(合规 / AI / 吞吐 / 低代码 / 国产化)

← 返回 07 工作流