规则引擎drools—Part1
规则引擎概念
- 业务规则管理系统(BRMS)也称为
规则引擎
,是嵌入在应用程序中的一种组件。规则引擎是把业务决策逻辑从应用程序代码中分离出来
并使用预定义的语义模块
来编写业务规则,从而业务人员可以独立配置和管理业务规则。 - 规则引擎的主要作用是
接收数据输入
,解释业务规则
,然后使用规则做出业务决策
。规则引擎的产品有drools、easy-rules、apache camel、ilog等。 - 规则引擎的优点
- 业务规则与系统代码分离,能够集中管理业务规则;
- 无需重启服务就可以扩展和维护业务规则;
- 支持动态修改业务规则,从而快速响应需求的变更;
- 规则引擎相对独立,关注业务规则,业务分析人员也能够参与业务规则的编辑和维护;
- 降低硬编码业务规则的成本和风险。
- 规则引擎的应用场景
对于有比较复杂的业务规则并且业务规则会频繁变动的系统比较适合使用规则引擎。
- 风控系统,比如风险贷款、风险评估;
- 发欺诈系统,比如银行贷款、征信验证;
- 决策平台系统,比如财务计算;
- 促销系统,比如满减、打折、加购。
Drools介绍
- drools是基于Java的开原规则引擎,用于将业务规则从硬编码中解放出来,以规则脚本的形式存放在文件或特定的存储介质中(比如数据库),支持
在线变更业务规则
。 - drools官网地址
- 在java maven工程中引用drools
<dependency>
<groupId>org.drools</groupId>
<artifactId>drools-compiler</artifactId>
<version>7.10.0.Final</version>
</dependency>
- drools API开发步骤