Spring Boot + BPMN流程管理引擎实践 您所在的位置:网站首页 bpm管理 Spring Boot + BPMN流程管理引擎实践

Spring Boot + BPMN流程管理引擎实践

2024-06-20 06:21| 来源: 网络整理| 查看: 265

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

Spring Boot + BPMN流程管理引擎实践 前言 一、什么是BPMN? 1. BPMN标准及其核心组件介绍 2. 为什么要使用BPMN? 二、BPMN框架介绍及对比 三、Camunda框架介绍 四、Spring Boot + Camunda集成实践 五、TODO List 六、References

前言

本文首先介绍了BPMN基本概念以及为什么要引入BPMN;接着对实现了BPMN标准的开源框架进行了简单介绍和对比;然后重点介绍了Camunda BPMN框架的核心概念、框架及最佳开发实践,同时基于Spring Boot框架结合实际业务场景对Camunda的应用进行了介绍;最后是对于流程引擎集成到业务系统的一些注意事项说明。

以下是本篇文章正文内容,参考博客都加了引用说明,如有侵权请联系我删除

一、什么是BPMN? 1. BPMN标准及其核心组件介绍

BPMN:Business Process Model and Notation,是国际对象管理组织(OMG)基于BPMI在2011年推出的业务流程建模与标记开放标准。如果对OMG和BPMN的理解还不够直观,另外一个同组织同类型的标准----UML,可能会让你更加清楚OMG及其发布的开放标准是什么。以下是OMG官网关于BPMN介绍的两个截图: 在这里插入图片描述 在这里插入图片描述 BPMN框架概念介绍: 流对象 它们会展示业务流中的行为,并包含以下内容: 活动:人员或系统执行的工作或任务(显示为圆角矩形)。 事件:流程中发生的事情:开始、中间和终止(以圆圈表示)。 网关:描述流程中的顺序流路径(以菱形表示)。其他细节可以包括决策点。 数据对象 数据对象可以提供流程中数据的信息。数据有四种表现方式: 数据输入是与数据相关的任务(以一个卷角页面和右箭头表示)。只有收集到具体数据才能继续往前推进。 数据输出用于显示流程何时生成数据(以一个卷角的页面和实心右箭头表示)。 数据收集(显示为一个卷角的页面,底部中心带有三条实线)是指流程中所需的任何数据收集行为(例如,调查)。 数据存储(显示为容器),用于存储从流程中收集的任何数据。 连接对象 它们将流对象相互连接,或连接至其他信息,并显示流程: 顺序流(以实心右箭头表示)描述了所执行活动的顺序。 消息流(以左侧带有圆圈的虚线右箭头表示)描述了参与者之间的消息流动和流向。 关联(显示为虚线)可以将文本和人工信息链接到事件。 泳道 这个术语代表“池”和“道”。 池:单个流程的“容器”。 道:将池里面的活动再细分成几个部分,可以是垂直的也可以是水平的,以显示职责和事件的位置。 人工信息 人工信息提供了流程的额外细节。它分为两种类型: 组:以虚线的圆角矩形表示,它们围绕一组元素来显示元素之间的关系。 文本注释:只是简单的备注(前面带有一个左括号),读者无需深入查看就可以轻松了解内容,也称为注解。

2. 为什么要使用BPMN?

在不使用BPMN时,如何实现流程控制: 在业务代码里面加入 Status(状态机) 字段维护流程状态,流程负责的审批人可能也是 Hard Code(硬编码),好处是实现流程刚开始会比较快,但是长远来看会出现几个问题:

流程健壮性差,但凡出现人员变动,或者组织结构调整,就需要修改代码,维护成本高 定制化开发,流程无法复用,当组织出现新的工作流程,又要重新写一套代码,开发成本非常高 流程和业务代码耦合,你中有我,我中有你(并不符合单一职责和解耦的设计原则),业务流程发送变化时,修改成本高

使用BPMN后: 4. 业务逻辑可视化,开发成员内部以及客户沟通无障碍,利于发现流程缺陷、洞察待改善的潜在领域及促进业务理解一致; 5. 同一组织架构或者同类业务模型可高质量复用,提高开发效率同时提升软件质量; 6. 从设计层面对系统架构进行解耦:流程引擎可以和技术栈无关; 7. 有行业规范,遵循行业标准



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有