一飞开源
阅读3585

[开源]规则引擎,基于Web可视化配置,可零代码实现复杂业务逻辑

一飞开源,介绍创意、新奇、有趣、实用的开源应用、系统、软件、硬件及技术,一个探索、发现、分享、使用与互动交流的开源技术社区平台。致力于打造活力开源社区,共建开源新生态!

一、开源项目简介

规则引擎 RuleEngine

业务逻辑实现不再依赖于代码开发,可零代码实现复杂业务逻辑。

提供了普通规则、规则集、决策表、以及应对复杂场景的函数支持,可以适用任何业务需求。业务逻辑实现不再依赖于代码开发,可零代码实现复杂业务逻辑!

二、开源协议

使用Apache-2.0开源协议

三、界面展示

四、功能概述

规则引擎开源版 RuleEngine

基于web可视化配置,简单高效快捷。

业务逻辑实现不再依赖于代码开发,可零代码实现复杂业务逻辑!

操作简单

无需开发人员即可配置复杂的规则业务,提供了非常方便的操作界面,小白也可以驾驭自如。

功能多

我们提供了普通规则、规则集、决策表、以及应对复杂场景的函数支持,可以适用任何业务需求。

高性能

规则配置后动态加载到内存中,独创了一套自己的规则模式匹配算法以及数据结构,可以从根本上保证规则运行的效率,实现大量复杂业务规则计算时的毫秒级响应。

来源:规则引擎 RuleEngine 官网文档

五、技术选型

技术栈/版本介绍:

  • 所涉及的相关的技术有
  • SpringBoot 2.2.11
  • RabbitMQ
  • Redis、Redisson
  • MySQL 5.7.9
  • Mybatis-plus
  • Maven 3.3
  • Swagger

规则如何调用

调用规则方项目pom.xml文件引入以下依赖


    <dependency>
        <groupId>cn.ruleengine</groupId>
        <artifactId>rule-engine-client</artifactId>
        <version>2.0</version>
    </dependency>

SpringBoot项目application.yml配置文件配置

详细内容请查看 README.md 文档。

然后编写如下代码进行测试:


@EnableRuleEngine
@RunWith(SpringRunner.class)
@SpringBootTest
public class RuleTest {

    @Resource
    private RuleEngineClient ruleEngineClient;

    @Test
    public void test() {
        // 构建规则请求参数
        PhoneTestRule phoneTestRule = new PhoneTestRule();
        phoneTestRule.setPhone("134000000000");
        // 调用执行引擎中的规则
        GeneralRule generalRule = this.ruleEngineClient.generalRule();
        Output output = generalRule.execute(phoneTestRule);
        System.out.println(output);
    }

}

@Data
@Model(code = "phoneRuletest")
public class PhoneTestRule {

    /**
     * 可选,默认code为属性name
     */
    @InputParameter(code = "phone")
    private String phone;

}
更多调用方式,请查看 README.md 文档。

六、源码地址

后端源码下载

前端源码下载

关注下面的标签,发现更多相似文章

一飞开源
发布了 篇专栏 · 获取点赞 · 获取阅读

评论

查看更多
相关推荐
关于作者
一飞开源
获得点赞 100
文章被阅读 1000
相关文章