技術架構圖一技術架構圖二
a2c2e1a79fd0cad32de5e1282eb6ed22
• 系統管理員負責管理權限、規則服務的管理等
• 程序員負責部分需要擴展的方法,例如自定義動作• 業務分析員負責最終規則模型的創建和設計
uRule提供4種集成模式,其中最常見的是“客戶端服務器模式”,將uRule作為規則引擎中臺去定位,所有接入的消費方作為客戶端,消費方通過sdk方式、restFul接口調用;較為常見的是在中小型項目中內嵌到java web業務系統中使用,此種最為簡單。
建模方式
在URule Pro中決策集有兩種類型:一種是普通規則;一種是循環規則。所謂的普通規則是指一種由如果、那麼、否則三個部分構成的規則;而循環規則顧名思義就是可循環的規則,它允許指定一個集合類型的對象,對這個集合中每個對象進行循環迭代,在循環體中則是若幹個由如果、那麼、否則構成的普通規則。
規則的定義采用向導方式,一步一步通過鼠標點擊就可以完成其中的普通規則與循環規則的配置,配合高度可視化的向導式規則設計器,可以最大限度將業務規則可視化,降低規則配置的復雜度。
決策表是一種以表格形式表現規則的工具,它非常適用於描述處理判斷條件較多,各條件又相互組合、有多種決策方案的情況,決策表提供精確而簡潔描述復雜邏輯的方式,可將多個條件及與這些條件滿足後要執行動作以圖形化形式進行對應,對於決策表的定義,我們提供的是全可視化、圖形化的操作方式,通過簡單的鼠標點擊就可以快速定義出與業務相匹配的決策表。
在URule Pro當中,我們提供瞭兩種類型的決策表,一種是普通決策表,另一種是交叉決策表。
普通決策表將一個表格拆分成左右兩部分,中間以一條灰黑色的豎線分隔,左邊部分為條件列部分;右邊部分為動作列部分。條件列可以有多個,多個條件列可以進行組合;同樣動作列也可以有多個。
交叉決策表又叫決策矩陣,是URule Pro中提供的一種特殊類型的決策表。與普通決策表相比,交叉決策表的條件由縱向和橫向兩個維度決定,而普通決策表的條件隻是由縱向維度決定;但在普通決策表的動作部分可以是三種類型,分別是賦值、輸出和執行方式,而在交叉決策表中動作部分就是縱向和橫向兩個維度交叉後的單元格的值,一般來說,這種交叉後單元格的值都是賦給某個變量或參數,所以交叉決策表的動作基本就一個,那就是賦值。
評分卡是對個人或機構的相關信息進行分析之後的一種數值表達,表示此人或此機構由於信用活動的拒付行為所造成損失風險的可能性,評分通常用於對個人或機構的風險管理與評估。
URule Pro中的評分卡就是用來計算評分的,它使用二維表形式展示目標對象的各個屬性,針對不同屬性設置不同區段的條件,每個區段條件對應不同的分值,運行時引擎會根據定義的區段條件自動計算目標對象的評分。
在URule Pro當中,提供瞭兩種類型的評分卡,分別是普通評分卡和復雜評分卡。
普通評分卡可以對某個特定對象的若幹屬性進行評分,它隻能針對一個對象的屬性進行評分;復雜評分卡,可以對多個對象、多個屬性進行評分,可以提供更為靈活的評分定義方式。實際使用時,可以根據業務需要,選擇某種類型的評分卡。
決策樹又稱為規則樹,是URule Pro規則引擎中提供的另外一種構建規則的方式,它以一棵躺倒的樹形結構來表現規則(之所以將其躺倒是為瞭節省空間,否則一棵稍微大點的樹將會占用很大的頁面空間),決策樹表現業務規則更為形象,實際上,無論是決策樹、決策表還是評分卡,都可以通過決策集來實現,隻是,對於某些業務規則來說,通過決策樹或決策表或評分卡實現起來更為形象、快捷。
決策流又稱規則流,它整個的結構類似於工作流,用來對已有的決策集、決策表、交叉決策表、決策樹、評分卡、復雜評分卡或其它決策流的執行順序進行編排,以清晰直觀的實現一個大的復雜的業務規則。
URule Pro規則引擎中的決策流可以實現對已有的決策集、決策表、交叉決策表、決策樹、評分卡、復雜評分卡或其它決策流進行編排執行;編排過程中既可以常見串行執行,也可以並行執行,或者是根據條件選擇分支執行。URule Pro中提供瞭一個基於網頁的流程設計器,通過簡單拖曳就可以快速實現對已有的決策集、決策表、交叉決策表、決策樹、評分卡、復雜評分卡或其它決策流執行順序的編排。
1c9d33d80695c9e6aa9b4409307ea8f4
流程圖節點說明
•開始:是一個規則流開始的地方
•規則:用來綁定URule Pro當中提供的決策集、決策表、交叉決策表、決策樹、評分卡、復雜評分卡或其它決策流文件的節點
•知識包:綁定知識包,實現復雜規則調用
•動作:實現瞭FlowAction接口的springBean
•向導式動作:綁定一個或多個向導式動作
•決策:運行時根據為其下流出連接配置的條件來決定後續執行路徑
•分支:實現規則流多條並行的節點
•聚合:用來聚合由分支節點拆分出來的多個子的規則流的
•異常:捕獲規則流中其它節點在執行時可能產生的異常
2dec484f6abb9323768d03398c45e314公式編輯器
(1)場景一,在線變更
(2)場景二,從測試到生產
例如,向導式決策集
某開源廠商規則引擎設計器某開源廠商規則引擎設計器
•多項目管理,以項目為維度進行規則文件分類管理
•權限管理:團隊/成員/項目/功能菜單間交叉授權
•集群管理,多個規則服務端間數據同步
•客戶端(消費方)地址維護,實現規則文件從服務端被動推送到客戶端
•版本管理,知識包和規則文件的多版本管理
•知識包創建、測試、發佈、調用監控等
•工作臺駕駛倉
•規則調用的監控
團隊控制臺首頁
3種方式實現仿真測試
靈活的可展性,支持程序員作功能擴展規則引擎sdk提供的api列表某用戶自行定制開發的管理端功能