💖专栏简介
✔️本专栏将从Camunda(卡蒙达) 7中的关键概念到实现中国式工作流相关功能。
✔️文章中只包含演示核心代码及测试数据,完整代码可查看作者的开源项目snail-camunda
✔️请给snail-camunda 点颗星吧😘
💖系列文章
链接
💖什么是Camunda
Camunda7基于activiti5发展而来,所以其保留了PVM,最新版本Camunda 7.20.0 ,开发团队也是从Activiti的核心人员,发展轨迹和Flowable相似。
Camunda在应对高并发时有着优异的表现,并且大部分Api都提供了批处理,对开发者来说非常友好。
Camunda可以在任意节点添加属性、支持流程实例从任意节点重启,关于这一点我只能说牛掰!
Camunda不仅带有引擎,还有很多强大的工具,用于建模、任务管理、监控和用户管理等。
💖如何学习Camunda
学习Camunda的步骤也是本专栏的大体创作顺序:
- 要对BPMN2.0有简单的了解,否则流程图都无法正确设计。BPMN(Business Process Modeling Notation)指业务流程建模与标注,包括这些元素如何组合成一个业务流程图。
- 通过Camunda的流程建模器设计一个流程模型,发布并体验流程发起至结束的整个过程。
- 深入了解Camunda并在SpringBoot中集成Camunda并模拟发起流程实例、审批等操作。
- 使用BPMN2.0中的不同元素。
- 针对工作流使用过程中的重难点逐步击破。
- 针对中国式工作流提供解决思路或实际案例,例如:驳回、加签等。
- 提供类似钉钉审批流程的实现案例,即Json转BPMN。
💖流程引擎架构
下图为Camunda的一些重要的组件:
- Tasklist【任务列表】用于人工管理工作流和用户任务的 Web 应用程序。
- Cockpit【驾驶舱】用于流程监控和操作的 Web 应用程序。
- Admin【管理员】是用来管理用户、组、权限等。
BPMN 2.0 核心引擎具有用于图形结构的轻量级执行引擎(PVM - Process Virtual Machine)、一个将 BPMN 2.0 XML 文件转换为 Java 对象的解析器和一组 BPMN 行为实现。
我们可以将Camunda直接集成到应用程序中:
也可以作为独立服务让多个应用程序共享: