Flowable 中文文档

Flowable 中文文档

  • 指南
  • Java文档
  • 博客
  • Flowable UI
  • 加入交流群
  • 英文文档

›所有文章

所有文章

  • Flowable 后端脚本
  • ​​AI赋能Flowable:破解传统BPM的响应延迟与决策盲区​​
  • Flowable 后端表达式
  • Flowable中的四种核心流程控制模式:会签、或签、分支与并行
  • Flowable 案例迁移
  • Flowable 自动部署模型
  • Flowable-UI 入门指南:从零开始的 BPM 之旅
  • Flowable 数据库表结构详解
  • Spring Boot + Flowable 工作流开发教程:整合 BPMN 和 CMMN 实战
  • BPMN、CMMN和DMN:工作流引擎三剑客的深度对比
  • 工作流引擎介绍与选型指南
  • 欢迎来到 Flowable 中文博客

BPMN、CMMN和DMN:工作流引擎三剑客的深度对比

March 12, 2025

在现代企业数字化转型的浪潮中,工作流引擎扮演着越来越重要的角色。Flowable作为领先的开源工作流引擎,支持三种核心建模标准:BPMN(业务流程模型和标记法)、CMMN(案例管理模型和标记法)以及DMN(决策模型和标记法)。今天,让我们深入了解这三种标准的异同,以及它们各自最适合的应用场景。

Flowable三大标准概览

BPMN:结构化流程的标准语言

BPMN(Business Process Model and Notation)是最广为人知的流程建模标准。它主要用于描述具有明确开始和结束点的结构化业务流程。

BPMN的核心特点:

  • 清晰的流程控制:通过顺序流、网关等元素定义明确的执行路径
  • 丰富的事件处理:支持开始、结束、中间事件等多种事件类型
  • 活动任务管理:包含用户任务、服务任务、脚本任务等多种任务类型
  • 池和泳道:清晰展示不同参与者和组织单位的职责

BPMN的核心元素:

BPMN核心元素

  1. 流对象(Flow Objects)

    • 事件(Events):开始事件、结束事件、中间事件
    • 活动(Activities):任务、子流程、调用活动
    • 网关(Gateways):排他网关、并行网关、包容网关、事件网关
  2. 连接对象(Connecting Objects)

    • 顺序流(Sequence Flow):定义活动执行顺序
    • 消息流(Message Flow):表示跨组织通信
    • 关联(Association):连接附加信息和制品
  3. 泳道(Swimlanes)

    • 池(Pool):代表参与者或系统
    • 道(Lane):组织和分类活动
  4. 制品(Artifacts)

    • 数据对象(Data Objects):表示数据信息
    • 组(Group):文档分组用途
    • 注释(Annotation):添加文本说明

BPMN的应用场景举例:

  1. 采购审批流程

    • 固定的采购申请、部门审批、财务审核、总经理审批等步骤
    • 基于金额的条件分支(小额直接主管审批,大额需要更高层级审批)
    • 并行的询价和供应商资质审查环节
    • 定时提醒和超时升级处理
  2. 新员工入职流程

    • 顺序执行的入职手续办理
    • 并行的工位准备和账号开通任务
    • 多部门协作(HR、IT、行政等)
    • 文档管理和数据收集
  3. 产品发布流程

    • 产品设计、开发、测试、发布的固定步骤
    • 多环节的评审和审批
    • 条件判断(是否需要回退修改)
    • 里程碑节点和时间控制

CMMN:灵活应对动态场景

CMMN(Case Management Model and Notation)专注于处理非结构化、动态性强的业务场景。它采用声明式而非命令式的方法来定义流程。

CMMN的主要优势:

  • 动态任务激活:根据上下文条件动态确定任务的执行
  • 里程碑管理:通过里程碑跟踪案例进展
  • 人工决策:允许知识工作者根据具体情况做出决策
  • 计划项目:支持任务、阶段等多种计划项的灵活组合

CMMN的核心元素:

CMMN核心元素

  1. 计划项(Plan Items)

    • 任务(Tasks):人工任务、流程任务、案例任务
    • 阶段(Stages):组织和封装其他计划项
    • 里程碑(Milestones):标记重要成就点
  2. 判定准则(Sentries)

    • 进入准则(Entry Criteria):激活条件
    • 退出准则(Exit Criteria):终止条件
  3. 案例文件(Case File)

    • 案例文件项(Case File Items):业务数据
    • 案例文件项引用:数据访问和操作
  4. 计划片段(Plan Fragments)

    • 离散(Discretionary)项:可选任务
    • 规划表(Planning Tables):动态规划选项

CMMN的应用场景举例:

  1. 医疗诊疗方案

    • 根据患者症状动态调整治疗计划
    • 医生可以灵活添加检查项目
    • 基于检查结果激活不同的治疗方案
    • 随访计划的动态调整
  2. 保险理赔处理

    • 根据案件复杂度动态确定处理步骤
    • 理赔员可以根据实际情况添加调查任务
    • 多个可选的专家会诊环节
    • 基于文件收集情况触发不同处理流程
  3. 项目管理

    • 敏捷开发中的迭代规划
    • 根据项目进展动态调整任务
    • 团队成员自主选择和认领任务
    • 基于风险评估启动相应的应对措施

DMN:业务决策的智能引擎

DMN(Decision Model and Notation)专门用于建模业务决策逻辑。它可以独立使用,也可以与BPMN和CMMN无缝集成。

DMN的关键特性:

  • 决策表:直观展示输入条件和输出结果的映射关系
  • 决策需求图:展示决策之间的依赖关系
  • 表达式语言:支持复杂的业务规则表达
  • 可重用性:决策逻辑可在不同流程中重复使用

DMN的核心元素:

DMN核心元素

  1. 决策需求图(DRD)组件

    • 决策(Decision):核心决策节点
    • 输入数据(Input Data):外部数据源
    • 知识源(Knowledge Source):决策依据
    • 业务知识模型(Business Knowledge Model):可重用决策逻辑
  2. 决策表(Decision Table)元素

    • 输入(Input):条件列
    • 输出(Output):结果列
    • 规则(Rules):条件和结果的映射行
    • 命中策略(Hit Policy):规则匹配策略
  3. 表达式语言

    • FEEL表达式:标准决策表达式语言
    • 简单表达式:基础运算和比较
    • 复杂表达式:函数和条件逻辑
  4. 数据类型

    • 基本类型:数字、字符串、布尔等
    • 复合类型:列表、上下文等
    • 自定义类型:业务特定数据类型

DMN的应用场景举例:

  1. 信贷审批决策

    • 基于收入、信用记录等多个指标的评分
    • 不同产品的利率定价规则
    • 贷款额度的自动计算
    • 风险等级的综合评定
  2. 保险产品定价

    • 多维度的保费计算规则
    • 各种优惠政策的叠加计算
    • 风险因素的权重评估
    • 自动化的核保决策
  3. 营销活动规则

    • 客户分群策略
    • 促销方案的匹配规则
    • 优惠券发放条件
    • 会员等级升降规则

详细对比

下表详细对比了BPMN、CMMN和DMN在不同维度上的特点:

对比维度BPMNCMMNDMN
核心目标结构化业务流程建模非结构化案例管理业务决策规则建模
建模方法命令式(规定具体执行步骤)声明式(定义目标和约束)声明式(定义决策规则)
执行特点固定的执行路径动态的执行路径基于规则的推导
灵活性低(流程一旦定义较难变更)高(可动态调整任务)中(规则可动态更新)
可预测性高(流程路径明确)低(执行路径不确定)高(规则结果确定)
使用场景标准化业务流程知识密集型工作复杂业务决策
主要元素事件、活动、网关计划项、判定准则、里程碑决策表、决策需求图
建模难度中等较高较低
维护成本较高(需要修改流程图)中等(规则可动态调整)较低(易于更新规则)
业务适用性固定流程业务动态响应业务规则驱动业务

三者的协同应用

在实际应用中,这三种标准常常协同工作:

  • BPMN处理主流程框架
  • CMMN处理需要灵活应对的子流程或特殊场景
  • DMN处理流程中的决策点

选择建议

  1. 当流程具有明确的步骤和路径时,选择BPMN
  2. 当业务场景需要更多灵活性和动态响应时,使用CMMN
  3. 当需要标准化决策逻辑时,采用DMN
  4. 在复杂项目中,可以组合使用这三种标准,发挥各自优势

用对工具,事半功倍

BPMN、CMMN和DMN各自针对不同的业务场景,共同构成了完整的工作流解决方案。理解它们的差异和适用场景,对于选择合适的工具实现业务目标至关重要。在Flowable中,这三种标准的无缝集成为企业提供了强大而灵活的工作流管理能力。

最新文章
  • BPMN:结构化流程的标准语言
    • BPMN的核心特点:
    • BPMN的核心元素:
    • BPMN的应用场景举例:
  • CMMN:灵活应对动态场景
    • CMMN的主要优势:
    • CMMN的核心元素:
    • CMMN的应用场景举例:
  • DMN:业务决策的智能引擎
    • DMN的关键特性:
    • DMN的核心元素:
    • DMN的应用场景举例:
  • 详细对比
  • 三者的协同应用
    • 选择建议
  • 用对工具,事半功倍
Flowable 中文文档
文档
指南Java文档
法律
免责声明政策开源协议
联系方式
邮箱: [email protected]
版权 © 2025 Flowable AG. 中文文档基于 Apache License 2.0 协议翻译