camunda快速入门(五):DMN规则引擎如何使用

在本节中,您将学习如何使用 BPMN 2.0 业务规则任务DMN 1.3 决策表将决策自动化添加到流程中。

1、将业务规则任务添加到流程

使用 Camunda Modeler 打开Payment Retrieval(付款检索)流程,然后单击“Approve Payment(批准付款)”任务节点。在扳手按钮菜单中将活动类型更改为“Business Rule Task(业务规则任务)”。

1-利用业务规则(1)

接下来,在properties面板中将Implementation中的Type更改为DMN,并将Decision Reference更改为approve-payment(注意:approve-payment为dmn模型的ID),这样就把Business Rule Task链接到DMN表,流程执行的时候会执行DMN。为了检索评估结果并将其自动保存为流程中的流程实例变量,我们还需要将结果变量更改为approved(该值为流程变量,可在发起流程或表单里定义,在流程网关里使用),并在属性面板中使用singleEntry作为映射决策结果。

IMG_258

存更改并使用 Camunda Modeler 中的 Deploy按钮部署更新的流程。

2、使用 Camunda Modeler 创建 DMN 表

首先,通过单击“文件”>“新建文件”>“DMN 图”创建新的 DMN 图。

IMG_259

现在,新创建的图表已经添加了一个决策元素。通过单击它来选择它,然后为其指定一个名称 Approve Payment 和一个 ID为approve-payment(决策 ID 必须与 BPMN 流程中的Decision Reference 匹配)。

4-利用业务规则(1)

接下来,通过单击表按钮创建一个新的 DMN 表。

IMG_261

3、指定 DMN 表

首先,指定 DMN 表的输入表达式。在此示例中,我们将根据项目名称决定付款是否获得批准。您的规则还可以使用 FEEL 表达式语言、JUEL 或 Script。如果您愿意,可以阅读有关 DMN 引擎中的表达式的更多信息:https://docs.camunda.org/manual/7.19/user-guide/dmn-engine/expressions-and-scripts/。

双击输入以配置输入列。输入Item用作标签和输入item用作表达式:

6-利用业务规则(1)

接下来,设置输出列。填写Approved用作输出列和approved用作输出名称,将输出列更改为数据类型为boolean:

7-利用业务规则(1)

让我们通过单击 DMN 表左侧的+加号图标来创建一些规则。

20-编辑每一条规则

设置后,DMN 表应如下所示:

9-利用业务规则(1)

4、部署 DMN 表

要部署决策表,请单击 Camunda Modeler 中的 Deploy 按钮,为其指定部署名称“Payment Retrieval Decision”,然后点击 Deploy 按钮。

10-利用业务规则(1)

5、使用 Cockpit 验证部署

现在,使用 Cockpit 查看决策表是否已成功部署。转到 http://localhost:8080/camunda/app/cockpit/。使用凭据 demo / demo 登录。导航到“Decisions决策”部分。决策表“Approve Payment批准付款”应列为已部署的决策定义。

21-查看规则表部署情况

6、使用 Cockpit 和 Tasklist 进行检查

接下来,使用 Tasklist 启动两个新的流程实例,并验证是否根据您的输入以不同的方式路由流程实例。为此,请转到 http://localhost:8080/camunda/app/tasklist/。使用demo/demo登录。

单击按钮启动流程实例并选择付款流程,使用通用表单添加流程变量item的值为item-xyz,如下所示:

12-利用业务规则(1)

点击“启动”按钮。

转到 http://localhost:8080/camunda/app/cockpit/,导航到“决定”部分,查看DMN规则执行情况,发现规则匹配成功了,approved为true,同时流程也自动执行了对应流向。

接下来,再次单击按钮以启动另一个流程实例并选择付款流程,使用通用表单添加流程变量item的值为item-zzz,如下所示:IMG_269

转到 http://localhost:8080/camunda/app/cockpit/,导航到“决定”部分,查看DMN规则执行情况,发现规则匹配成功了,approved为false,流程走向为拒绝付款并结束。

23-查看规则执行情况

祝贺!您已成功完成 Camunda 平台快速入门。

7、源码和文档

在线体验系统:http://www.yunchengxc.com

完整源代码:https://github.com/camunda/camunda-get-started-quickstart/archive/Step-5.zip

官方文档地址:https://docs.camunda.org/get-started/quick-start/decision-automation/

posted @ 2024-07-09 08:25  大龄码农有梦想  阅读(319)  评论(0编辑  收藏  举报