一:简介

Camunda 团队成员是Activiti中的成员,Camunda是基于Activiti5的二次开发,同时提供Camunda7(组件方式)和Camunda8(云原生:部署在k8s,使用es作为数据库)两套并行发展。

二:特色功能

  • 支持外部任务ExternalTask。
  • 支持多语言(如java/go/python/nodejs等),提供了常用的SDK。
  • 支持微服务:而Camunda可以通过rest api 将审批业务独立成一个单独的服务,供其它多个系统共同使用。
  • 嵌入式用法: 像Activit和Flowable一般都是将工作流引擎嵌入到应用系统中。
  • 中间件用法:将工作流引擎独立作为一个服务,供多个外部系统同时使用。
  • 支持集群模式:请求 -> nginx -> 微服务工作流引擎应用。
  • 目前最好用的流程设计软件 Camunda Modeler。
  • 提供了webapp 可以学习、演示、查看、管理流程等。
  • 多了几个Service:AuthorizationService、CaseService、FilterService、ExternalTaskService、DecisionService,相应表也会增加。
  • 提供了一套Rest API,提供了Swagger和Postman上发送请求。
  • 多了SendTask。
  • ScriptTask支持外部脚本。
  • 流程图的中线的条件支持脚本方式。

三:比较

  • Activiti7:提供最核心最基础的功能。共25张表。
  • Flowable:在Activiti6的基础上进行完善,提供了FlowableUI,提供了节点跳转等功能。共79张表。
  • Camunda:在Activiti5的基础上进行较大程度的二次开发,提供了专用的流程设计器软件、提供了很多特色功能,共49张表。

四:选型

国外以Camunda为主,目前国内使用较少,国内主要使用Flowable,目前交通银行在使用Camunda。

五:流程设计器

Camunda简介_微服务

Camunda简介_微服务_02


🔧:修改任务的类型。

Camunda简介_工作流引擎_03

部署:REST endpoint=http://localhost:8080/engine-rest 是集成Camada的SpringBoot项目,其中engine-rest是固定的。

Camunda简介_camunda_04

启动流程实例:

Camunda简介_github_05


业务Key和变量都是可选的。

Camunda简介_github_06

五:webapp

http://localhost:8080/camunda admin 123456, 可以对任务流程等进行操作,webapp的接口就是使用的rest api。

Camunda简介_github_07

Camunda简介_工作流引擎_08