首頁 系統教程 Linux 了解動態決策管理系統

了解動態決策管理系統

Jan 09, 2024 pm 07:30 PM
linux linux教程 紅帽 linux系統 linux指令 linux認證 紅帽linux linux視頻

DMN規格概述

在第14章,我們講解了Activiti與規則引擎的整合使用,確切地說,是Activiti與Drools規則引擎的整合。在Activiti6版本發布後,Activiti開始實現DMN規範,換言之,Activiti正在實現自己的規則引擎,雖然尚未完成,但已具雛形。本章將講述DMN規範以及初步實現的Activit規則引擎。

筆者成書時,Activiti的規則引擎並沒有正式發布,官方文件、API中沒有找到相關的資料,本章內容為筆者參考Activiti規則引擎模組的源代碼編寫而成,在以後的Activiti版本中,規則引擎的實現及發布的文檔,有可能與本書所描述的內容有所衝突,望讀者了解該情況。

DMN的出現背景

DMN是英文Decision Model and Notation的縮寫,直譯意為決策模型與圖形。根據前章節可知,BPMN是OMG公司發布的工作流程規範,而DMN同樣是OMG公司發布規範,該規範主要用於定義業務決策的模型和圖形,1.0版本發佈於2015年,目前最新的是1.1版本,發佈於2016年。

BPMN主要用於規範業務流程,業務決策的邏輯由PMML等規範來定義,例如在某些業務流程中,需要由多個決策來決定流程走向,而每個決策都要根據自身的規則來決定,並且每個決策之間可能存在關聯,此時在BPMN與PMML之間出現了空白,DMN規範出現前,決策者無法參與到業務中。為了填補模型上的空白,新增了DMN規範,定義決策的規範以及圖形,DMN規範相當於業務流程模型與決策邏輯模型之間的橋樑。

雖然DMN只作為工作流程與決策邏輯的橋樑,但實際上,規範中也包含決策邏輯部分,同時也相容於PMML規範所定義的表達式語言。換言之,實現DMN規範的框架,同時也會具備業務規則的處理能力。

Activiti與Drools

Activiti作為一個工作流程引擎,與規則引擎Drools本來沒有可比之處,它們之間更像互補關係,但是目前Activiti正在實現DMN規範,Drools則實現了PMML規範,這樣就意味著,Activiti的工作引擎完成後,也包含了規則引擎的功能,根據DMN規範可知,DMN規範的實現者,也會對PMML提供支援。如此一來,Activiti的規則引擎與Drools將產生競爭關係。

JBoss旗下有工作流程引擎jBPM,有規則引擎Drools,Activiti本身就是工作流程引擎,再加上這次更新所加入的規則引擎,估計在不久的將來,Activiti在工作流引擎以及規則引擎領域,能與JBoss分庭抗禮。

DMN的XML範例

DMN主要定義決策模型,與BPMN規格類似,OMG所發布的DMN規格含有對應的XML約束。目前版本的Activiti實作了decision部分,因此本章只講述DMN中的decision部分。 DMN的XML文檔,一般情況下文件名稱後綴為dmn。程式碼清單15-1是一份簡單的DMN文件。

代碼清單15-1:codes\15\15.1\sample.dmn

了解動態決策管理系統

#程式碼清單15-1中的XML文檔,定義了一個decision節點,該節點中含有一個輸入參數、一個輸出結果和兩個規則。注意程式碼清單的粗體字程式碼,使用了startsWith方法,定義瞭如果參數字串以“Angus”開頭,則觸發第一個規則,如果參數字元以“Paris”開頭,則觸發第二個規則。關於XML文件中各個元素的描述,將在後面章節中講述。

文章轉載自 開源中國社群 [http://www.oschina.net]

以上是了解動態決策管理系統的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

Linux實際上有什麼好處? Linux實際上有什麼好處? Apr 12, 2025 am 12:20 AM

Linux適用於服務器、開發環境和嵌入式系統。 1.作為服務器操作系統,Linux穩定高效,常用於部署高並發應用。 2.作為開發環境,Linux提供高效的命令行工具和包管理系統,提升開發效率。 3.在嵌入式系統中,Linux輕量且可定制,適合資源有限的環境。

將Docker與Linux一起使用:綜合指南 將Docker與Linux一起使用:綜合指南 Apr 12, 2025 am 12:07 AM

在Linux上使用Docker可以提高開發和部署效率。 1.安裝Docker:使用腳本在Ubuntu上安裝Docker。 2.驗證安裝:運行sudodockerrunhello-world。 3.基本用法:創建Nginx容器dockerrun--namemy-nginx-p8080:80-dnginx。 4.高級用法:創建自定義鏡像,使用Dockerfile構建並運行。 5.優化與最佳實踐:使用多階段構建和DockerCompose,遵循編寫Dockerfile的最佳實踐。

apache80端口被佔用怎麼辦 apache80端口被佔用怎麼辦 Apr 13, 2025 pm 01:24 PM

當 Apache 80 端口被佔用時,解決方法如下:找出佔用該端口的進程並關閉它。檢查防火牆設置以確保 Apache 未被阻止。如果以上方法無效,請重新配置 Apache 使用不同的端口。重啟 Apache 服務。

apache怎麼啟動 apache怎麼啟動 Apr 13, 2025 pm 01:06 PM

啟動 Apache 的步驟如下:安裝 Apache(命令:sudo apt-get install apache2 或從官網下載)啟動 Apache(Linux:sudo systemctl start apache2;Windows:右鍵“Apache2.4”服務並選擇“啟動”)檢查是否已啟動(Linux:sudo systemctl status apache2;Windows:查看服務管理器中“Apache2.4”服務的狀態)啟用開機自動啟動(可選,Linux:sudo systemctl

oracle怎麼啟動監聽 oracle怎麼啟動監聽 Apr 12, 2025 am 06:00 AM

啟動 Oracle 監聽器的步驟如下:檢查監聽器狀態(使用 lsnrctl status 命令)對於 Windows,在 Oracle Services Manager 中啟動 "TNS Listener" 服務對於 Linux 和 Unix,使用 lsnrctl start 命令啟動監聽器運行 lsnrctl status 命令驗證監聽器是否已啟動

如何在Debian上監控Nginx SSL性能 如何在Debian上監控Nginx SSL性能 Apr 12, 2025 pm 10:18 PM

本文介紹如何在Debian系統上有效監控Nginx服務器的SSL性能。我們將使用NginxExporter將Nginx狀態數據導出到Prometheus,再通過Grafana進行可視化展示。第一步:配置Nginx首先,我們需要在Nginx配置文件中啟用stub_status模塊來獲取Nginx的狀態信息。在你的Nginx配置文件(通常位於/etc/nginx/nginx.conf或其包含文件中)中添加以下代碼段:location/nginx_status{stub_status

Debian系統中如何設置回收站 Debian系統中如何設置回收站 Apr 12, 2025 pm 10:51 PM

本文介紹兩種在Debian系統中配置回收站的方法:圖形界面和命令行。方法一:使用Nautilus圖形界面打開文件管理器:在桌面或應用程序菜單中找到並啟動Nautilus文件管理器(通常名為“文件”)。找到回收站:在左側導航欄中尋找“回收站”文件夾。如果找不到,請嘗試點擊“其他位置”或“計算機”進行搜索。配置回收站屬性:右鍵點擊“回收站”,選擇“屬性”。在屬性窗口中,您可以調整以下設置:最大大小:限制回收站可用的磁盤空間。保留時間:設置文件在回收站中自動刪除前的保

如何優化debian readdir的性能 如何優化debian readdir的性能 Apr 13, 2025 am 08:48 AM

在Debian系統中,readdir系統調用用於讀取目錄內容。如果其性能表現不佳,可嘗試以下優化策略:精簡目錄文件數量:盡可能將大型目錄拆分成多個小型目錄,降低每次readdir調用處理的項目數量。啟用目錄內容緩存:構建緩存機制,定期或在目錄內容變更時更新緩存,減少對readdir的頻繁調用。內存緩存(如Memcached或Redis)或本地緩存(如文件或數據庫)均可考慮。採用高效數據結構:如果自行實現目錄遍歷,選擇更高效的數據結構(例如哈希表而非線性搜索)存儲和訪問目錄信

See all articles