我们每天都在和各种规则打交道------从简单的"满减优惠",到复杂的"风控审核";从"自动分单",到"权限校验"。规则无处不在,但当规则频繁变化、逻辑日益复杂时,代码的修改、测试、上线便成了一场漫长的拉锯战。
我们不禁思考:有没有一种方式,能让规则回归它本来的样子------清晰、直观,且能被业务人员随时掌控?这就是 JVS-Rules 诞生的初衷。
它不是一个冰冷的代码框架,而是一座连接业务与技术、想法与实现的桥梁。在这里,规则不再藏在晦涩的代码深处,而是以你最熟悉的方式呈现------你说的,就是"规则"。无论是决策表、评分卡,还是复杂的逻辑编排,JVS-Rules 都致力于让规则的表达与执行,像你写下那句业务描述一样自然。
接下来,让我们一起走进 JVS-Rules,看看它如何让规则真正"听得懂人话,做得了实事"。
JVS-Rules
基础介绍
本项目是基于JVS逻辑引擎构建的规则引擎,将JVS低代码开发平台的逻辑引擎简化,交互优化,从而形成侧重于金融风控、场景规则计算、在线决策的JVS-Rules。逻辑引擎 侧重于逻辑处理(数据加工、规则判断、业务拼装) ,规则引擎侧重于规则判断,主要用于风控决策、规则过滤、行为评分等场景,本项目采用spring cloud+vue构建,支持在线的变量加工、界面拖拽、在线测试等多种功能。包含完整的前后端。


软件技术栈
采用 JVS(spring cloud的快速应用脚手架)构架,前端VUE+ElementUI。 jvs-rules是基于JVS快速开发平台上构建的一个原生应用,整体架构体系如下。

JVS-Rules构成
JVS-Rules=策略编排+规则表达+变量数据加工+数据接入 四个部分
名称解释
接口:通过网络调用发起的数据请求方式,其中分为外部接口,内部接口等。
变量:将接口查询回来的数据,按照业务层面的需求通过解析加工转换后,可以被逻辑或者规则直接使用的单个数据。
基础变量:基础变量是根据函数的方式,对数据进行加工转换,本质表示单个的数据值
复合变量:是根据对多行数据的加工处理,对数据进行加工转换,输出的多条数据结果
规则:由多个变量通过与或等关系实现的业务层面的数据指
判断:根据对数据内容的判断,形成不同数据决策的分支路径
决策:由多个判断、策略、计算等节点有机组织起来的决策流程
数据源:是系统对多种数据来源形态的统一抽象功能,可是支持数据库、api等多种形态的数据内容


项目特点
- 纯java开发,采用微服务作为基础脚手架,稳定性与通用性有保障
- 易用性,有良好的界面交互体验,采用类excel函数的使用方式,对变量加工非常简单高效
- 扩展性,基于JVS基础底座开发,可以通过低代码扩展各种信贷进件系统、信贷审批系统等等
- 持续性,后续还将增加风控报告的功能,对不同产品、不同场景,提供多种评估报告
场景举例
- 风控场景
- 计息场景
- 营销场景
使用规则引擎的价值
1、技术与业务解耦,业务规则与系统代码分离,实现业务规则界面化的集中管理
2、在线即时生效,在不重启服务的情况下可随时对业务规则进行扩展和维护
3、场景灵活配置,可以动态修改业务规则,从而快速响应需求变更,业务层面可以更加灵活的支持业务
4、规则引擎是相对独立的,只关心业务规则,使得业务分析人员也可以参与编辑、维护系统的业务规则
5、降低使用成本,减少了硬编码业务规则的成本和风险,从而大大降低开发成本
6、界面化操作配置,使用规则引擎提供的界面化的编排工具,使复杂的业务规则实现变得的简单,降低对技术人员的依赖
规则引擎不是技术自嗨的产物,而是企业应对不确定性、拥抱变化的必然选择。
在金融风控、营销活动、信贷审批、计息规则、设备维保等场景中,规则越密集、变化越频繁,规则引擎的价值就越突出。它守住的,是业务决策的"底线"------合规、可控、可追溯、零幻觉;它解放的,是业务创新的"上限"------快速试错、灵活调整、业务主导。
当你再次面对频繁变动的业务逻辑时,不妨记住这句话------"你说的,就是规则。"