开源规则引擎LiteFlow项目应用实践

本文介绍基于开源规则引擎LiteFlow,如何开发规则设计器,在低代码平台中集成规则引擎,并在项目中实现应用的效果。由于低代码平台使用规则引擎实现了逻辑编排的需求,所以本文中的叫法为“逻辑设计”、“逻辑编排”、“逻辑流引擎”等。

逻辑设计规则设计,可以将复杂且多变的业务规则从硬编码中解耦,封装成独立、可复用的业务组件,通过可视化规则设计器按业务需求编排业务组件的执行逻辑,使得业务规则的变更无需修改项目代码、不用重启服务器就可以在线上环境立即生效,实现灵活应对业务需求变化。比如说订单价格计算,有折扣、满减、促销券、会员等级,不同会员等级在不同促销场景下(618、双11等),计算价格的规则是不一样的,这种需求就可以进行规则编排,面对业务需求快速变化,能够及时调整应对。

逻辑设计的使用步骤包括:逻辑组件定义和注册--->逻辑流设计编排--->调用逻辑流

1)逻辑组件定义和注册:将执行逻辑的代码注册成组件,以供后面进行逻辑流的编码。

2)逻辑流设计编排:通过设计器对组件的执行顺序、规则进行编排,形成可执行的逻辑流模型。

3)业务调用逻辑流:在表单、流程等扩展事件中通过HTTP或者Java API进行逻辑流的调用,来执行整个流程。

1.逻辑组件定义和注册

LiteFlow规则引擎支持多种开发语言开发逻辑组件,包括Java、Groovy、JavaScript等;其中后两者又属于脚本组件,可以进行在线注册和代码编写。前者则是需要在后端项目中写代码逻辑,并通过注解声明为一个组件,然后再通过页面将其给注册出来。

2.逻辑流可视化设计编排

逻辑组件开发完成并注册后,接下来就可以设计逻辑流了,打开逻辑流设计器(规则设计器),在线可视化设计逻辑流,可以直接复用注册的逻辑组件,也可以在设计器里直接定义逻辑组件。

设计好了逻辑流模型后,可以进行模拟测试,点击模拟测试,弹出模拟测试框。

在进行模拟测试时,可以填写或修改逻辑流的入参变量填写好后点击右下角测试按钮,即可展示测试结果。

【执行流】执行组件的流向

【执行节点】执行组件执行的各种信息

【整体用时】执行该逻辑流花费了多长时间

3.业务如何调用逻辑流

设计好我们的逻辑流模型后应该怎么去调用,我们目前提供了两种方式,分别是HTTP调用,和在后端代码中通过Java接口来调用执行。

我们首先来构建一个场景,以购物网站购物下单计算价格为例。通常我们网购时都会有各种优惠,比如满减、会员折扣、优惠券等等,这些优惠有时候会有有时候没有,这时我们可以通过逻辑流来编排我们订单价格计算的逻辑。首先我们要把不同的计算逻辑给独立成不同的组件。然后通过我们的逻辑流设计器把组件关联起来。

下面就是我们编排好的逻辑流模型,每个组件都有他们自己的职责,我们可以随意的更改我们的计算逻辑,比如去除满减活动,添加520促销活动的逻辑组件,更换两个组件的执行顺序。

然后在表单按钮点击事件里,自定义脚本通过HTTP服务调用逻辑流来计算订单价格,这样就实现了业务和逻辑流引擎的集成。如果是后端开发需要调用逻辑流,可以直接使用Java API 调用。

在线体验:http://www.yunchengxc.com

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

RabbitMQ学习笔记(二)SpringAMQP的使用、消息转换器

文章目录 前言3 SpringAMQP3.1 介绍3.2 简单队列模型3.3 工作队列模型3.4 发布/订阅模型3.4.1 Fanout广播模型3.4.2 Direct定向模型3.4.3 Topic通配符模型 3.5 消息转换器 前言 RabbitMQ学习笔记(一)RabbitMQ部署、5种队列模型 3 SpringAMQP 3.1 介绍 AMQP(Adva…

白酒:产地与白酒品牌形象的建设与推广

云仓酒庄豪迈白酒作为中国白酒市场中的知名品牌,其产地与品牌形象的建设与推广对于提升品牌竞争力和市场份额具有重要意义。产地作为白酒品质和特色的重要标志,对于品牌形象的塑造和推广具有关键作用。 首先,云仓酒庄豪迈白酒的产地是其品质和…

AI降痕工具使用指南:如何有效降低AIGC疑似度

随着人工智能技术的突飞猛进,AI生成内容(AIGC)已被广泛用于学术论文撰写中,提高效率同时也带来了原创性的挑战。面对日益严格的学术审查,一个突出的问题是:使用AI代写的论文能否通过内容检测?因…

第二证券股票杠杆:4分钟直线涨停!这一赛道,AH股集体爆发!

今日早盘,A股继续小幅震动收拾,首要股指涨跌互现,两市个股跌多涨少,成交有萎缩的趋势。 盘面上,医药、中字头、旅游、房地产等板块相对活跃,混合实践、玻璃基板、AI手机PC、光刻机等板块跌幅居前。 “中字…

活动投票小程序源码系统 礼物道具活动多多 前后端分离 带完整的安装代码包以及搭建教程

系统概述 在当今数字化快速发展的时代,小程序已成为连接用户与商家、内容与服务的重要桥梁。特别是活动投票类小程序,因其便捷性、互动性和参与性,受到了广大用户的热烈追捧。为了满足市场对高质量、易操作的活动投票小程序的需求&#xff0…

别慌!不知道如何处理#开头的字符串时,需要先了解一下什么是NCR

最近进行接口测试时抓包发现请求响应中有类似下面这些字符 起初试图对这些编码尝试各种decoder操作来一探其真身,遗憾的是均已失败告终(后来发现,这些编码可以在浏览器中正常显示)。最后得知这种奇怪的编码格式并不是编码,而是一种…

ClickHouse 实现用户画像(标签)系统实践

文章目录 前言用户画像概述用户画像系统介绍用户画像系统的需求描述用户画像系统的需求分析用户画像系统的架构 关键技术实现(Clickhouse SQL)分析阶段运营阶段 基于ClickHouse的用户画像系统的优点 前言 本文介绍一个ClickHouse应用案例—用户画像系统…

AI工具:解锁智能时代办公自动化的新篇章

工欲善其事,必先利其器。 随着AI技术与各个行业或细分场景的深度融合,日常工作可使用的AI工具呈现出井喷式发展的趋势,AI工具的类别也从最初的AI文本生成、AI绘画工具,逐渐扩展到AI思维导图工具、AI流程图工具、AI生成PPT工具、AI…

AIGC| 有手就行的AI绘画教程!Midjourney+Stable Diffusion 结合!全程干货,速来学习!

大家好,我是画画的小强 AI绘画工具的出现, 让设计岗的同事更会画画了, 还让策划/制片/三维/后期/运营……也能“画”一画了。 今天小强就教一教大伙,萌新小白都能迅速上手的AI绘画教程, 从零开始,产出…

静态网页实现-人脸识别-案例(web)

🤳人脸识别(web) 基于开源大模型,将人脸识别功能整合到网页中,提供用户友好的界面和强大的功能。 核心功能 人脸轮廓识别: 通过深度学习算法,精确识别人脸的轮廓,包括眼睛、鼻子、嘴巴等关键部…

Java18+​App端采用uniapp+开发工具 idea hbuilder智能上门家政系统源码,一站式家政服务平台开发家政服务

Java18​App端采用uniapp开发工具 idea hbuilder智能上门家政系统源码,一站式家政服务平台开发 家政服务 家政服务是一个专为家政服务人员设计的平台,该平台旨在提供便捷、高效的工作机会,同时确保服务质量和客户体验。 以下是关于家政服务师…

【耗时十个小时】程序员最趁手的SVM算法,学完你会哭着感谢努力的自己!

❤ 纯 干 货 ❤ 在这之前咱们已经接触了 各个算法的优缺点的总结,以及8个回归类算法、7个正则化算法的总结、5 个集成算法模型的全部总结! 感兴趣的可以翻到之前看看~ 咱们今天就大概一起学习一下关于SVM的方方面面。 线性支持向量机 非线性支持向量…

干货 | SDR RFSoC技术框图大放送(附资源)

软件无线电(SDR) 本文参考《Software Defined Radio with Zynq UltraScale RFSoc》,全文共744页。需要的可以给公众号 迪普微科技 发送“SDR”。

动态规划——打家劫舍问题

198. 打家劫舍 问题描述 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 给定一…

MathorCup挑战赛获奖名单公示,第九届研讨会及颁奖典礼即将举行

近日,备受瞩目的2024年第十四届MathorCup高校数学建模挑战赛圆满落幕,竞赛组委会于近日公示了获奖名单初稿。本届竞赛自2024年4月12日至16日举行,吸引了来自全国740所高校的9119支队伍踊跃参与,其中包括本科生、研究生、专科生及教…

Java流程控制习题--打印三角形及debug运用

1.打印三角形 使用for循环的嵌套进行运算,思考代码实现的思维方式 2.debug可显示代码每一步的运行步骤,使我们更好的了解代码的运行, debug使用方法:在代码的左侧排序处单机,在点击右上角的蜘蛛图标即可

springboot+elementui健康饮食系统

此系统是springboot健康饮食管理平台 得简化版,适合期末大作业 系统包括 管理员端和用户端 1.用户端注册即可登录到用户端,用户端包括首页轮播图,以及个人中心,个人信息修改,头像修改,后台根据用户信息&am…

liunx配置网络的命令

liunx配置网络的命令 文章目录 liunx配置网络的命令ifconfig命令查看路由表信息netstat命令ss命令lsof命令ping 命令nslookup命令 ifconfig命令 ifconfig:显示正在工作的网卡&#xff0c;启动的设备 ifconfig -a 展示所有设备 ens33: flags4163<UP,BROADCAST,RUNNING,MUL…

Flutter开发效率提升1000%,Flutter Quick教程之定义Api(四)

现在我们来讲讲&#xff0c;如何建立Api 响应数据的变量。 这个变量&#xff0c;本质上就是对根据json数据生成model的引用。 这个name就是引用名。 这个path&#xff0c;就是引用的Model Data里面的具体字段&#xff0c;在实际操作过程中&#xff0c;校验是由右边的json数据…

Pikachu靶场下载、配置

目录 下载 配置 新版小蓝皮 搭建网站 搭建数据库 初始化靶场 旧版小绿皮 配置数据库 配置网站 下载 GitHub下载地址&#xff1a; 百度网盘&#xff1a;https://pan.baidu.com/s/1j2WpdLvwAbmpAH76d_yitw?pwdwf8j 提取码&#xff1a;wf8j 迅雷链接&#xff1a;http…