一文看懂如何最大化规则引擎的价值:从选型到优化

规则引擎介绍

规则引擎(drools、jvs-rules) 是把我们日常项目中经常发生变化的业务功能,抽象成可修改的配置,将规则逻辑配置和基础功能之间解耦分离,能够大大的简化项目的开发难度与编码变更工作量,使系统具备柔性可调整。

规则引擎使得业务规则的变化不再需要修改和重新编译代码。当业务需求发生变化时,用户只需在规则引擎中更新相应的规则,而无需对整个系统进行重构。这不仅大大缩短了开发周期,降低了交付成本,同时也提高了软件的质量和稳定性。规则引擎能够自动判断业务数据的状态,并根据预设的逻辑进行相应的操作。这不仅提高了业务流程的自动化程度,减少了人工干预的需求,同时也降低了出错的可能性,提高了业务处理的效率和准确性。

使用规则引擎的好处是相当明显的,那么市面上的规则引擎有两类:

1、声明式规则引擎

声明式规则引擎是基于声明式编程的概念,将业务规则与业务逻辑分离,目标人群是开发者,它使得开发者可以更加专注于业务逻辑的实现,而无需过多关心规则的具体执行。在声明式规则引擎中,规则通常使用一种专门的规则语言来描述,这种语言允许开发者以简洁、直观的方式定义复杂的业务规则。

声明式规则引擎的典型产品包括Drools和JBoss BRMS(Business Rules Management System),它提供了API操作入口,支持多种规则语言和集成方式,它提供了规则定义、测试、部署和监控的全方位支持,如下图所示

在使用声明式规则引擎时,规则定义与管理的便捷性是其重要的优势之一。开发者可以通过简单的规则语言或图形化界面来定义规则,无需编写复杂的代码。同时,规则引擎通常提供了丰富的API,使得规则的管理和维护变得不再麻烦。此外,规则变更的即时生效也是声明式规则引擎的一大特点。当规则发生变化时,系统可以立即应用新的规则,无需重启或重新部署应用程序。

2、流程式规则引擎

与声明式规则引擎不同,流程式规则引擎更注重规则执行顺序的可视化和流程管理。基于流程图的规则定义+业务判断指标界面加工的方式进行配置,使得用户可以直观地描述业务流程中的各个环节和规则之间的关系。典型产品如 jvs-rules,对用户操作非常友好

它提供了强大的流程设计和管理能力,支持复杂流程的处理和异常处理。

它提供了多数据加工处理的方式,函数加工、sql取数、界面可视化配置规则条件、界面化配置接入大量数据,自动生成调用API等等

三、最大化规则引擎价值方法

  1. 明确业务需求与规则复杂性,需要对业务场景进行深入理解,确认使用规则引擎的用户(开发人员\业务人员),确定规则引擎的选型;
  2. 规则引擎的定制与优化,根据具体场景的理解,考虑好使用的数据来源,对数据加工的方式,可以通过多种方式对数据加工成业务判断指标;

  1. 规则的管理与配置的工作归属,是业务部门还是技术部门,这个问题往往是把规则用好的关键;
  2. 规则引擎的集成与扩展,也就是规则模型如何快速的和业务系统集成起来(自动生成集成调用的API);

在线demo:http://rules.bctools.cn

gitee地址:https://gitee.com/software-minister/jvs-rules

  • 7
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jonyleek

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值