详解SpringCloud集成Camunda7.19实现工作流审批(一)
背景是公司里的一个企业管理系统项目里许多业务涉及了审批流,因此需要引进工作流引擎来开发一个通用的工作流服务,经过调研最终采用的是集成Camunda7.19版本引擎来实现
一、参考资源
Camunda学习笔记(一)–Camunda简介 - EchoLv - 博客园
三大工作流引擎技术Activiti、Camunda、Flowable选型指南-阿里云开发者社区
snail-camunda: Camunda二次封装以及相关功能使用介绍。 中国式工作流解决方案。
二、工作流简介
工作流:
是对工作流程及其各个操作步骤之间业务规则的抽象、概括描述;工作流将复杂的业务逻辑分解成一个个的逻辑段,并统一控制这些逻辑段的执行条件、顺序、相互通信,实现业务逻辑的分解和解耦。
为什么使用工作流?
满足企业日常的流程管理,使流程运行的过程更加清晰;提升企业时间成本、信息化水平
三、工作流引擎
市面上主流的工作流引擎有Activity、Flowable、Camunda
等
关于他们的详细对比参考:三大工作流引擎技术Activiti、Camunda、Flowable选型指南-阿里云开发者社区
四、Camunda安装
Camunda提供了友好的用户平台,分别是流程图设计器 Camunda Modeler
和 业务流程管理平台 Camunda Platform(Camunda bpm)
1.流程图设计器
Download The Camunda BPMN / DMN Process Modeler | Camunda
下载好后解压即可运行,界面如图所示
注意:左下角需要选择好集成的版本,本次使用的是7.19,这里版本如果选错可能会导致部署失败等各种问题
2.流程管理平台
Camunda Automation Platform 7 Initializr
如上图所示,访问上面的地址后,我们来到camunda7 demo项目生成界面
但是这里可以看到现在已经选不到7.19版本了,为什么选7.19,是因为他是最后一个支持java8的版本,同时支持springboot2.7.X
springboot和camunda版本对应参照:
解决办法:
先生成一个7.20.0的demo项目,然后再去项目里修改pom文件里的版本,如图所示
启动demo
改好后,这里我们直接先建一下camunda服务的数据库,配置在demo项目里(camunda默认启动项目会在数据库里自动建表)
如下图所示,注意红字部分,当时这里也是趟过坑
启动成功后,查看数据库,可以看到已经自动建表成功,如下图这些都是camunda自动创建的表(启动的时候如果报错XX表找不到,再次重启即可,前提要配置上图的数据库连接参数)
从官网生成的demo项目里,在resources目录下是有一个bpmn流程图文件的,如下图所示,默认camunda项目启动后,会把静态资源目录下的bpmn流程图自动执行流程部署(前期使用这种方式部署自动流程图方便调试,后期会改成手动调用接口部署)
访问
这里我改了下demo项目的启动端口,如果没改默认是8080,直接访问 http://localhost:8080/ 即可进入camunda流程管理页面,如下图所示
登录账号密码为刚刚上图配置文件里配置的
登录后,可以看到下面的功能,分别主要的用处是 管理流程(流程图、流程部署),管理任务(查看当前任务,处理任务),管理用户(创建用户、群主、租户等)
(这里我们如果进入流程管理则可以看到camunda已经将上面resources目录下的process.bpmn给自动部署了)
五、集成到SpringCloud项目
cloud微服务架构项目和单体项目的集成步骤无太大差异,主要是一些配置放到了nacos远程配置文件上,如下图
这里自动部署的配置默认就是true(开启),如果配置false,则启动项目不会自动部署resources目录下的流程图(在子文件夹里也会读取到)
本篇就先讲到这里,后续会依次详细讲解:
- camunda流程图画图工具使用、camunda bpm平台如何使用(怎么操作走完一个流程)
- springcloud微服务里如何写接口结合camunda提供的api来实现流程、任务、用户等操作;
- 如何与具体业务结合,满足不同类型业务审批需求
- 如何集成第三方的bpmn流程设计器实现在项目里画图部署流程
原文地址:https://blog.csdn.net/m0_52620144/article/details/143920653
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!