本文中使用的Camunda版本为7.17。
本文内容以员工请假流程为例子对Camunda的整合使用进行说明,涉及基础组件,但并不完全,不然篇幅就过大了。
目的是为了让对Camunda工作流感兴趣却又无从下手的同志,花1小时的时间了解其工作方式,快速判断是否适合自己。
环境准备
官网:camunda.com/
中文站点:camunda-cn.shaochenfeng.com/
流程绘制器下载:camunda.com/download/mo…
流程管理平台下载:camunda.com/download/pl…
重点说明一下流程绘制器和流程管理平台:
流程绘制器
是一个可视化的流程图绘制工具,Camunda提供了支持多平台的软件下载链接,按需下载,启动后如下所示:
实战中我们选择的是Camunda Platform 7的BPMN diagram,这表示Camunda版本为7的BPMN绘图。至于Camunda8他有些组件是商业授权,所以先不考虑这个了。
在流程绘制器里面作图,仍然需要一些学习成本,因为绘制器包含的组件太多,所以本文仅对场景设计所涉及的组件进行说明,有需要可以自行查看这方面的教程。
流程管理平台
我们在流程绘制器作好图之后,就可以把他部署到Camunda引擎中,这一步叫:部署流程,部署流程就是将流程推送到流程管理平台上面,这种推送有很多种方式,最简单的我们可以通过流程绘制器下面的按钮部署:
这里要提醒一下,Camunda多数是英文界面,有需要可以打中文补丁。
可以看到上图部署的路径是:http://localhost:8888/engine-rest,这就是流程管理平台,流程管理平台的启动有三种方式:
方式一:下载到本地后执行启动脚本
在上面的流程管理平台下载链接下载后,下载解压后,执行.bat或.sh启动,
访问:http://localhost:8080/
默认账密是:demo/demo
方式二:Docker
# 拉取镜像
docker pull camunda/camunda-bpm-platform:7.17.0
# 启动容器
docker run -d --name camunda -p 8080:8080 ccamunda/camunda-bpm-platform:7.17.0
方式三:Spring Boot
pom.xml:
org.springframework.boot
spring-boot-dependencies
2.3.4.RELEASE
pom
import
org.camunda.bpm
camunda-bom
7.17.0
import
pom
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-test
test
junit
junit
test
org.camunda.bpm.springboot
camunda-bpm-spring-boot-starter-rest
org.camunda.bpm.springboot
camunda-bpm-spring-boot-starter-webapp
org.camunda.bpm
camunda-engine-plugin-spin
org.camunda.spin
camunda-spin-dataformat-all
com.h2database
h2
org.springframework.boot
spring-boot-starter-jdbc
org.springframework.boot
spring-boot-starter-data-jpa
mysql
mysql-connector-java
aliyunmaven
aliyun
https://maven.aliyun.com/repository/public
application.yml:
spring.datasource.url: jdbc:h2:file:./camunda-h2-database
camunda.bpm.admin-user:
id: demo
password: demo
server:
port: 8888
改用MySQL:
spring:
datasource:
url: jdbc:mysql://mylocalhost:3306/camunda?createDatabaseIfNotExist=true&character_set_server=utf8mb4&useSSL=false&serverTimezone=Asia/Shanghai&allowMultiQueries=true
username: root
password: root
一般不会使用h2数据库,所以直接配置MySQL了,记得提前创建好数据库:camunda
启动项目后,会自动在数据库中建表,然后同样访问:http://localhost:8888 即可。
结论
不管用什么方式部署,只要流程管理平台起来了,就能访问链接,通过默认账密:demo/demo进入:
上图中Cockpit是流程信息,部署的流程、流程实例等都在这里查看;
Tasklist的任务列表,顾名思义与当前用户有关的流程任务在这里显示;
Admin是用户、组、租户等这些授权相关,具体后面再说。
本文采用方式三的方式部署流程管理平台,更灵活,也比较实际一些,因为项目开发时肯定要和系统业务作关联嘛。
实战场景:员工请假流程
**场景说明:**员工发起请假申请,天数1天并且