Drools簡介
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等原生語言來做判斷和執行語句,讓程式設計師很容易過渡、移植,學習曲線很低。