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

简介:

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

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

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

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

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

我的观点:

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

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

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

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

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

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

image

image

相关文章
|
10月前
|
设计模式 负载均衡 网络协议
【分布式技术专题】「分布式技术架构」实践见真知,手把手教你如何实现一个属于自己的RPC框架(架构技术引导篇)
【分布式技术专题】「分布式技术架构」实践见真知,手把手教你如何实现一个属于自己的RPC框架(架构技术引导篇)
416 0
|
Java
规则引擎选型及应用
规则引擎具体执行可以分为接受数据输入,解释业务规则,根据业务规则做出业务决策几个过程。 使用规则引擎可以把复杂、冗余的业务规则同整个支撑系统分离开,做到架构的可复用移植。
24155 0
|
移动开发 前端开发 JavaScript
做前端技术方案选型的时候,你是怎么做决策的?
做前端技术方案选型的时候,你是怎么做决策的?
198 0
|
消息中间件 监控 数据处理
消息队列和应用工具产品体系-APM 系统简述和架构演化
消息队列和应用工具产品体系-APM 系统简述和架构演化
|
10月前
|
存储 算法 Java
【底层服务/编程功底系列】「手把手教学系列」带你打造一个属于自己的规则引擎服务,打破任何业务难题(逻辑模型和API设计)(一)
【底层服务/编程功底系列】「手把手教学系列」带你打造一个属于自己的规则引擎服务,打破任何业务难题(逻辑模型和API设计)
225 1
|
10月前
|
Java API
【底层服务/编程功底系列】「手把手教学系列」带你打造一个属于自己的规则引擎服务,打破任何业务难题(逻辑模型和API设计)(三)
【底层服务/编程功底系列】「手把手教学系列」带你打造一个属于自己的规则引擎服务,打破任何业务难题(逻辑模型和API设计)
161 0
|
10月前
|
存储 设计模式 监控
【底层服务/编程功底系列】「手把手教学系列」带你打造一个属于自己的规则引擎服务,打破任何业务难题(逻辑模型和API设计)(二)
【底层服务/编程功底系列】「手把手教学系列」带你打造一个属于自己的规则引擎服务,打破任何业务难题(逻辑模型和API设计)
135 0
|
自然语言处理 JavaScript 前端开发
如何解决前端多语言选型和实现难题?
多语言(i18n)支持 是企业项目走向国际化的必经之路,也是前端工程师最佳实践的内容之一。不过,多语言框架众多,会带来一系列选型问题,相信大家在平时对项目进行多语言支持时,也往往会遇到如下几个问题:
1293 0
|
消息中间件 存储 中间件
消息组件选型分析
消息组件选型分析
|
设计模式 安全 Java
基于设计模式改造短信网关服务实战篇(设计思想、方案呈现、源码)
基于设计模式改造短信网关服务实战篇(设计思想、方案呈现、源码)
489 0