前言
可以看到前面我们所演示的示例都是经过了绘制流程图
-> 将流程图复制到项目中
-> 打包应用
-> 运行应用
-> 使用流程
一系列流程。
其实,Camnuda
流程引擎是从Activiti
分裂而来,具体信息可以参考:
Camunda BPM
轻巧且开发人员友好。
- Camunda BPM既可以用作独立的流程引擎服务器,也可以用在自定义Java应用程序中。
- Camunda BPM还提供REST API,以便非Java开发人员可以构建连接到远程流程引擎的应用程序。
这里主要演示一下Camunda BPM
提供的REST API实现运行时发布流程定义。
一、启动应用
首先需要引入一个REST API的依赖。
<dependency>
<groupId>org.camunda.bpm.springboot</groupId>
<artifactId>camunda-bpm-spring-boot-starter-rest</artifactId>
<version>3.4.1</version>
</dependency>
可以看到这里初始化了4个流程,这4个流程都是应用中绑定的流程定义。
访问http://localhost:8080/app/cockpit/default/#/processes
查看流程看板。
正如上面所说,这里也只有绑定在应用中的4个流程。
二、绘制流程
接下来,使用Camunda modeler
绘制一个简单的流程图。
然后点击工具栏的发布按钮。
可以看到提示我们已经连上了服务器,并通过http://localhost:8080/rest
接口发布我们新定义的流程。
最后点击Deploy
。
提示发布成功。
再回到http://localhost:8080/app/cockpit/default/#/processes
查看流程看板。
管理端已经可以看到我们刚发布的流程定义了。
三、测试
接下来,简单启动一个流程实例。
最后可以发现,该流程是可以正常使用的,和应用中绑定的流程并无区别,当使用MySql
等数据库时,运行时发布的流程会直接存库,所以再次重启应用时,不用担心运行时发布的流程消失。
这样开发人员就可以更专注于业务逻辑开发,而业务流程控制则可以交给更专业的产品来绘制流程图。
四、总结
Camunda BPM
流程引擎笔记到此告一段落,流程引擎作为一门学科,不是几篇笔记就说的清楚的,更多信息访问Camunda官网。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。