Camunda实战教程之员工请假流程

2023年 7月 31日 68.4k 0

本文中使用的Camunda版本为7.17。

本文内容以员工请假流程为例子对Camunda的整合使用进行说明,涉及基础组件,但并不完全,不然篇幅就过大了。

目的是为了让对Camunda工作流感兴趣却又无从下手的同志,花1小时的时间了解其工作方式,快速判断是否适合自己。

环境准备

官网:camunda.com/

中文站点:camunda-cn.shaochenfeng.com/

流程绘制器下载:camunda.com/download/mo…

流程管理平台下载:camunda.com/download/pl…

重点说明一下流程绘制器和流程管理平台:

流程绘制器

是一个可视化的流程图绘制工具,Camunda提供了支持多平台的软件下载链接,按需下载,启动后如下所示:

image-20230727100319835

实战中我们选择的是Camunda Platform 7的BPMN diagram,这表示Camunda版本为7的BPMN绘图。至于Camunda8他有些组件是商业授权,所以先不考虑这个了。

在流程绘制器里面作图,仍然需要一些学习成本,因为绘制器包含的组件太多,所以本文仅对场景设计所涉及的组件进行说明,有需要可以自行查看这方面的教程。

流程管理平台

我们在流程绘制器作好图之后,就可以把他部署到Camunda引擎中,这一步叫:部署流程,部署流程就是将流程推送到流程管理平台上面,这种推送有很多种方式,最简单的我们可以通过流程绘制器下面的按钮部署:

image-20230727101129838

这里要提醒一下,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进入:

image-20230727102043578

上图中Cockpit是流程信息,部署的流程、流程实例等都在这里查看;

Tasklist的任务列表,顾名思义与当前用户有关的流程任务在这里显示;

Admin是用户、组、租户等这些授权相关,具体后面再说。

本文采用方式三的方式部署流程管理平台,更灵活,也比较实际一些,因为项目开发时肯定要和系统业务作关联嘛。

实战场景:员工请假流程

**场景说明:**员工发起请假申请,天数1天并且

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论