天天看點

bpmn定義之基于規則的決策的dmn

1、基于規則的決策的dmn

dmn是決策模型和表示法的縮寫。像bpmn和cmmn一樣,它由omg管理。dmn是這三個标準中最新的一個。版本1.0于2015年9月釋出。截止到2016年6月,1.1版本已經被采用,也就是我們在本書中提到的版本。

dmn意義上的決策意味着根據定義的邏輯(決策邏輯)從給定的事實(輸入)中獲得結果(輸出)。

與bpmn和cmmn不同,dmn與活動或過程無關。DMN以一種操作上類似的方式工作:決策可以由業務使用者模組化,然後由決策引擎執行。與bpmn和cmmn的另一個相似之處是,dmn标準規範既包含對表示法的書面描述,也包含基于xml的正式元模型。

dmn标準為決策模組化提供了不同的方法。最流行的方法是決策表。在決策表中,您必須定義确定結果所需的特定條件。這個定義必須在技術層面上是可了解的和可實作的——bpmn使用者将認識到它是如何與bpmn相對應的——這就是為什麼我們使用一種叫做“足夠友好的表達語言”(FEEL)的正式語言。feel是dmn标準的一部分,我們将在以後的文章中介紹它。

通常,複雜的決定是由相對簡單的決定組成的。以後的文章中我們會描述的決策需求圖(DRDs)幫助我們将複雜的決策分解為它們的元件,并使它們更清晰。

與bpmn和cmmn類似,當模組化的決策由相容的決策引擎執行時,dmn的值達到峰值。這有以下優點:

  • 透明度:每個人都可以很容易地了解決策是如何制定的。這些知識不再埋在某些員工的腦袋裡,也不再埋在難以了解的應用程式源代碼中。
  • 可跟蹤性:決策引擎可以自動記錄每個決策。可以追溯作出某些決定的原因。

靈活性:決策邏輯可以更容易地适應。它不需要伴随冗長的教育訓練或檔案而推出;它可以被部署。在這方面,dmn比bpmn稍好一些,因為更改流程引擎執行的bpmn圖對于非程式員來說風險太大。(這可能很難了解——畢竟,添加、移動或删除幾個符号有多難呢?沒錯,但技術流程隻是整個應用程式體系結構的一部分,可能會受到小更改的意外後果的影響。dmn決策表也可能發生類似的情況,但結果更容易識别,而且與bpmn不同的是,符号背後沒有需要維護的技術屬性。是以,業務部門可以更容易地獨立于it設計或調整軟體解決方案。

活動和決策緊密地交織在業務流程中。BPMN 2.0版本在dmn的第一個版本之前四年就定義了業務規則任務。即使這樣,也假定在完成流程時,規則将作為決策的一部分不斷進行評估。然而,決策管理這個術語在當時并不常見;我們談到的是業務規則管理,而業務規則管了解釋了BPMN中對該任務類型的描述。cmmn版本1.1引入了決策任務的概念,它在含義和模組化上等同于bpmn的業務規則任務。

在下篇文章中,我們将研究如何通過這些任務類型将bpmn和cmmn與dmn結合起來。

本文會持續更新,歡迎關注,技術支援:盤古BPM 

繼續閱讀