规则引擎用于管理和执行业务规则。它提供了一个中央化的机制来定义、管理和执行业务规则,以便根据特定条件自动化决策和行为。规则引擎的核心概念是规则。规则由条件和动作组成。条件定义了规则适用的特定情况或规则触发的条件,而动作定义了规则满足时要执行的操作或行为。
jvs-rules的核心特点:
- 数据-变量-规则-决策的 四级构架,精简高效
- 热加载模式,所见即所得,所配即所用
- 支持函数式(数据映射)、流程式数据加工(多数据+算子加工),满足一切所需的变量处理
- 便捷的界面化调试,便捷的配置操作,极简配置交互门槛
功能清单如下:
功能点 | 描述 | 备注 |
多数据源管理 | 支持多种数据库、API、低代码等多种数据源的接入管理 | 升级 |
数据库接入配置 | 提供数据库接入的界面化配置 | 升级 |
API接入管理 | 提供api 接入的界面化配置 | 新增 |
API jar包管理 | api接入时,对特定接口提供jar包方式 进行定制扩展 | 新增 |
业务变量 | 变量是用于决策过程中的可变数据的承载,用于决策过程中对数据的引用、判断等场景,表达一个类型的变动数据 | |
变量管理 | 提供可视化的界面对变量进管理,支持变量的增删改查 | |
变量类型 | 系统提供基础变量与复合变量的类型支持 | 升级 |
基础变量加工 | 通过可视化界面+函数式加工的方式,实现将源数据映射为单一 目标数据,支持嵌套加工 | |
复合变量加工 | 通过可视化界面+流程化算子编排处理的方式,实现将源数据映射为 目标数据,可以是一条数据,也支持多行数据 | 新增 |
变量作用范围 | 系统提供全局变量与局部变量两种模式,全局变量是每个决策都可以选择的变量,局部变量是进在当前决策流中可是使用的变量 | |
变量选择器 | 全局一体化的变量选择器,用于对变量的选择与引用 | |
变量赋值 | 在决策流执行的过程中,提供变量赋值的处理节点 | |
决策管理 | 支持决策流的增删改查,并提供决策流基本信息、配置信息的预览与设计 | |
入参配置 | 支持决策流程的可视化入参配置(json模式) | 优化 |
执行日志 | 决策流执行日志,并且支持图形化的方式对执行过程进行回显 | 优化 |
调用说明 | 对决策流提供调用的界面化的操作说明 | |
决策流设计器 | 可视化的决策设计配置器通过拖拽化 的流程式编辑器,实现决策的可视化配置 | |
决策流状态管理 | 系统提供决策流的状态管理 | |
决策设计画布 | 支持拖拽、支持动态创建的方式,采用流成画布的模式对多个业务节点进行编排,形成决策流 | |
节点配置 | 提供节点的配置面板,实现各个节点的具体业务功能 | |
执行模式 | 支持漏斗型与覆盖型的决策执行,漏斗型式一旦遇到“退出”即可完成决策执行,覆盖性会将该通路一直执行到结束节点 才完成决策的执行 | |
判断节点 | 用于决策过程中的不同路由的选择,通过变量引入,对变量的结果进行对比选择执行的路径 | |
规则节点 | 用于决策过程中的规则判断,通过对变量的拼装,组成规则表达式进行业务逻辑判断 | |
计算节点 | 用于对变量的最终结果计算 | |
评分卡节点 | 通过引用变量,在变量基础上结合集合映射、线性、集合等方式进行数字转换 | |
赋值节点 | 用户对变量进行加工取值 | 新增 |
结束节点 | 对规则决策输出决策结果 | |
定义输出 | 通过界面化的配置,提供输出结果的定义 | 新增 |
服务开放 | 将设置决策的调用方式,可配置秘钥、IP白名单等设置 | |
1、新增数据源管理,接入jvs-datasource,支持数据库、API、低代码模型、离线文件等多种方式的数据接入
同时增加数据库支持的类型。
2、增加变量类型
复合变量是对于多数据加工处理。
3、复合变量加工
自定义入参配置
自定义结果输出
在线Demo:http://rules.bctools.cn/
开源地址:https://gitee.com/software-minister/jvs