通过学习rete算法之后,这篇博客来介绍一下一个rete算法实现的规则引擎的框架Drools。
Drools是Jboss公司旗下一款开源的规则引擎,有如下特点;
- 完整的实现了Rete算法;
- 提供了强大的Eclipse Plugin开发支持;
- 通过使用其中的DSL(Domain Specific Language),可以实现用自然语言方式来描述业务规则,使得业务分析人员也可以看懂业务规则代码;
- 提供了基于WEB的BRMS——Guvnor,Guvnor提供了规则管理的知识库,通过它可以实现规则的版本控制,及规则的在线修改与编译,使得开发人员和系统管理人员可以在线管理业务规则。
Drools 是业务逻辑集成平台,被分为4个项目:
- Drools Guvnor (BRMS/BPMS):业务规则管理系统
- Drools Expert (rule engine):规则引擎,drools的核心部分
- Drools Flow (process/workflow):工作流引擎
- Drools Fusion (cep/temporal reasoning):事件处理
Drools规则引擎的原理(原理解析见rete算法篇)