撮合前端平台在低代码平台的落地实践 | 京东云技术团队

在京东技术的发展当下,不同的业务线,不同的区域,甚至于很多触达消费者的端,正在被中台架构能力所支撑。大家都很清楚,中台建设能够带来技术的规模化效应,具有提高业务协同、加速创新和交付速度、提高系统稳定性和可靠性、降低成本和支持业务快速发展等优势。

中台架构往往和领域产品有密切的关系,领域产品是在京东体系中,处于前台和共享业务域之间,基于标准理论标准,为实现某个特定商业场景、而提供的一组业务活动能力,接入团队可以通过复用领域产品的能力,达到快速实现业务需求的目的。

基于传统认知,前端产品直接触达消费者,往往具有高度的定制化、需求变更频繁等特点,要求具有很好的动态性, 能够满足不同客户的需求。那么能否建设类似的前端中台产品,我们姑且称之为“前端领域产品”,实现接入团队端到端能力复用呢?我们在撮合业务线中进行了一系列思考和探索。

架构设计

image.png
左图展示了实现前端领域产品之前业务线的接入模式:各个业务线独立对接撮合中台,需要各自搭建前端平台(端)。右图展示了在撮合中台和端之间,嵌入了前端领域产品(后文中统一称为撮合前端平台),以一套MVP标准版驱动多种业务形态接入,对各个业务线提供前端支撑能力,提供接入撮合的基础能力和业务能力供业务方使用,业务接入后不再需要自己搭建前端平台,而是作为撮合前端平台的一部分直接使用,这样就大大减少了开发成本。

作为一套标准领域产品,撮合前端平台应当具有如下特征:

  • 能力隔离:实现不同业务接入的数据隔离、业务形态隔离

  • 标准化:对撮合业务进行模型抽象,对流程不同环节中的业务提供标准组件

  • 兼容性:不同业务线之间能够实现技术通用和复用

  • 易扩展:新业务快速接入,不同业务域具有一定的定制化能力

技术方案

撮合业务可以抽象为多租户接入模型,在数据隔离方面主要参考交易中台的四要素模型,四要素包含租户(Tenant)、流量场(BU)、子渠道(Channel)、用户终端(UA),主要应用于多租户、多流量场、多销售渠道、多端的业务场景。

租户(Tenant)流量场(BU)子渠道(Channel)
控制方领域产品领域产品接入方
载体应用/页面页面组件

撮合前端平台总体采用平台和接入方共享共建的方式使用:

  • 针对租户级别的差异性,我们考虑使用应用或页面的方式进行承载,例如撮合前端平台划分为3个基础应用,分别为买家端、商家端和运营端,分别承担撮合询价、报价和管理的角色。在新业务接入时,若与基础应用能力差异很大,则可基于基础应用快速搭建子应用接入的方式;否则可采用基础应用内新建页面的形式。

  • 针对场差异性,使用页面的方式进行隔离承载,由领域产品提供抽象的业务闭环能力,例如询价能力、报价能力,由接入方进行使用。

  • 最后针对场内的细微差异,接入方可通过页面/组件暴露的配置化接口进行配置的方式实现。

  • 若撮合前端平台能力不足,则接入方也可通过平台提供的能力自建组件进行能力补充。

低代码平台与产品形态契合度高、设计风格统一,能够支持业务快速运维部署,我们认为这套业务模型在低代码平台上进行落地更为高效,因此在技术选型的过程中选择了水滴低代码平台进行撮合前端平台的可视化搭建 ,充分利用低代码平台的内置能力,例如表单表格、权限管控、微前端等。基于低代码平台能力和底层撮合中台的能力,我们针对撮合业务形态搭建了完整的业务链路。
image.png
image.png

技术加速

在2022/12我们着手开始搭建撮合前端平台MVP版本,2023/2完成专项视觉优化改造,并在2023/3规划新业务接入。在大促前后,将技术架构进一步改良,驱动这种创新能力在新业务接入中进行赋能,有利于推动撮合交易业务增长。在新业务的接入中,识别到业务的较大差异,对原有基于SKU进行撮合的MVP能力进行了较大改造,实现了基于SKU和SPU进行撮合的两套业务体系。
image.png

在项目搭建的过程中充分利用低代码的页面搭建能力,实现了33个页面的标准页面开发,并完成如下通用化改造:

  • 场参数和环境参数:采用url传参的方式,实现四要素参数和环境参数的注入,实现数据和环境自由切换。

  • 统一拦截器:将分散在各个表单和表格的接口进行识别和整合,通过统一拦截器进行处理,封装公共逻辑如接口异常处理、公共参数拼接等,对接口调用方式进行了精简。

  • 能力复用:对功能进行更细粒度的拆分和重组,如将询价单和商品信息剥离开,询价单操作和询价单展示剥离等,新增页面表头操作组件、spu查询组件、spu卡片等组件,并兼容跨场能力。引入描述性列表组件和通用描述协议,实现跨场动态表单配置和渲染。业务组件采用npm包插件的方式引入,可以在低代码页面引入后使用。

  • 微前端改造:支持业务线进行旧工程微前端改造,实现低代码页面以微前端方式嵌入。

image.png

新业务作为新的场接入,由撮合前端平台在平台基础上一键复制新的子应用或子页面供业务方使用。撮合前端平台提供了丰富的基础组件和定制化的业务组件可供使用,并且全部支持配置可视化,业务方可利用拖拽的方式进行页面功能调整后发布生效。

结语

撮合前端平台尚且年轻,但是凝聚着京东技术人的智慧,相信未来会有更广阔的应用前景。

作者:京东零售 陈震

来源:京东云开发者社区 转载请注明来源

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

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

相关文章

Java问题诊断和排查工具

文章目录 一、前言二、Java问题诊断和排查工具1、JDK自带工具2、常用命令3、JAVA Dump:3.1、jps3.2、jstack3.3、jmap3.3.1、jmap -heap pid:查看堆使用情况3.3.2、jmap -histo pid:查看堆中对象数量和大小3.3.3、jmap -dump:formatb,fileheapdump pid&a…

K8S的介绍和架构

仅供入门 K8S的介绍和架构 一. 什么是kubernetes二、Kubernetes架构和组件 2.1 核心组件 2.1.1 Kubernetes Master控制组件,调度管理整个系统(集群),包含如下组件: a、Kubernetes API Serverb、Kubernetes Schedulerc、Kubernet…

springboot自动装配原理,手写一个starter。

文章目录 springboot自动装配原理手写starter手写starter总结: springboot自动装配原理 口述: springboot自动装配的话它其实就是只需要我们添加一个starter起步依赖,它就能完成这个依赖组件相关Bean的自动注入,其实就是自动的将…

SpringMVC的工作流程及入门

目录 一、概述 ( 1 ) 是什么 ( 2 ) 作用 二、工作流程 ( 1 ) 流程 ( 2 ) 步骤 三、入门实例 ( 1 ) 入门实例 ( 2 ) 静态资源处理 给我们带来的收获 一、概述 ( 1 ) 是什么 SpringMVC是一个基于Java的Web应用开发框架,它是Spring Framework的一部…

5.bs4的基本使用

bs4是python的一个第三方库,用来做数据解析的 目录 1 安装bs4 2 解析本地的html文件 3 解析网上的html 4 找到指定的标签 4.1 获取页面中第一个指定标签的内容 4.2 查找页面中的第一个符合要求的内容 BeautifulSoup.find() 4.2.1 标签 4.2.2 类名 …

Linux--进程概念

1.什么是程序?什么是进程?有什么区别? 程序:是静态的概念,gcc xxx.c -o pro 磁盘中生成的pro文件,叫做程序。 进程:是程序的一种与运行活动,通俗的意思是程序跑起来了,系…

linux免密登录最简单--图文详解

最简单的免密登录 1.A电脑生成秘钥 ssh-keygen -t rsa 2.A电脑将秘钥传给B电脑 ssh-copy-id root192.168.1.129 #将秘钥直接传给B电脑 需要输入B电脑的密码,可以看到成功。 3.测试 同理:如果B->A也需要免密登录,统一的操作。 大功告…

PHP8的数组-PHP8知识详解

今天开始学习数组, 本文主要讲了三点:什么是数组、php8中数组的改进、数组函数。 一、什么是数组 在PHP8中,数组是非常重要的数据类型。相对于其他的数据类型,数组更像一种结构,而这种结构可以储存一系列数值。 数组…

【SpringSecurity】八、集成图片验证码

文章目录 1、生成图片验证码2、创建验证码过滤器3、将过滤器加入SpringSecurity过滤链4、修改登录页 SpringSecurity是通过过滤器链来完成的,接下来的验证码,可以尝试创建一个过滤器放到Security的过滤器链中,在自定义的过滤器中比较验证码。…

90、00后严选出的数据可视化工具:奥威BI工具

90、00后主打一个巧用工具,绝不低效率上班,因此当擅长大数据智能可视化分析的BI数据可视化工具出现后,自然而然地就成了90、00后职场人常用的数据可视化工具。 奥威BI工具三大特点,让职场人眼前一亮! 1、零编程&…

医学影像工作站PACS系统源码,医院PACS系统源码

医学影像(PACS)系统主要进行病人信息和影像的获取、处理、存储、调阅、检索、管理,并通过网络向全院提供病人检查影像及诊断报告;各影像科室之间共享不同设备的病人检查影像及诊断报告;在诊断工作站上,调阅HIS中病人的其它信息&am…

Android架构 架构和 CPU ABI - NDK

查看设备架构 adb -s emulator-5554 shell getprop ro.product.cpu.abi C:\Users\liyd>adb -s emulator-5554 shell getprop ro.product.cpu.abi x86_64C:\Users\liyd>adb -s 804c11f1 shell getprop ro.product.cpu.abi arm64-v8amumu模拟器12 C:\Users\liyd>adb …

ElasticSearch入门

一、基本命令_cat 1、查看节点信息 http://192.168.101.132:9200/_cat/nodes2、查看健康状况 http://192.168.101.132:9200/_cat/health3、查看主节点的信息 http://192.168.101.132:9200/_cat/master4、查看所有索引 http://192.168.101.132:9200/_cat/indices二、索引一…

【算法与数据结构】700、LeetCode二叉搜索树中的搜索

文章目录 一、题目二、解法三、完整代码 所有的LeetCode题解索引&#xff0c;可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、解法 思路分析&#xff1a;二叉搜索树的性质&#xff1a;左节点键值 < 中间节点键值 < 右节点键值。那么我们根据此性质&am…

2023-09-02 LeetCode每日一题(最多可以摧毁的敌人城堡数目)

2023-09-02每日一题 一、题目编号 2511. 最多可以摧毁的敌人城堡数目二、题目链接 点击跳转到题目位置 三、题目描述 给你一个长度为 n &#xff0c;下标从 0 开始的整数数组 forts &#xff0c;表示一些城堡。forts[i] 可以是 -1 &#xff0c;0 或者 1 &#xff0c;其中&…

Burp插件HaE与Authz用法

HaE与Authz均为BurpSuite插件生态的一员&#xff0c;两者搭配可以避免“越权”、“未授权”两类漏洞的重复测试行为。&#xff08;适用于业务繁杂&#xff0c;系统模块功能多的场景&#xff09; 两个插件都可以在store里安装 安装完后&#xff0c;点击Filter Settings勾选Sho…

第64步 深度学习图像识别:多分类建模误判病例分析(Pytorch)

基于WIN10的64位系统演示 一、写在前面 上期我们基于TensorFlow环境介绍了多分类建模的误判病例分析。 本期以健康组、肺结核组、COVID-19组、细菌性&#xff08;病毒性&#xff09;肺炎组为数据集&#xff0c;基于Pytorch环境&#xff0c;构建SqueezeNet多分类模型&#xf…

业务需要咨询?开发遇到 bug 想反馈?开发者在线提单功能上线!

大家是否遇到过下列问题—— 在开发的时候&#xff0c;遇到 bug 需要反馈… 有合作意向的时候&#xff0c;想更多了解业务和相关产品… 在接入的时候&#xff0c;需要得到专业技术支持… 别急&#xff0c;荣耀开发者服务平台在线提单功能上线了~ 处理问题分类说明&#xff1…

MIT6.S081实验环境搭建

MIT6.S081 lab 环境搭建 本文参考了MIT的官方指南和知乎文章环境搭建 step1 首先需要一个ubuntu20.04的系统&#xff0c;我使用的是vscode的WSL2连接的ubuntu20.04&#xff0c;使用virtual box建一个ubuntu20.04的虚拟机应该也可以。 可以用 lsb_release -a 查看一下自己ub…

对可再生能源和微电网集成研究的新控制技术和保护算法进行基线和测试及静态、时域和频率分析研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…