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规则引擎是什么的详细内容,更多请关注其它相关文章!
上一篇: php判断复选框是否选中
下一篇: 做项目过程中学到的PHP知识收集
推荐阅读
-
使用cocos2D游戏引擎开发游戏的话,是选择使用cocos2D-x使用C++来编写,还是使用cocos2D-html5来编程,原因是什么?
-
规则引擎开发规范--程序开发类规范<连载2> 规则引擎开发规范
-
这个重写规则是什么意思啊多谢
-
基于Flink和规则引擎的实时风控解决方案 活动工作互联网redishbase
-
伪静态规则在Web.config下是什么样的,求帮助了
-
.NET RulesEngine(规则引擎)的使用详解
-
Java规则引擎easy-rules详细介绍
-
smartlmage on是什么意思 php smarty模版引擎中的缓存应用
-
支付宝万能福是什么意思 2020支付宝万能福卡使用规则
-
搜索引擎网站收录的原理是什么?如何提高收录量