欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  Java

drools规则引擎是什么

程序员文章站 2022-03-16 12:30:39
...
drools规则引擎是什么

推荐教程:java教程

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规则引擎是什么的详细内容,更多请关注其它相关文章!

相关标签: drools java