简介
Camunda是一个基于Java的框架,支持用于工作流和流程自动化的BPMN、用于案例管理的CMMN和用于业务决策管理的DMN。笔者单位里主要是用于业务审批。
学习了解资料尽量去官方查看https://docs.camunda.org,查看版本7.18,一步一个环节比较详细,如下图:
![](https://img-blog.csdnimg.cn/img_convert/5bb975e01ff0e37a1e09e666fe97f1b0.png)
整体功能
camunda到底包含哪些,可以从官方的一张图来解读分析:
![](https://img-blog.csdnimg.cn/img_convert/28c1c52eb1fe3879b89498b7ed9fc652.png)
1.从BPM应用维度看
Camunda分为流程设计和流程运行两个阶段,见图中最下方的蓝色大箭头,Model和Execute,按照这两个阶段,Camunda划分为两大部分功能,对应设计阶段的功能有 Modeler,对应运行阶段的功能有Engine、TaskList、Cockpit、Admin。Engine是潜在的驱动。
![](https://img-blog.csdnimg.cn/img_convert/12fc8862b7cd25f4e014e4cd9dd9d0d7.png)
2.从BPM功能维度看
Camunda包括了流程设计器(Modeler)、流程引擎(Engine)、API接口(REST/Java API)、任务列表(TaskList)、流程管理控制台(Cockpit)、系统管理工具(Admin)。在Camunda商业产品中还包括了流程监控预警工具(Optimize)、流程协同设计工具(Cawemo)。这里重点先说一下Camunda流程设计器,支持两种模式,一种是富客户端的流程建模工具Camunda Modeler,需要在客户端安装;另一种是基于浏览器的流程设计器bpmn.io,这两款软件均开源。笔者公司选用了Camunda Modeler客户端来设计流程。
![](https://img-blog.csdnimg.cn/img_convert/cf19ce3b17d3cb562c6337018769e237.png)
3.从BPM角色维度看
Camunda分为业务分析师、流程开发工程师、最终用户、流程管理员、系统管理员这几个角色,每个角色对应BPMS不同的功能。业务分析师、流程开发工程师使用流程设计器(Modeler)进行流程建模,最终用户使用任务列表(TaskList)进行流程发起和审批,流程管理员使用流程管理控制台(Cockpit)进行流程管理,比如流程暂停恢复、流程异常干预等,系统管理员使用系统管理工具(Admin)进行系统管理,比如组织用户管理、权限管理等
![](https://img-blog.csdnimg.cn/img_convert/38ee54ba568fca10d4b3522c4455af57.png)
4.从database层面上看
camunda支撑的数据库有如下列表,使用者可以根据自己需要选择。
Oracle
IBM DB2 (excluding IBM z/OS for all versions)
PostgreSQL
Microsoft SQL Server 2008
H2
camunda服务搭建
笔者搭建学习都是看官方文档,中途也看了翻译的电子文档,但翻译多少有偏差,看官方文档比较给力,整理了下面表格,足够起步。
功能 | 文档 | 备注 |
architecture | https://docs.camunda.org/manual/7.18/introduction/architecture/ | 整体概述 |
Spring Boot Project | https://docs.camunda.org/get-started/spring-boot/project-setup/ | 与springboot结合 |
external task | https://docs.camunda.org/get-started/quick-start/service-task/ | 外部任务 |
User Task | 用户任务 | |
gateway | 流程网关 | |
User Task Forms | 用户任务表单 | |
DMN | https://docs.camunda.org/get-started/quick-start/decision-automation/ | |
External Task Client Spring Boot Starter | https://docs.camunda.org/manual/latest/user-guide/ext-client/spring-boot-starter/ | |
启用Groovy脚本引擎 | 启用Groovy脚本引擎,需要在引擎应用引入以下依赖。 <dependency> <groupId>org.apache.groovy</groupId> <artifactId>groovy</artifactId> <version>4.0.6</version> </dependency> <dependency> <groupId>org.apache.groovy</groupId> <artifactId>groovy-jsr223</artifactId> <version>4.0.6</version> </dependency> | |
REST API | ||
集群部署 | ||
juel | https://blog.csdn.net/weixin_41679427/article/details/110310166 |
总结
通过上面可以初步了解明白,下面一篇会详细介绍与springboot架构融合。