最近要开始做一个风控项目,大概看了下有很多指标,于是决定调研一下开源业务规则引擎。
首先我们要明白什么是规则引擎。
规则引擎是一种嵌套在应用程序中的组件,实现将业务规则从应用程序代码中分离出来。规则引擎使用特定的语法编写业务规则。
引入规则引擎后端带来的好处:
(1)实现业务逻辑与业务规则的分离,实现业务规则的集中管理。
(2)可以动态修改业务规则,从而快速响应需求变更。
(3)使业务分析人员可以参与编辑、维护系统的业务规则。
(4)使用规则引擎提供的规则编辑工具,使复杂的业务规则实现变得简单
1、Drools
git地址:https://github.com/kiegroup/drools.git
Drools是JBoss公司旗下的一款开源规则引擎,其使用了匹配规则的方式来进行,使用时需将业务逻辑进行抽象,抽象成一条条规则。
2、URule
官方地址:http://www.bstek.com/products/urule
git地址:https://github.com/youseries/urule.git
URule是一款纯Java规则引擎,它以RETE算法为基础,提供了向导式规则集、脚本式规则集、决策表、交叉决策表(PRO版提供)、决策树、评分卡及决策流共六种类型的规则定义方式,配合基于WEB的设计器,可快速实现规则的定义、维护与发布。
URule提供了两个版本:一个是基于Apache-2.0协议开源免费版本,URule开源版本第一款基于Apache-2.0协议开源的中式规则引擎;另一个是商用PRO版本