Camunda开源流程引擎快速入门——Hello World
市场上比较有名的开源流程引擎有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的更多相关文章
- 基于camunda开源流程引擎如何实现会签及会签原理解析
一.背景 市场上比较有名的开源流程引擎有osworkflow.jbpm.activiti.flowable.camunda.由于jbpm.activiti.flowable这几个流程引擎出现的比较早, ...
- camunda开源流程引擎的数据库表结构介绍
Camunda bpm流程引擎的数据库由多个表组成,表名都以ACT开头,第二部分是说明表用途的两字符标识.本文以Camunda7.11版本为例,共47张表. ACT_RE_*: 'RE'表示流程资源存 ...
- Slickflow.NET 开源工作流引擎快速入门之三: 简单或分支流程代码编写示例
前言:对于急切想了解引擎功能的开发人员,在下载版本后,就想尝试编写代码,完成一个流程的开发和测试.本文试图从请假流程,或分支模式来快速了解引擎代码的编写. 1. 创建或分支流程图形 或分支流程是常见的 ...
- Slickflow.NET 开源工作流引擎快速入门之二: 简单并行分支流程代码编写示例
前言:对于急切想了解引擎功能的开发人员,在下载版本后,就想尝试编写代码,完成一个流程的开发和测试.本文试图从一个最简单的并行分支流程来示例说明,如何快速了解引擎代码的编写. 版本:.NET Core2 ...
- Slickflow.NET 开源工作流引擎快速入门之一: 简单序列流程代码编写示例
前言:对于急切想了解引擎功能的开发人员,在下载版本后,就想尝试编写代码,完成一个流程的开发和测试.本文试图从一个最简单的流程来示例说明,如何快速了解引擎代码的编写. 版本: .NETCore 2.1 ...
- Slickflow.Graph 开源工作流引擎快速入门之四: 图形编码建模工具使用手册
前言: 业务人员绘制流程时,通常使用图形GUI界面交互操作来完成,然而对于需要频繁操作或者管理较多流程的系统管理用户,就需要一款辅助工具,来帮助他们快速完成流程的创建和编辑更新.Slickflow.G ...
- 开源流程引擎camunda如何扩展
市场上基于Java语言的开源工作流引擎有:osworkflow.jbpm.activiti.flowable.camunda等,其中osworkflow.jbpm流程引擎已经过时,目前主流的开源 ...
- 开源流程引擎osworkflow、jbpm、activiti、flowable、camunda哪个好?
市场上比较有名的开源流程引擎有osworkflow.jbpm.activiti.flowable.camunda.其中:Jbpm4.Activiti.Flowable.camunda四个框架同宗同源, ...
- 开源流程引擎Camunda BPM如何扩展数据库表
前言 在使用开源流程引擎(如:JBPM.Activiti.Flowable.Camunda等)的时候,经常会遇到这样的需求,我们需要按照业务需求增加一张数据库的表,而且这张表是跟工作流引擎有交互的(注 ...
随机推荐
- Struts2封装获取表单数据方式
一.属性封装 1.创建User实体类` package cn.entity; public class User { private String username; private String p ...
- JVM虚拟机类加载机制(一)
类从被加载到虚拟机内存中开始,到卸载出内存截止,整个生命周期包括:加载.验证.准备.解析,初始化.使用.卸载七个阶段.其中验证.准备.解析三个部分统称为连接. 类初始化情况: 遇到new.getsta ...
- ThinkPHP3.2.3反序列化链子分析
前言 目前官方已经不再维护ThinkPHP3.2.3,本文仅对ThinkPHP3.2.3反序列化链子进行复现,如有纰漏,还望指正. 环境介绍 MAMP pro PhpStorm Xdebug 利用条件 ...
- Java 获取Word中的所有插入和删除修订
在 Word 文档中启用跟踪更改功能后,会记录文档中的所有编辑行为,例如插入.删除.替换和格式更改.对插入或删除的内容,可通过本文中介绍的方法来获取. 引入Jar 方法1 手动引入:将 Free Sp ...
- JDK内置锁深入探究
一.序言 本文讲述仅针对 JVM 层次的内置锁,不涉及分布式锁. 锁有多种分类形式,比如公平锁与非公平锁.可重入锁与非重入锁.独享锁与共享锁.乐观锁与悲观锁.互斥锁与读写锁.自旋锁.分段锁和偏向锁/轻 ...
- Go 语言 结构体和方法
@ 目录 1. 结构体别名定义 2. 工厂模式 3. Tag 原信息 4. 匿名字段 5. 方法 1. 结构体别名定义 变量别名定义 package main import "fmt&quo ...
- 如何设计一个良好的API接口?
沟通创造价值,分享带来快乐.这里是程序员阅读时间,每天和你分享读书心得,欢迎您每天和我一起精进.今天和大家一起讨论的话题是如何设计一个良好的API接口? 作者:梁桂钊 解读:张飞洪 挑战 API是软件 ...
- IOC简介 -Bean的作用域 创建对象
创建对象 创建对象时默认使用无参构造器,无论对象在容器中后续是否被使用, 都会先实例化对象 . (婚介网站,里面人都是先存在的,到时直接牵手就行) 也可以使用以下方法,使用有参构造器来创建对象 根据参 ...
- 深度解析javaScript常见数据类型检查校验
前言 在JavaScript中,数据类型分为两大类,一种是基础数据类型,另一种则是复杂数据类型,又叫引用数据类型 基础数据类型:数字Number 字符串String 布尔Boolean Null Un ...
- 实践GoF的23种设计模式:建造者模式
摘要:针对这种对象成员较多,创建对象逻辑较为繁琐的场景,非常适合使用建造者模式来进行优化. 本文分享自华为云社区<[Go实现]实践GoF的23种设计模式:建造者模式>,作者: 元闰子. 简 ...