低代码开发重要工具:jvs-rules 规则引擎功能介绍(三)

news2024/12/23 4:23:58

一、JVS规则引擎的决策流可视化组成

决策流的可视化拼装

规则引擎是由多个组件组成的,这些组件共同协作实现规则的管理、执行和决策流的构建。

决策流:决策流是由多个业务节点连接而成的流程,用于实现复杂的业务逻辑。决策流中的业务节点按照特定的顺序执行,每个节点根据输入数据和规则引擎的执行结果,决定下一个要执行的节点。决策流的构建可以基于业务需求和流程图进行设计和拼装。

决策流的组成包括规则定义、数据变量库、判断路由、决策引擎、业务节点等组成。规则定义用于描述和定义业务规则,变量库用于存储和管理规则,决策引擎用于规则的执行和决策的生成,业务节点用于表示业务流程中的步骤或任务,决策流由业务节点连接而成,实现复杂的业务逻辑。

通过业务节点的拼装,可以将一系列业务规则组成决策流,使得规则引擎能够根据特定的业务需求自动执行相关的规则。通过决策流的设计和组装,可以实现复杂的业务流程和决策逻辑,提高系统的灵活性和可维护性。

决策流的构建可以基于业务需求和流程图进行设计和拼装。通过可视化编辑器或编程接口,规则引擎的用户可以定义业务节点、规则之间的依赖关系和执行顺序。这种可视化的方式使得规则引擎的配置和管理更加直观和易于理解。 规则引擎的用户可以根据具体的业务需求灵活地设计和调整决策流,以适应不同的场景和变化。这种模块化和可配置的特性使得规则引擎能够提高系统的灵活性、可维护性和可扩展性。

配置方式如下所示:

决策流配置步骤如下:

1、拖拽对应的组件,组件包括开始、结束以及相应的 路由判断、规则分析等业务节点

2、将组件通过组件之间的连线,形成决策流程

3、对每个组件的属性进行独立设置,以实现业务的功能

4、点击测试执行,可以对决策流进行测试

二、判断节点介绍

在规则引擎中,判断节点(或条件节点)是用于对规则条件进行评估和判断的组件。判断节点通常是规则引擎中的核心部分,用于确定是否满足规则条件,并决定是否执行相关的操作或触发其他规则。

判断节点通常由一个或多个条件组成,这些条件可以是简单的逻辑表达式、比较操作符、函数调用或者其他规则引擎所支持的表达式。判断节点将评估这些条件,并基于评估结果决定下一步的操作。

判断节点的评估结果通常是布尔值(True或False),表示条件是否满足。如果所有条件都满足,判断节点将返回True,触发相关的操作。如果有任何一个条件不满足,判断节点将返回False,并根据配置的规则引擎行为执行相应的操作,执行其他规则或者终止规则执行。

判断节点可以使用各种逻辑运算符(如AND、OR、NOT)来组合条件,以实现更复杂的判断逻辑。这使得规则引擎能够处理多个条件之间的关系,并根据需要灵活地执行相应的操作。

判断节点在规则引擎中的作用非常关键,它们使得规则引擎能够根据预定义的条件自动进行决策和处理。通过合理配置判断节点,规则引擎可以灵活应对各种业务场景,并根据条件的变化自动调整执行流程,提高业务处理的效率和准确性。

配置如下图所示:

1、拖入判断节点,链接决策流开始节点或者上游节点

2、设置判断的变量,将入参设置为判断节点的判断内容。

3、设置判断的路由

拉入后续路由节点,链接对应的链路,系统将自动形成不同的路由条件,绑定变量,设置变量的路由的条件,这里设置的路由条件有多种方式,如下图所示:

三、规则节点介绍

在规则引擎中,规则节点是决策流的基本组成单位。规则节点用于描述条件和操作,它们定义了规则引擎在执行时要遵循的逻辑和行为。

规则节点通常由两个主要部分组成:条件和操作。条件定义了规则执行的触发条件,而操作定义了在满足条件时要执行的动作。

关系表达式用于描述规则节点的条件部分。它们定义了规则节点中条件之间的关系,以确定何时触发规则。关系表达式可以包含比较操作符(如相等、不相等、大于、小于等等),逻辑操作符(如AND、OR、NOT)和变量。

关系表达式允许您使用规则引擎的条件语法来构建复杂的条件逻辑。您可以使用比较操作符比较变量的值,使用逻辑操作符组合多个条件,或者使用括号来控制条件的求值顺序。

下面介绍关系节点的具体配置

1、引入变量

选择对应规则配置节点,可以选择新增变量,也可以点击引入变量,这里的新增变量是基于本决策流生成的私有变量,引入的变量是可以引入公有变量和本决策流的其他私有变量。

2、设置关系表达式

点击添加关系组,这里的关系组支持复杂的关系表达式,且系统自动生成配置的关系表达式的简化式。

四、赋值节点介绍

在规则引擎中,变量赋值节点用于在规则执行过程中将值分配给一个或多个变量。它们是规则引擎的操作节点之一,用于修改或更新变量的值,以便后续的规则条件和操作可以使用这些更新后的值。

变量赋值节点通常包含两个主要部分:变量和赋值表达式。变量是规则引擎中的命名实体,用于存储数据或中间结果。赋值表达式定义了要分配给变量的新值。

如下图所示:

配置方式:

1、新建变量或者引入变量

2、引入变量赋值的节点

3、设置变量的值的内容,可以是固定值,也可以是其他变量的结果

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

基础框架开源地址:https://gitee.com/software-minister/jvs

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/600581.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Rust安装手册

Rust 环境搭建 Rust 支持很多的集成开发环境(IDE)或开发专用的文本编辑器。 官方网站公布支持的工具如下(https://www.rust-lang.org/zh-CN/tools): 本教程将使用 Visual Studio Code 作为我们的开发环境&#xff08…

NIO之Selector解读

目录 Selector 简介 为什么会出现Selector Selector 和 Channel 关系 可选择通道(SelectableChannel) Channel 注册到 Selector 选择键(SelectionKey) Selector 的使用方法 Selector 的创建 注册 Channel 到 Selector 轮询查询就绪操作 停止选择的方法 Selector 简…

全志Tina Linux下如何编译glibc库

本文整理自问答:https://bbs.aw-ol.com/topic/3615/ make工具 注意由于AW服务器make版本为3.8.1,在编译glibc高版本时候不兼容,所以需要更新make工具。假如服务器make版本较高,可以不用更新make工具。 网址 http://ftp.gnu.org/…

chatgpt赋能python:Python函数介绍

Python函数介绍 函数是Python编程中最重要的概念之一。它是一段可重用代码的集合,通过一个名字来暴露出来,可以在Python程序的多个地方调用。函数可以接收任意数量的参数,也可以返回值。Python中函数定义使用关键字 def。 Python函数定义 …

ChatGPT教你学Python爬虫

“ chatgpt作为一个编程助手,虽然不能帮我们解决一个复杂的业务需求,但在处理一些具体工具类需求上,能够快速生成我们需要的代码,尤其对一些编程初学者,不仅能借助chatgpt快速完成自己的小工具,还能在与cha…

硬件 TCP/IP 协议栈

目录 全硬件的TCP/IP 协议栈简介以太网接入单片机方案以太网接口芯片CH395Q 简介以太网接口芯片CH395Q 命令简介以太网接口芯片CH395Q 寄存器配置与使用移植CH395Q 源码 TCP_Client 实验TCPClient 配置流程TCPClient 实验硬件设计程序设计下载验证 WebServer 实验WebServer 简介…

chatgpt赋能python:Python编程:如何写文件到指定目录

Python编程:如何写文件到指定目录 Python是一种高级编程语言,它具有简单易学、可读性高的特点,并且能够应用于各种领域,尤其是数据科学和机器学习领域。在Python中,我们可以通过编写代码实现将文件写入到指定目录中。…

JavaEE(系列18) -- 文件操作I/O

前言: 我们平时所说的文件都是指硬盘上的文件,而我们之前在JavaSE阶段代码绝大部分都是围绕内存展开的,定义个变量,其实就是内存上申请空间。 内存和硬盘的区别: 速度:内存比硬盘快很多。空间:内存空间比硬盘小。成本:内存比硬盘贵…

利用CiteSpace快速锁定领域内最新研究热点并制作精美的可视化专题图

【基于Citespace和vosviewer文献计量学相关论文 】 ​ 01 文献计量学方法与应用 1. 文献计量学方法基本介绍 2. 与其他综述方法区别联系 3. 各学科领域应用趋势近况 4. 主流分析软件优缺点对比 5. 经典高分10SCI思路复盘 6. 软件安装与Java环境配置 02 主题确定、数据检…

Power BI 如何高效管理度量值和字段

内容说明 背景需求: 当分析场景涉及大量数据和分析度量值时,为了更好的区分原始数据和用于分析的度量值,需要合理安排和管理数据字段。 本文总结了三种方法: 移动度量值位置创建字段文件夹:子文件夹和多个文件夹创建…

chatgpt赋能python:Python函数改名:为什么需要改名以及如何改名

Python函数改名:为什么需要改名以及如何改名 在Python编程中,函数是非常常见和重要的代码语句,用于完成特定的任务或操作。然而,在实际开发中,我们可能需要对已有函数进行改名,这个过程可能并不简单&#…

国产BI工具大比拼,帆软Fine BI和观远BI到底该怎么选型?

之前写了一篇关于BI如何选型的文章《「BI选型秘诀」BI工具不知道怎么选择?这张选型评分表你一定要收藏!》。 文章发布后,不少朋友私信我,想要我出个国产BI工具的测评,今天就开始第一期:帆软 VS 观远 仍旧…

el-form嵌套el-table编辑,校验信息显示在气泡框中

文章目录 概要整体架构流程技术名词解释技术细节 概要 提示:这里可以添加技术概要 正常情况下,el-table可编辑表格,如果输入框内容不合理的情况下,错误提示会显示在el-input下方对应。 但是,我不得不将错误提示放到el…

chatgpt赋能python:Python几行几列是什么?

Python几行几列是什么? Python几行几列是一款基于Python语言开发的优秀的划线工具。这个工具能够帮助开发者轻松创建、管理和分享自己的Python代码。Python几行几列是一款高效、易用的Python编辑器,它既可以用于快速编写Python代码,也可以用…

PG数据库 column “has_submit_am“ is of type numeric but expression is of type bool

目录 场景: 现象: 复盘分析: 解决方法: 测试: 扩展: 场景: 今天遇到一个问题,现场数据库中做了boolean隐式转换smallint时在执行对应的插入时一直报错 column "has_submit…

【Python NLTK】零基础也能轻松掌握的学习路线与参考资料

Python 自然语言处理工具包(Natural Language Toolkit,简称 NLTK)是一款 Python 的库,主要用于处理自然语言的相关问题,如文本清洗、标记化、分词、语义分析、词性标注、文本分类等功能,是数据科学家和机器…

Facebook不同账户类型的投放格式【Facebook企业户】

在Facebook企业户中,不同的广告类型具有多样化的投放格式,旨在帮助企业更好地吸引目标受众、提升品牌曝光和实现营销目标。 一、广告类型的概述 Facebook提供了多种广告类型,包括图片广告、视频广告、幻灯片广告、动态产品广告等。每种广告类…

vue项目H5页面在苹果手机点击输入框输入内容时 页面自动放大

遇到的问题 用vue写H5页面时,iPhone手机点击input搜索框,输入内容时,页面会自动放大。 解决方法 在public文件夹下找到html文件&#xff0c;打开后加上user-scalableno 就行 <meta name"viewport" content"widthdevice-width,initial-scale1.0,user-scala…

【从零开始进行高精度手眼标定 eye in hand(小白向)1 原理推导】

从零开始进行高精度手眼标定 eye in hand&#xff08;小白向&#xff09;1 原理推导 前言原理推导公式推导为什么在数据采集中至少需要两个位姿信息 MATLAB编程计算A矩阵的计算和获取matlab计算代码B矩阵的计算和获取matlab计算矩阵B 前言 最近由于组内的相关工作需求&#xf…