关于规则引擎的选型和疑惑思考

时间:2024-02-25 15:33:54

这是一个一些业务开发人员或者架构设计人员经常遇到的困惑:

1、给我推荐一个最简单、易用的规则引擎

1、运营人员觉得之前做的规则引擎不好用,是否可以做一个适合我们使用的规则引擎?不用看懂代码,直接界面表单提交操作。

2、我们的操作者是运营人员,大部分无技术背景,人员还有流动性,所以选型倾向选择可视化易编辑易理解的开源规则引擎。

能否推荐下选型,并说明优缺点

我的观点:

  • 1、你要的可视化易编辑易理解的开源规则引擎是不存在的。

通用的规则引擎只是把原来的java代码转化成了脚本来动态解析执行而已。本质上还是需要写代码,比如要写drools的表达式,如果你的运营人员不懂,并且培训无效那就没有办法了。

  • 2、但是基于规则引擎的业务系统可以做到配置人员无需了解代码。

这个过程首先需要开发人员总结、提炼出目前的N个业务类型,然后针对每个业务类型开发出运营人员需要配置的web界面。
这样当运营提交表单的时候,就可以通过后台程序自动拼装出脚本引擎可以解读的代码了。

  • 综上,如果只追求无需硬编码,并且配置人员懂得简单编码可以使用通用的规则引擎;如果还要追求配置界面的可读性,配置人员无需了解代码,开发人员就必须往前走一步,做每个业务类型的配置界面,然后再做一个界面到规则DSL语句的转化功能。

附录:一些半通用的规则配置截图:(取材自微信讨论群)

image

image