提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
Spring Boot + BPMN流程管理引擎实践
前言
本文首先介绍了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时,如何实现流程控制:</