撮合前端平臺在低代碼平臺的落地實踐

来源:https://www.cnblogs.com/Jcloud/archive/2023/08/29/17665149.html
-Advertisement-
Play Games

基於傳統認知,前端產品直接觸達消費者,往往具有高度的定製化、需求變更頻繁等特點,要求具有很好的動態性, 能夠滿足不同客戶的需求。那麼能否建設類似的前端中台產品,我們姑且稱之為“前端領域產品”,實現接入團隊端到端能力復用呢?我們在撮合業務線中進行了一系列思考和探索。 ...


在京東技術的發展當下,不同的業務線,不同的區域,甚至於很多觸達消費者的端,正在被中台架構能力所支撐。大家都很清楚,中台建設能夠帶來技術的規模化效應,具有提高業務協同、加速創新和交付速度、提高系統穩定性和可靠性、降低成本和支持業務快速發展等優勢。

中台架構往往和領域產品有密切的關係,領域產品是在京東體系中,處於前臺和共用業務域之間,基於標準理論標準,為實現某個特定商業場景、而提供的一組業務活動能力,接入團隊可以通過復用領域產品的能力,達到快速實現業務需求的目的。

基於傳統認知,前端產品直接觸達消費者,往往具有高度的定製化、需求變更頻繁等特點,要求具有很好的動態性, 能夠滿足不同客戶的需求。那麼能否建設類似的前端中台產品,我們姑且稱之為“前端領域產品”,實現接入團隊端到端能力復用呢?我們在撮合業務線中進行了一系列思考和探索。

架構設計

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

新業務作為新的場接入,由撮合前端平臺在平臺基礎上一鍵複製新的子應用或子頁面供業務方使用。撮合前端平臺提供了豐富的基礎組件和定製化的業務組件可供使用,並且全部支持配置可視化,業務方可利用拖拽的方式進行頁面功能調整後發佈生效。

結語

撮合前端平臺尚且年輕,但是凝聚著京東技術人的智慧,相信未來會有更廣闊的應用前景。

作者:京東零售 陳震

來源:京東雲開發者社區 轉載請註明來源


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • atexit 註冊的處理器中可以再調 atexit 或 exit 嗎?putenv 或 setenv 增加一個環境變數後 environ 指針地址為什麼變了?setjmp & longjmp 跨函數跳轉後自動變數為什麼回退了?設置 RLIMIT_NPROC 為 10 為何連一個子進程也 fork 不... ...
  • # 查看文件夾大小 ## ls 命令 > 列出當前工作目錄下的所有文件/文件夾的名稱 使用`ls -l`,會顯示成位元組大小,`ls- lh`會以KB、MB等為單位進行顯示更加直觀 ![](https://img2023.cnblogs.com/blog/431942/202308/431942-20 ...
  • ![](https://img2023.cnblogs.com/blog/3076680/202308/3076680-20230829150529122-415016074.png) # 1. 數據通常以資料庫用戶所需的最低層級的粒度存儲 # 2. 分組 ## 2.1. 隱式分組 ### 2.1. ...
  • ![file](https://img2023.cnblogs.com/other/2685289/202308/2685289-20230829152524057-1800624819.png) 作者 | sqlboy-yuzhenc ## 背景介紹 在實際應用中,我們經常需要將特定的任務通知給特 ...
  • NineData和SelectDB即將聯合舉辦線上發佈會,主題為“實時數據驅動,引領企業智能化數據管理”。SelectDB產品副總裁薑國強將介紹雲原生存算分離版本的SelectDBCloud,以及ApacheDoris的未來發展趨勢。玖章算術技術副總裁陳長城將介紹NineData的產品架構和數據複製... ...
  • 如今,大規模、高時效、智能化數據處理已是“剛需”,企業需要更強大的數據平臺,來應對數據查詢、數據處理、數據挖掘、數據展示以及多種計算模型並行的挑戰,湖倉一體方案應運而生。 《實時湖倉實踐五講》是袋鼠雲打造的系列直播活動,將圍繞實時湖倉的建設趨勢和通用問題,邀請奮戰於企業數字化一線的核心產品&技術專家 ...
  • 原子化 CSS 框架 我記得很久之前有時候為了少寫些css,我們通常會有如下的樣板代碼 .block { display: block; } .flex { display:flex } .flex-center { align-items: center; justify-content: cen ...
  • 這裡給大家分享我在網上總結出來的一些知識,希望對大家有所幫助 記憶體泄漏是前端開發中的一個常見問題,可能導致項目變得緩慢、不穩定甚至崩潰。在本文中,我們將深入探討在JavaScript、Vue和React項目中可能導致記憶體泄漏的情況,並提供詳細的代碼示例,以幫助開發人員更好地理解和解決這些問題。 第一 ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...