camunda快速入門(五):DMN規則引擎如何使用

大龄码农有梦想發表於2024-07-09

在本節中,您將學習如何使用 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,同時流程也自動執行了對應流向。

camunda快速入門(五):DMN規則引擎如何使用

接下來,再次單擊按鈕以啟動另一個流程例項並選擇付款流程,使用通用表單新增流程變數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/

相關文章