【流程引擎】--Camunda基础及sprringboot简单集成Camunda

目录

  • 一、前言
  • 二、Camunda基本介绍
    • 2.1、camunda基础--符号表示
    • 2.2、camunda基础--网关表示
    • 2.3、camunda基础--事件表示
  • 三、springboot集成Camunda
  • 四、后续

一、前言

目前市场上有常见的流程引擎:JBPM、Activiti、Camunda、Flowable、CompileFlow。它们的发展史如下:
【流程引擎】--Camunda基础及sprringboot简单集成Camunda_第1张图片
Camunda 官方首页:https://camunda.com/
Camunda 官方文档:https://docs.camunda.org/get-started/quick-start/
Camunda 中文翻译文档:http://camunda-cn.shaochenfeng.com/
Camunda github:https://github.com/camunda/
Camunda engine rest api 详细接口及参数参考:https://docs.camunda.org/manual/7.9/reference/rest/

二、Camunda基本介绍

2.1、camunda基础–符号表示

【流程引擎】--Camunda基础及sprringboot简单集成Camunda_第2张图片【流程引擎】--Camunda基础及sprringboot简单集成Camunda_第3张图片
【流程引擎】--Camunda基础及sprringboot简单集成Camunda_第4张图片
【流程引擎】--Camunda基础及sprringboot简单集成Camunda_第5张图片
在这里插入图片描述
在这里插入图片描述
【流程引擎】--Camunda基础及sprringboot简单集成Camunda_第6张图片
服务任务用于调用服务。在 Camunda 中,这是通过调用 Java 代码或为外部执行者提供一个工作单元来完成的。
【流程引擎】--Camunda基础及sprringboot简单集成Camunda_第7张图片
发送任务( Send Task)是一种比较简单的任务,用来把消息发送给外部参与者。当消息发送完毕,这个任务也就结束了。
在这里插入图片描述
用户任务( User Task)用于为那些需要由人工参与者完成的工作建模。当流程执行到一个用户任务时,将在分配该任务的用户或组的任务列表中创建一个新任务。
在这里插入图片描述
业务规则任务用于同步执行一个或多个规则。

在这里插入图片描述
脚本任务( Script Task)是一个自动化的活动。当流程执行到脚本任务时,将执行相应的脚本。
【流程引擎】--Camunda基础及sprringboot简单集成Camunda_第8张图片
流程将保持这种等待状态,直到流程引擎接收到特定的消息,这将触发接收任务之外流程的继续进行。
【流程引擎】--Camunda基础及sprringboot简单集成Camunda_第9张图片
流程将保持这种等待状态,直到流程引擎接收到特定的消息,这将触发接收任务之外流程的继续进行。

2.2、camunda基础–网关表示

【流程引擎】--Camunda基础及sprringboot简单集成Camunda_第10张图片
只选择条件评估通过的序列列继续执行。
【流程引擎】--Camunda基础及sprringboot简单集成Camunda_第11张图片
并行执行后续流程。
【流程引擎】--Camunda基础及sprringboot简单集成Camunda_第12张图片
包含网关是排他网关和并行网关结合。从包含网关传出序列流进行条件评估,条件评估为真的(多个)会并行执行;到达包含网关的所有并发执行在网关等待,等所有传入序列流都执行到达为止。

2.3、camunda基础–事件表示

【流程引擎】--Camunda基础及sprringboot简单集成Camunda_第13张图片

三、springboot集成Camunda

这里选择springboot、camunda版本选型如下:
springboot camunda jdk
2.5.3 7.16.0 8

引用camunda的jar包如下:


	org.camunda.bpm.springboot
	camunda-bpm-spring-boot-starter
	7.16.0



	org.camunda.bpm.springboot
	camunda-bpm-spring-boot-starter-rest
	7.16.0



	org.camunda.bpm.springboot
	camunda-bpm-spring-boot-starter-webapp
	7.16.0

application.yml配置如下:

spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/camunda?useSSL=false&useUnicode=true&characterEncoding=utf8&serverTimezone=UTC
    username: root
    password: root

mybatis-plus:
  mapper-locations: classpath:/mapper/*.xml
  global-config:
    db-config:
      id-type: auto
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
    call-setters-on-nulls: true

# camunda配置
camunda:
  bpm:
    admin-user:
      id: admin
      password: 123456
      first-name: 
    filter:
      create: All tasks
    database:
      type: mysql
      schema-update: true
    auto-deployment-enabled: true
    deployment-resource-pattern: classpath:/processes/*.bpmn

Camunda数据库:
camunda依赖相关数据库表,按照上面的配置,启动后,会生成相关表如下。
【流程引擎】--Camunda基础及sprringboot简单集成Camunda_第14张图片
act_ge_bytearray 二进制数据表
act_ge_property 属性数据表存储整个流程引擎级别的数据,初始化表结构时,会默认插入三条记录
act_re_deployment 部署信息表
act_re_model 流程设计模型部署表
act_re_procdef 流程定义数据表
act_ru_event_subscr throwEvent、catchEvent时间监听信息表
act_ru_execution 运行时流程执行实例表
act_ru_identitylink 运行时流程人员表,主要存储任务节点与参与者的相关信息
act_ru_job 运行时定时任务数据表
act_ru_task 运行时任务节点表
act_ru_variable 运行时流程变量数据表

按照上面配置后,启动springboot,即可启动,访问http://localhost:8033/
进入camunda页面,到此简单的集成即完成。
【流程引擎】--Camunda基础及sprringboot简单集成Camunda_第15张图片

四、后续

后续将介绍实际的流程。。。。。。

你可能感兴趣的:(流程引擎,java)