市场上比较有名的开源流程引擎有osworkflow、jbpm、activiti、flowable、camunda。由于jbpm、activiti、flowable这几个流程引擎出现的比较早,国内人用的比较多,大家对camunda流程引擎认识的不多,实际上camunda在功能上、稳定性、性能、轻量化方面均比jbpm、activiti、flowable优秀。本文通过一个简单的流程示例介绍camunda入门,新手花1个小时的时间,可把Camunda BPM运行起来。

      市场上比较有名的开源流程引擎有osworkflow、jbpm、activiti、flowable、camunda。由于jbpm、activiti、flowable这几个流程引擎出现的比较早,国内人用的比较多,大家对camunda流程引擎认识的不多,实际上camunda在功能上、稳定性、性能、轻量化方面均比jbpm、activiti、flowable优秀。

    开源流程引擎对比分析:

一、准备工作

请确保您安装了Java运行时环境8+

你可以使用终端、shell或命令行来验证: java –version

二、安装部署Camunda

下载camunda-bpm 7.15稳定版。

https://downloads.camunda.cloud/release/camunda-bpm/run/7.15/

java流程开发 java 开源流程引擎_REST

 

Camunda Platform Run是Camunda Platform的预打包发行版,包括Camunda webapps (Cockpit, Tasklist, Admin), REST API和Swagger UI的捆绑版本。Swagger UI是一个web-GUI,允许你探索Camunda Platform Run的REST API端点。

下载完成后,解压到一个目录下,绿色的无需安装。

 

java流程开发 java 开源流程引擎_java流程开发_02

Camunda Platform 部署包结构:

 

java流程开发 java 开源流程引擎_REST_03

 

执行两个启动脚本之一(Windows为start.bat, Linux/Mac为start.sh)。

几秒钟后,您将能够通过http://localhost:8080/camunda/app/访问Camunda webapps,

通过http://localhost:8080/engine-rest/访问REST API,

通过http://localhost:8080/swaggerui/访问Swagger UI

启动完成后,访问:http://localhost:8080/camunda/app/

 

java流程开发 java 开源流程引擎_java流程开发_04

 

 

Camunda 默认密码是demo / demo,在配置文件里有配置,目前我们默认使用官方自带的H2数据库。

登录完成后,进入“Admin”后台界面,可以对用户、群组、租户、权限、系统进行管理。

 

java流程开发 java 开源流程引擎_UI_05

 

先创建user1, user2几个账号,后面流程审批时用到。

 

java流程开发 java 开源流程引擎_UI_06

三、安装流程设计器

下载camunda-modeler 流程设计器,是一个客户端应用。

https://camunda.com/download/modeler/

 

java流程开发 java 开源流程引擎_java流程开发_07

 

下载完成后,解压到一个目录下,绿色的无需安装,点击即可启动。

 

java流程开发 java 开源流程引擎_java流程开发_08

 

四、流程设计

选择BPMN流程图

java流程开发 java 开源流程引擎_UI_09

 

画一个人工审批流程,注意点击配置按钮,设置为User Task类型

 

java流程开发 java 开源流程引擎_REST_10

 

 

给审批节点设置流程处理人,直接写用户ID,要跟系统里的用户对应起来。

 

java流程开发 java 开源流程引擎_java流程开发_11

五、流程发布

流程设计完成后,点击发布流程,给流程起一个名称,配置好REST服务地址,点击Deploy即可。

java流程开发 java 开源流程引擎_流程引擎_12

 

发布完成后,进入控制台查看是否成功。点击右上方的“Cockpit”进入流程管控台,可以看到有一个流程发布成功了。

 

java流程开发 java 开源流程引擎_REST_13

 

点击进入该流程定义,可以查看流程模型具体信息

 

java流程开发 java 开源流程引擎_REST_14

 

六、流程启动

进入“Tasklist”流程任务门面界面,点击右上角的“start  process”按钮,即可发起流程。

java流程开发 java 开源流程引擎_流程引擎_15

 

 

可以给该流程实例起一个名称,便于后面查找,具体应用中要跟业务表单关联。也可以给该流程增加一些流程变量,实际应用中要跟业务表单字段关联。

 

java流程开发 java 开源流程引擎_流程引擎_16

 

流程启动后,还在申请人节点,点击Claim,获取流程处理权限,点击Complete,完成流程提交,此时流程到达下一任务节点了。

 

java流程开发 java 开源流程引擎_REST_17

 

提交流程

java流程开发 java 开源流程引擎_REST_18

 

 

 

 

七、流程审批

通过user1账号登录,可查看到demo用户提交过来的流程待办任务

java流程开发 java 开源流程引擎_流程引擎_19

 

可以添加流程审批意见,也可以不填写。

 

java流程开发 java 开源流程引擎_UI_20

 

点击“complete”即可完成流程提交。

 

java流程开发 java 开源流程引擎_java流程开发_21

八、流程监控

 上面操作完成了流程启动和审批,在流程实例监控页面可以动态查看流程实例情况。

 

java流程开发 java 开源流程引擎_UI_22

 

点击该流程实例进入,可以查看详细的流程状态。

 

java流程开发 java 开源流程引擎_REST_23

 

九、总结

         Camunda流程引擎在功能方面、性能方面、轻量化方面、易用性方面都比activiti、flowable要略胜一筹,即使是新手花1个小时的时间,即可把Camunda BPM运行起来。云程低代码开发平台基于Camunda流程引擎开发,在多个项目上进行了验证,性能稳定可靠。

 

专注云原生、低代码、流程引擎研发和应用。