這篇文章主要介紹了drools規則引擎指的是什么,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。
Drools簡介
Drools(JBoss Rules )具有一個易于訪問企業策略、易于調整以及易于管理的開源業務規則引擎,符合業內標準,速度快、效率高。業務分析師或審核人員可以利用它輕松查看業務規則,從而檢驗是否已編碼的規則執行了所需的業務規則。
JBoss Rules 的前身是Codehaus的一個開源項目叫Drools。最近被納入JBoss門下,更名為JBoss Rules,成為了JBoss應用服務器的規則引擎。
Drools是為Java量身定制的基于Charles Forgy的RETE算法的規則引擎的實現。具有了OO接口的RETE,使得商業規則有了更自然的表達。
Drools的用XML的<Conditons>、<Consequence> 節點表達If--Then句式,而里面可以嵌入上述語言的代碼作為判斷語句和執行語句。
其中Java代碼會使用Antlr進行解釋,而Groovy和Python本身就是腳本語言,可以直接調用。
Drools的聰明之處在于,用XML節點來規范If--Then句式和事實的定義,使引擎干起活來很舒服。
而使用Java,Groovy等原生語言來做判斷和執行語句,讓程序員很容易過渡、移植,學習曲線很低。
擴展內容:規則引擎
規則引擎起源于基于規則的專家系統,而基于規則的專家系統又是專家系統的其中一個分支。專家系統屬于人工智能的范疇,它模仿人類的推理方式,使用試探性的方法進行推理,并使用人類能理解的術語解釋和證明它的推理結論
規則引擎一般由3部分組成:規則庫(Knowledge base)+Working Memory(Fact base)+推理機(規則引擎)。
規則引擎的工作:模式匹配、沖突消解、執行引擎。
模式匹配算法:將事實與規則進行匹配的算法。常見的模式匹配算法有RETE,LFA,TREAI,LEAPS。Drools采用的匹配算法就是RETE,該算法被認為是目前世界上最先進的模式匹配算法。
補充:規則引擎(rule engine)是有很多種的。依據規則的執行方式來劃分。商業上采用的大部分規則引擎都是 forward chaining(漢語咋解釋不知道)類型的。forward chaining類型有分為2種:(1)production/inference rules(漢語咋解釋不知道)它是通過IFconditionTHEN action這種條件判斷的形式來驅動規則引擎的。(2)reaction/Event Condition Action rules,這種規則引擎是通過事件機制來驅動規則引擎的。這是我從維基百科上了解的。
感謝你能夠認真閱讀完這篇文章,希望小編分享drools規則引擎指的是什么內容對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,遇到問題就找億速云,詳細的解決方法等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。