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

开源流程引擎对比分析:https://lowcode.blog.csdn.net/article/details/116405594

一、准备工作

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

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

二、安装部署Camunda

下载camunda-bpm 7.15稳定版。

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

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

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

Camunda Platform 部署包结构:

执行两个启动脚本之一(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/

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

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

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

三、安装流程设计器

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

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

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

四、流程设计

选择BPMN流程图

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

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

五、流程发布

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

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

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

六、流程启动

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

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

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

提交流程

七、流程审批

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

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

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

八、流程监控

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

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

九、总结

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

Camunda开源流程引擎快速入门——Hello World的更多相关文章

  1. 基于camunda开源流程引擎如何实现会签及会签原理解析

    一.背景 市场上比较有名的开源流程引擎有osworkflow.jbpm.activiti.flowable.camunda.由于jbpm.activiti.flowable这几个流程引擎出现的比较早, ...

  2. camunda开源流程引擎的数据库表结构介绍

    Camunda bpm流程引擎的数据库由多个表组成,表名都以ACT开头,第二部分是说明表用途的两字符标识.本文以Camunda7.11版本为例,共47张表. ACT_RE_*: 'RE'表示流程资源存 ...

  3. Slickflow.NET 开源工作流引擎快速入门之三: 简单或分支流程代码编写示例

    前言:对于急切想了解引擎功能的开发人员,在下载版本后,就想尝试编写代码,完成一个流程的开发和测试.本文试图从请假流程,或分支模式来快速了解引擎代码的编写. 1. 创建或分支流程图形 或分支流程是常见的 ...

  4. Slickflow.NET 开源工作流引擎快速入门之二: 简单并行分支流程代码编写示例

    前言:对于急切想了解引擎功能的开发人员,在下载版本后,就想尝试编写代码,完成一个流程的开发和测试.本文试图从一个最简单的并行分支流程来示例说明,如何快速了解引擎代码的编写. 版本:.NET Core2 ...

  5. Slickflow.NET 开源工作流引擎快速入门之一: 简单序列流程代码编写示例

    前言:对于急切想了解引擎功能的开发人员,在下载版本后,就想尝试编写代码,完成一个流程的开发和测试.本文试图从一个最简单的流程来示例说明,如何快速了解引擎代码的编写. 版本: .NETCore 2.1 ...

  6. Slickflow.Graph 开源工作流引擎快速入门之四: 图形编码建模工具使用手册

    前言: 业务人员绘制流程时,通常使用图形GUI界面交互操作来完成,然而对于需要频繁操作或者管理较多流程的系统管理用户,就需要一款辅助工具,来帮助他们快速完成流程的创建和编辑更新.Slickflow.G ...

  7. 开源流程引擎camunda如何扩展

    ​  市场上基于Java语言的开源工作流引擎有:osworkflow.jbpm.activiti.flowable.camunda等,其中osworkflow.jbpm流程引擎已经过时,目前主流的开源 ...

  8. 开源流程引擎osworkflow、jbpm、activiti、flowable、camunda哪个好?

    市场上比较有名的开源流程引擎有osworkflow.jbpm.activiti.flowable.camunda.其中:Jbpm4.Activiti.Flowable.camunda四个框架同宗同源, ...

  9. 开源流程引擎Camunda BPM如何扩展数据库表

    前言 在使用开源流程引擎(如:JBPM.Activiti.Flowable.Camunda等)的时候,经常会遇到这样的需求,我们需要按照业务需求增加一张数据库的表,而且这张表是跟工作流引擎有交互的(注 ...

随机推荐

  1. 控制器全屏显示.不展示导航栏navigationbar

    有些时候需要 让控制器全屏显示 ,不需要导航栏,或者说是在导航栏底部 基本情况: >控制器全屏 ``` if (@available(iOS 11.0, *)) { self.tableView ...

  2. 企业应用架构研究系列二十七:Vue3.0 之环境的搭建与Vue Antd Admin探索

    开发前端需要准备一些开发工具,这些工具怎么安装就不详细描写了,度娘一些很多很多.主要把核心的开发工具列表一些,这些资源也是非常容易找到和安装的. Node 安装:https://nodejs.org/ ...

  3. Grafana插件Plugin中文汉化

    示例Github地址 汉化三方插件 前面说过汉化Grafana的工作.目前在7.2.1上面,大部分已经完成.细节继续完善. 今天考虑在第三方插件上做一些汉化.点到插件一看全是英文感觉很突出.领导看到了 ...

  4. 安卓记账本开发学习day8之导入外部依赖

    以要使用的柱状图分析显示为例,项目文件夹最外层的build.gradle,加入下列语句 allprojects { repositories { google() jcenter() maven { ...

  5. mouseenter 和 mouseover 的区别

    当鼠标移动到元素上时就会触发mouseenter事件 类似mouseover,它们两者之间的差别是 mouseover鼠标经过自身盒子会触发,经过子盒子还会触发.mouseenter只会经过自身盒子触 ...

  6. python基础练习题(题目 求输入数字的平方,如果平方运算后小于 50 则退出)

    day32 --------------------------------------------------------------- 实例046:打破循环 题目 求输入数字的平方,如果平方运算后 ...

  7. 为什么HttpContextAccessor要这么设计?

    前言 周五在群里面有小伙伴问,ASP.NET Core这个HttpContextAccessor为什么改成了这个样子? 在印象中,这已经是第三次遇到有小伙伴问这个问题了,特意来写一篇记录,来回答一下这 ...

  8. 【论文阅读】ConvNeXt:A ConvNet for the 2020s 新时代卷积网络

    一.ConvNext Highlight 核心宗旨:基于ResNet-50的结构,参考Swin-Transformer的思想进行现代化改造,知道卷机模型超过trans-based方法的SOTA效果. ...

  9. React ant table 用 XLSX 导出excel文件

    近期做了一个react ant design 的table转换成excel 的功能 总结下 首先我们会自己定义下 antdesign 的table的columns其中有可能有多语言或者是render方 ...

  10. [AcWing 800] 数组元素的目标和

    点击查看代码 #include<iostream> using namespace std; const int N = 1e5 + 10; int a[N], b[N]; int mai ...