来了来了它终于来了,Camunda开搞了 |
您所在的位置:网站首页 › xshell部署前端代码 › 来了来了它终于来了,Camunda开搞了 |
![]() BPM(BusinessProcessManagement),业务流程管理是一种管理原则,通常也可以代指BPMS(BusinessProcessManagementSuite),是一个实现整合不同系统和数据的流程管理软件套件. BPMN(BusinessProcessModelandNotation)是基于流程图的通用可视化标准。该流程图被设计用于创建业务流程操作的图形化模型。业务流程模型就是图形化对象的网状图,包括活动和用于定义这些活动执行顺序的流程设计器。BPMN2.0正式版本于2011年1月3日发布,常见的工作流引擎如:Activiti、Flowable、jBPM 都基于 BPMN 2.0 标准。 然后来看看BPM的发展历程: ![]() 官网地址:https://camunda.com/ 中文站点:http://camunda-cn.shaochenfeng.com/ 下载:https://downloads.camunda.cloud/release/camunda-bpm/run/7.15/ 案例地址:Congratulation! | docs.camunda.org 前期准备工作: Java1.8以上的JRE或JDK ![]() Camunda Modeler 是Camunda 官方提供的一个流程设计器,用于编辑流程图以及其他模型【表单】,也就是一个流程图的绘图工具。可以官方下载,也可以在提供给大家的资料中获取。获取后直接解压缩即可,注意:解压安装到非中文目录中!!! ![]() 启动的效果: ![]() 下载地址 https://camunda.com/download/ Camunda BPM 是Camunda官方提供的一个业务流程管理平台,用来管理,部署的流程定义、执行任务,策略等。下载安装一个Camunda平台,成功解压 Camunda 平台的发行版后,执行名为start.bat(对于 Windows 用户)或start.sh(对于 Unix 用户)的脚本。此脚本将启动应用程序服务器。 ![]() 打开您的 Web 浏览器并导航到http://localhost:8080/以访问欢迎页面,Camunda的管理平台。 ![]() 登录成功的主页: ![]() 我们先通过 Modeler 来绘制一个简单流程 1.) 创建流程:选择 BPMN diagram (Camunda Platform) ![]() 2.) 创建开始节点:并设定节点名称 ![]() 3.) 创建服务节点:设置处理方式 ![]() ![]() 我们切换节点的类型为 service Task ![]() ![]() 然后我们需要配置刷卡付款节点,服务类型有很多执行的方法,这次我们使用“external(外部)”任务模式。 ![]() 具体配置内容为 ![]() 4.) 添加结束节点 ![]() 5.) 配置流程参数 点击画布的空白处,右侧的面板会显示当前流程本身的参数,这里我们修改id为payment-retrieval,id是区分流程的标识然后修改Name 为“付款流程”最后确保 Executable是勾选的,只有Executable被勾选,流程才能执行 ![]() 在上面设计的流程图,刷卡付款节点的处理是外部任务,Camunda 可以使多种语言实现业务逻辑,我们以Java为例来介绍。 添加相关的依赖: org.camunda.bpm camunda-external-task-client 7.15.0 org.slf4j slf4j-simple 1.6.1 javax.xml.bind jaxb-api 2.3.1编写处理的业务逻辑的代码 import org.camunda.bpm.client.ExternalTaskClient;import java.awt.*;import java.net.URI;public class Demo01 { public static void main(String[] args) { ExternalTaskClient client = ExternalTaskClient.create() .baseUrl("http://localhost:8080/engine-rest") .asyncResponseTimeout(10000) // 长轮询超时时间 .build(); // 订阅指定的外部任务 client.subscribe("charge-card") .lockDuration(1000) .handler(((externalTask, externalTaskService) -> { // 获取流程变量 String item = (String) externalTask.getVariable("item"); Long amount = (Long) externalTask.getVariable("amount"); System.out.println("item--->"+item + " amount-->" + amount); try { Desktop.getDesktop().browse(new URI("https://docs.camunda.org/get-started/quick-start/complete")); } catch (Exception e) { e.printStackTrace(); } // 完成任务 externalTaskService.complete(externalTask); })).open(); }}运行该方法即可,当流程处理时会执行相关逻辑。 3.3 部署流程接下来我们就可以来部署上面定义的流程了。使用 Camunda Modeler 部署流程,点击工具栏中的部署按钮可以将当前流程部署到流程引擎,点击部署按钮,输入Deployment Name 为 “Payment” ,输入下方REST Endpoint 为http://localhost:8080/engine-rest ,然后点击右下角Deploy部署 部署操作: ![]() 部署的时候报错:原因是安装路径中有中文 ![]() 部署成功: ![]() 然后在BPM中我们可以查看部署的流程: ![]() 我们使用Rest API发起流程,所以需要一个接口测试工具(例如:Postman),或者也可以使用电脑自带的curl curl执行如下命令 curl -H "Content-Type: application/json" -X POST -d '{"variables": {"amount": {"value":555,"type":"long"}, "item": {"value":"item-xyz"} } }' http://localhost:8080/engine-rest/process-definition/key/payment-retrieval/startpostman方式处理 在url中输入:http://localhost:8080/engine-rest/process-definition/key/payment-retrieval/start 通过POST方式提交,提交的方式是JSON 数据,具体内容为: { "variables": { "amount": { "value":555, "type":"long" }, "item": { "value": "item-xyz" } }}![]() 然后我们点击发送,操作成功可以看到如下的返回信息 ![]() 同时任务执行后我们在控制台可以看到相关的信息 ![]() 好了,任务搞定。同时波哥录制的Flowable全系列视频已经更新了40多个小时,包括Flowable在工作中涉及到的各种应用场景和项目实战课程应有尽有,现在售价是199.凭本截图可以给到小伙9折的优惠,感兴趣的扫码添加: ![]() 详细大纲如下 ![]() 原文始发于微信公众号(波哥带你学编程):来了来了它终于来了,Camunda开搞了 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。 文章由半码博客整理,本文链接:https://www.bmabk.com/index.php/post/58086.html |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |