(查看 圖 9 的更大版本。)
規則設計
規則集的設計包括識別規則集的輸入和輸出,識別規則在一個規則項目中的組織方式,以及創建規則流來編排規則集中的規則的執行。圖 10 顯示了規則設計流程,我們將在後續小節中詳細介紹。
圖 10. 規則設計流程
設置規則集參數
規則集參數指定決策服務的輸入和輸出,進而定義決策服務與調用客戶端之間的介面。
要設置規則集參數,右鍵單擊 ccc-rules 並選擇 Properties。在我們的場景中,我們收到一個 Alert 作為輸入,返回一個擴充的 Alert 作為輸出。它們分別表示為 “請求” 和 “響應,如 圖 11 所示。
圖 11. 規則集參數
創建規則包
規則包簡單來講是一些可在其中創建規則的文件夾和子文件夾。規則包有助於在一種分層結構中組織規則。
基於我們的規則分析,我們斷定不同的天氣模式具有不同的規則,比如 “起霧” 和 “強降雨“。這一區別形成了我們的頂級規則包。對於每個包,我們擁有針對評估規則和指令規則的子包。圖 12 顯示了規則項目中使用的規則包的一個子集。
圖 12. 規則包
創建規則流
規則流定義一個更大決策的上下文中的規則工件執行順序。對於調用應用程序,可調用規則集來制定單個業務決策。但是,這個業務決策通常會分解為一系列更小的決策。使用一個規則流,您可將更小的決策標識為規則任務並以過渡的形式路由邏輯。
規則流中的第一個規則任務是初始化,其中會創建一個框架式響應 Alert。在這之後,基於發出的指令來進行評估。
圖 13 顯示了這個規則流。
圖 13. 主要規則流
與一個規則任務關聯的規則在規則任務的屬性中指定。對於規則任務 heavy rainfall,在執行此規則任務期間考慮規則包 heavy rainfall.evaluations 中的所有規則。圖 14 顯示了規則任務 heavy rainfall 的屬性視圖,其中選擇了關聯的規則。
圖 14. 強降雨規則任務的規則選擇
請注意,規則流控制著規則組或規則任務的執行順序。不同於過程編程中使用的方法,這裡您不指定各個規則的順序。許多擁有過程編程模式背景的新手傾向於過度使用規則流。例如,最初的傾向可能是使用規則流,通過與一個 Alert 關聯的不同 InfoType 對象來使用控制循環。但是,這不是推薦的方法,我們將在下一節中看到如何使用規則來自然地執行這一循環。
業務規則創作
規則開發人員通常創建初始規則集並執行單元測試,以確保規則項目為業務用戶提供了一個牢固的基礎。此外,技術開發人員可創建規則模板來簡化業務用戶對新業務規則的創作。圖 15 描繪了規則創作流程。
圖 15. 規則創作流程
編寫初始規則集
一位規則開發人員使用 Rule Studio 創建初始規則集。我們在本系列的第 1 部分中已看到,在我們的場景中,這些規則分為兩個類別:評估規則和指令規則。
評估規則
以下文章點擊率最高
Loading…