Camunda学习-工作流

一.简介

Camunda是一个开源的工作流引擎,可以用于设计、执行和监控各种业务流程。它使用BPMN和DMN标准来建模和定义业务流程,同时提供了丰富的API和工具,用于与其他系统进行集成和扩展。

以下是一些Camunda工作流的主要特点:

  1. 强大的建模工具:Camunda提供了一系列建模工具,如Camunda Modeler,使用户能够轻松地创建和编辑BPMN和DMN模型,以便更好地理解和管理业务流程。

  2. 易于集成:Camunda具有广泛的集成能力,可以很容易地与其他系统进行连接。它提供了多种API和插件,可用于与Java、Spring等技术进行集成,同时还支持REST API和消息队列等通信机制。

  3. 强大的任务管理:Camunda具有灵活的任务管理功能,支持多种任务类型(如用户任务、服务任务、定时任务等)和任务分配方式(如组任务、候选人任务等),可以根据不同的条件自动分配和处理任务。

  4. 高效的流程执行:Camunda具有高效的流程执行能力,可以处理大量的流程实例和并发任务,并提供了可配置的线程池和异步执行机制,以提高性能和可伸缩性。

  5. 实时监控和管理:Camunda提供了强大的监控和管理工具,如Cockpit和Tasklist,使用户能够实时监控和管理运行中的流程实例、任务、变量等信息,以及执行历史记录和统计数据。

  6. 可扩展性:Camunda具有良好的可扩展性,可以通过编写自定义插件、监听器、表单渲染器等,来满足特定的业务需求。

二.使用简介

1.设计工作流程图

下载安装Camunda Modeler 详见 https://www.jianshu.com/p/d07439a3fe1c。安装好流程设计软件后就可以设计流程图了。

2.搭建java环境

1).引入jar包

<dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>8.0.33</version>
    </dependency>
<dependency>
  <groupId>org.camunda.bpm.springboot</groupId>
  <artifactId>camunda-bpm-spring-boot-starter</artifactId>
  <version>7.19.0</version>
</dependency>
<dependency>
  <groupId>org.camunda.bpm.springboot</groupId>
  <artifactId>camunda-bpm-spring-boot-starter-webapp</artifactId>
  <version>7.19.0</version>
</dependency>
<dependency>
  <groupId>org.camunda.bpm.springboot</groupId>
  <artifactId>camunda-bpm-spring-boot-starter-rest</artifactId>
  <version>7.19.0</version>
</dependency>

2).配置配置文件

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://172.16.15.18:3306/camunda719?useSSL=false
    password: test
    username: test



camunda:
  bpm:
    # 配置账户密码来访问Camunda自带的管理界面
    admin-user:
      id: admin
      password: admin
      first-name: admin
    filter:
      create: All tasks
    #指定数据库类型
    #    database:
    #      type: mysql
    #禁止自动部署resources下面的bpmn文件
    auto-deployment-enabled: false
    #禁止index跳转到Camunda自带的管理界面,默认true
    #    webapp:
    #      index-redirect-enabled: false

3.部署工作流程图

将设计好的流程文件拷贝到java项目resources文件夹下(流程文件一般是.bpmn格式的文件)

4.启动流程实例

部署好后就可以启动流程实例。

proKey为流程设计时流程名称。

busKey为业务表单的唯一键。

对应设置流程变量的流程可以以HashMap类型设置变量值。

ProcessInstance instance = runtimeService.startProcessInstanceByKey(proKey,busKey, new HashMap<>());
runtimeService.setVariable(instance.getId(), "day", "5");

4.审批流程

调用一下代码完成流程审批

Task task = taskService.createTaskQuery().processDefinitionKey(proKey).processInstanceBusinessKey(busKey).singleResult();
taskService.setAssignee(task.getId(),opUid);
String comment = "同意";
taskService.createComment(task.getId(), task.getProcessInstanceId(), comment);
taskService.complete(task.getId());

三.CRM和Camunda工作流存在问题及解决方案

1.CRM工作流问题

1).CRM流程流转依赖于业务表flag标识逻辑,一个流程只能配置一个标识。无法满足多条件判断。camunda可以设置多个流程变量灵活多变。

2).CRM流程处理逻辑都是人员编码稳定性不高。流程配置无可视化配置,配置不直观。camunda有可视化配置界面。

3).CRM流程固定无法动态加入流程步骤。camunda可是实现加签和会签。

4).CRM流程审批完成逻辑每次都得修改通用审核提交方法,容易出问题。camunda可以设置服务任务,监听器来完成,符合开闭原则。

2.Camunda工作流问题

1).流程审批不支持多人,必须设置具体审批人,否则需要领取步骤。设置审批人可以通过监听器来灵活配置。

2).流程代办信息存储的信息比较少,无法像CRM那样灵活的组合sql查询代办已办。

3).流程需要java程序,无法内嵌到CRM(.net)中。

4).流程设置具体审批人,人员离职需要预留处理逻辑。camunda可以重新设置审批人。

四.参考文档

1.Camunda 7工作流引擎 API 以及与Springboot集成实现工作流配置全纪录_camunda7-CSDN博客

2.BPMN2.0协议简介-CSDN博客

3.camunda数据库表结构介绍camunda数据库表结构介绍_camunda 表结构-CSDN博客

4.Camunda 流程引擎API介绍

Camunda 流程引擎API介绍_camunda api-CSDN博客

5.Camunda流程平台 中文站

Camunda 中文站 | docs.camunda.org

  • 11
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Camunda工作流实战是一本介绍Camunda工作流引擎实际应用的文档,由作者老柳编写。该文档旨在帮助读者深入了解Camunda工作流引擎的基本概念、核心组件和实际应用方法。 文档首先介绍了Camunda工作流引擎的基本原理和特点。Camunda是一款开源的轻量级工作流引擎,它以BPMN 2.0为基础,并提供了强大的流程定义、执行和监控功能。它支持各种任务类型、流程变量管理以及用户任务的分派和处理。 接着,文档详细介绍了Camunda工作流引擎的核心组件。这包括流程定义、流程实例、任务、流程变量、表达式和监听器等。通过实际示例和代码演示,读者可以学会如何使用这些组件来设计和管理工作流程。 文档通过大量的实战案例展示了Camunda工作流引擎在实际应用中的价值。它可以应用于各种场景,如订单处理、审批流程、工作流程等。通过自定义表单、创建流程定义和设计任务等操作,读者可以学会如何在自己的项目中应用Camunda工作流引擎。 最后,文档提供了相关资源和下载链接,方便读者深入学习和实践。它包括Camunda官方文档、论坛、示例代码等。读者可以根据自己的需求下载和安装Camunda工作流引擎,并根据文档中的实战案例进行实践和学习。 总的来说,Camunda工作流实战是一本全面介绍Camunda工作流引擎的实际应用的文档。通过它,读者可以了解Camunda工作流引擎的基本原理、核心组件和实际应用方法,从而在自己的项目中应用和优化工作流程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值