本文主要是介绍Drools的简要概述,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Drools(JBoss Rules)具有一个易于访问企业策略、易于调整以及易于管理的开源业务规则引擎,符合业内标准,速度快、效率高。业务分析师或审核人员可以利用它轻松查看业务规则,从而检验是否已编码的规则执行了所需的业务规则。
JBoss Rules 的前身是Codehaus的一个开源项目叫Drools。最近被纳入JBoss门下,更名为JBoss Rules,成为了JBoss应用服务器的规则引擎。
Drools是为Java量身定制的基于Charles Forgy的RETE算法的规则引擎的实现。具有了OO接口的RETE,使得商业规则有了更自然的表达。
Drools的简要概述
Drools是一款基于 Java的开源规则引擎,以将复杂多变的规则从硬编码中解放出来,以规则脚本的形式存放在文件中,使得规则的变更不需要修正代码重启机器就可以立即在线上环境生效
规则引擎由推理引擎发展而来,是一种嵌入在应用程序中的组件,实现了将业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策。接受数据输入,解释业务规则,并根据业务规则做出业务决策,从而给编程带来了极大的方便。
下图就是引用了规则引擎后的效果:
开始我们Drools规则引擎之旅
小编是一经验尚浅的java工程师,有写的不得当的地方,还请大家海涵。小编研究的版本是Drools6.4版本,目前看的最新的版本是Drools6.5,上面做了一些优化,在最后小编会简单的在文中说明一下的。
Drools新特性
Drools推出了一套新的基于KIE(Knowledge Is Everything 知识就是一切)概念的API,其目的是将之前版本中对规则引擎繁琐的调用和加载过程加以简化。
Drools6给我的最大不同就是把rules打包成jar,使用端通过kie-ci来动态从maven repo中获取指定rules jar版本,虽然和maven有紧耦合,简化以及清晰了rules的使用和动态升级,例如:系统建立2个项目:一个Drools项目来实现规则,验收规则,生成jar包,另外一个就是真正要用规则的项目,直接通过引入不同版本的jar包实现规则动态升级。
引入业务规则技术的目的
对系统的使用人员
- 把业务策略(规则)的创建、修改和维护的权利交给业务经理
- 提高业务灵活性
- 加强业务处理的透明度,业务规则可以被管理
- 减少对IT人员的依赖程度
- 避免将来升级的风险
对IT开发人员
- 简化系统架构,优化应用
- 提高系统的可维护性和维护成本
- 方便系统的整合
- 减少编写“硬代码”业务规则的成本和风险
这里引用了一位Drools大咖的博客文章http://blog.csdn.net/lifetragedy/article/details/51143914
如果大咖看到了,请谅解。小编在这里先谢谢您啦 MK大神!
应用场景
· 为提高效率,管理流程必须自动化,尽管现代商业规则异常复杂。
· 市场要求业务规则经常变化,系统必须依据业务规则的变化快速、低成本的更新。
· 为了快速、低成本的更新,业务人员应能直接管系统中的规则,不需要程序开发人员参与。
作用与优点:
· 将业务规则与业务系统分离,解耦合;
· 实现自然语言描述规则逻辑,业务人员易于理解;
· 可视化的规则定制、审批、查询及管理;
· 能有效的提高实现复杂逻辑的代码的可维护性;
· 应付特殊状况,即客户一开始没有提到要将业务逻辑考虑在内;
· 符合组织对敏捷或迭代开发过程的使用;
如下如所示:
下面是小编的微信转帐二维码,小编再次谢谢读者的支持,小编会更努力的
----请看下方↓↓↓↓↓↓↓
百度搜索 Drools从入门到精通:可下载开源全套Drools教程
深度Drools教程不段更新中:
更多Drools实战陆续发布中………
扫描下方二维码关注公众号 ↓↓↓↓↓↓↓↓↓↓
这篇关于Drools的简要概述的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!