市场上比较有名的开源流程引擎有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. numpy教程01---ndarray的创建

    欢迎关注公众号[Python开发实战], 获取更多内容! 工具-numpy numpy是使用Python进行数据科学的基础库.numpy以一个强大的N维数组对象为中心,它还包含有用的线性代数,傅里叶变 ...

  2. rancher 添加集群

    用rancher的管理账户登录rancher控制台首先创建用户 jinzs,后面用户绑定到要添加的集群上的 其次点全局,出现集群列表 >点添加集群 这里集群名称任意,只要你知道,该名称要对应实际 ...

  3. 帝国cms发布文章对哪些数据表做了操作

    帝国cms 发布一篇文章会影响哪些数据表 insert into phome_enewsfile_1(pubid,filename,filesize,adduser,path,filetime,cla ...

  4. SpringMVC踩坑2

    Request processing failed; nested exception is org.mybatis.spring.MyBatisSystemException: nested exc ...

  5. JavaWeb学习day6-Response初学

    web服务器接收到客户端的http请求,针对这个请求,分别创建一个代表请求的HttpSevletRequest对象,代表响应的一个HttpSevletResponse 如果要获取客户端请求过来的数据, ...

  6. Java-GUI编程之处理位图

    如果仅仅绘制一些简单的几何图形,程序的图形效果依然比较单调 . AWT 也允许在组件上绘制位图, Graphics 提供了 drawlmage() 方法用于绘制位图,该方法需要一个Image参数一一代 ...

  7. javaWeb代码整理01-mysql

    jar包: maven坐标: <dependency> <groupId>mysql</groupId> <artifactId>mysql-conne ...

  8. 1. charles安装配置与抓包详解

    Charles简介Charles是一个HTTP代理服务器,HTTP监视器,反转代理服务器,当浏览器连接Charles的代理访问互联网时,Charles可以监控浏览器发送和接收的所有数据.它允许一个开发 ...

  9. PicLite 开发日志 v0.0.2

    PicLite 开发日志 (v0.0.2) 感谢您阅读本片文章! Gitee 地址:https://gitee.com/XiaoQuQuSD/pic-lite. 新增功能 添加复制 url 的格式选项 ...

  10. Python技法:用re模块实现简易tokenizer

    一个简单的tokenizer 分词(tokenization)任务是Python字符串处理中最为常见任务了.我们这里讲解用正则表达式构建简单的表达式分词器(tokenizer),它能够将表达式字符串从 ...