內因:隨著之家業務快速發展,公司內部的數字化需求越來越多,信息系統團隊每年都面對大量的需求,但研發側資源是一定的,那麼如何更快速的交付需求,越來越成為團隊重點思考解決的問題。 外因:互聯網技術的不斷推陳出新,尤其以React,Vue為代表的前端技術框架突飛猛進,大幅降低了可視化拖拽操作的技術門檻。... ...
1.前言
內因:隨著之家業務快速發展,公司內部的數字化需求越來越多,信息系統團隊每年都面對大量的需求,但研發側資源是一定的,那麼如何更快速的交付需求,越來越成為團隊重點思考解決的問題。
外因:互聯網技術的不斷推陳出新,尤其以React,Vue為代表的前端技術框架突飛猛進,大幅降低了可視化拖拽操作的技術門檻。
行業內低代碼平臺主要涉及表單,流程, 數據開發,BI工具,智能機器人等方向。
![圖片](https://img2023.cnblogs.com/blog/27422/202306/27422-20230615135718311-1032198969.png)
1.前言
2.問界低代碼平臺介紹
問界平臺,第一期鎖定了數據方向的主題進行建設開發。具體圍繞數據分析的以下5個場景:
-
數據建模場景:實現零代碼,可視化的拖拉拽方式數據建模;
-
數據開發場景:實現數據抽取,清洗加工,然後輸出到目標表等功能;
-
數據分析場景:通過BI解決多維度數據分析需求;
-
指標及維度規則場景:實現線上的計算公式、數據核算規則的配置及後端自動化核算;
-
數據質量監控場景:實現低代碼方式的數據監控,及既定規則的數據自動修複
3.問界平臺技術架構介紹
3.1
前端框架
前端框架選型React, React提供了組件化的編程思想,特別適合中大工程採用,另外考慮移動端RN的普及,所以整體採用React來實施。
前端框架一覽表:
![圖片](https://img2023.cnblogs.com/blog/27422/202306/27422-20230615135718410-937269251.jpg)
3.2
後端框架
後端整體的技術架構基於Spring Cloud微服務框架,依托於雲平臺Asf ; 通過SkyWalking實現後端全鏈路調用鏈的監控。
![圖片](https://img2023.cnblogs.com/blog/27422/202306/27422-20230615135718229-1490185756.png)
3.2.後端框架
3.3
調度引擎
調度引擎選型方面,我們選擇了PowerJob開源的工作流調度引擎, 目前市面上的調度引擎主要分為兩類,定時調度,代表性的調度引擎有quartz,xxlJob等,以及以Oozie,PowerJob等為代表的工作流調度引擎,考慮到數據開發場景的大量數據依賴任務,問界平臺選擇了PowerJob來負責底層的任務調度引擎,PowJob框架本身自帶流程引擎設計器。
![圖片](https://img2023.cnblogs.com/blog/27422/202306/27422-20230615135718374-2049310383.jpg)
3.4
ORM框架
採取自研的ORM框架(automis.orm),相比Mybatis半自動化ORM框架,省去大量SQL腳本的編寫, 框架底層增加大量常用的數據查詢方法,如自動載入為hash,自動格式化為交叉表等數據的查詢及彙總,小計合計的計算等。框架自動支持底層各類日誌的跟蹤分析,及數據緩存策略,如基於方法,基於腳本,基於路徑的數據緩存等。
問界低代碼平臺後續將繼續表單場景的低代碼化,基於當前支持動態實體多表的自動序列化。可以有效支持基於數據模型設計的表單數據自動映射與序列化;
3.5
運行機制
![圖片](https://img2023.cnblogs.com/blog/27422/202306/27422-20230615135718516-1574190144.png)
3.5.運行機制
4.問界低代碼場景介紹
4.1
數據建模場景
數據建模做為數據分析的基礎,問界提供了線上ER圖的設計,並且可以線上進行數據表,維度及度量名稱等的二次修改及調整,另外支持計算欄位及分組欄位等的高階配置;
-
計算欄位:支持聚合函數(sum/count/avg等)及計算公式(如:a+b-c*100)等的配置
-
分組欄位:支持時間、字元、數值類型的快速分組配置(類case when)
通過以上功能,普通的數據分析師完全可以通過零代碼的方式,完成線上數據模型設計,並通過後續的BI分析模塊進行下一步的數據分析。
► 4.1.1 線上ER圖的設計
![圖片](https://img2023.cnblogs.com/blog/27422/202306/27422-20230615135718299-2059536645.png)
4.1.1.線上ER圖的設計
► 4.1.2 計算欄位的可視化配置
![圖片](https://img2023.cnblogs.com/blog/27422/202306/27422-20230615135718655-89593307.png)
4.1.2.計算欄位的可視化配置
► 4.1.3 分組欄位的可視化配置
![圖片](https://img2023.cnblogs.com/blog/27422/202306/27422-20230615135718615-208047656.png)
4.1.3.分組欄位的可視化配置
4.2
數據開發場景
所有的數據分析,離不開基礎數據的加工,只有加工清洗後的數據,才具備分析的價值。
問界平臺目前已上線支持12個組件,其中4類腳本開發組件,用於線上直接數據腳本的編寫與開發,採用Monaco Editor 支持一定的SQL語法糖,支持mysql,SqlServer, hiveSQL, StarRockcs等資料庫腳本的編寫;另外提供7類數據專項開發組件,後續還會不斷進行新增擴充組件(如:API組件、腳本組件等)。
開發模塊運行機制:
![圖片](https://img2023.cnblogs.com/blog/27422/202306/27422-20230615135718288-198087755.png)
4.2.數據開發場景
4.2
數據開發場景
► 4.2.1 數據集成
採用阿裡的DataX框架, 支持多種資料庫類型之間的數據抽取;
1.支持線上的源數據與目標數據列欄位的自動映射,如同行關聯,同名關聯等,以及手工拖拽式的配置;
![圖片](https://img2023.cnblogs.com/blog/27422/202306/27422-20230615135718669-902467605.png)
4.2.1.數據集成-列映射
2.對接之家大數據的平臺,基於大數據平臺能力,實現hive,StarRocks等的能力復用;
► 4.2.2 數據清洗
數據線上清洗功能, 共提供5類組件
-
輸入組件:負責源數據輸入的定義,支持多源數據的輸入;
-
關聯組件:提供異構數據的線上關聯,實現數據的列擴展;
-
合併組件:合併多個異構源的數據,實現數據的行擴展;
-
聚合組件:實現數據彙總配置,支持多種資料庫的聚合函數;
-
清洗組件:支持對輸入的數據再次過濾,進行數據行的處理;通過計算欄位,值替換等實現數據列的處理;
-
輸出組件:用於將清洗後的數據,寫入目標的數據源;
效果圖:
![圖片](https://img2023.cnblogs.com/blog/27422/202306/27422-20230615135718571-2123040319.png)
4.2.2.數據清洗
► 4.2.3 SQL組件
-
MySQL腳本組件
-
MsSQL腳本組件
-
HiveSql腳本組件
-
StarRocks腳本組件
SQL編輯器選型對比:
![圖片](https://img2023.cnblogs.com/blog/27422/202306/27422-20230615135718336-751714110.jpg)
具體使用效果:
![圖片](https://img2023.cnblogs.com/blog/27422/202306/27422-20230615135718633-2084112290.png)
4.2.3.SQL組件
► 4.2.4 輔助組件
開始組件:用來配置任務的調度策略;問界平臺封裝了Cron的公共組件,可以線上快速配置Cron表達式;
效果圖:
![圖片](https://img2023.cnblogs.com/blog/27422/202306/27422-20230615135718608-1585389113.png)
4.2.4.輔助組件-CRON表達式設置
► 4.2.5 動態參數
同時數據開發模塊還提供了執行時動態參數替換,用於更靈活動態的執行相關組件任務,可支持全局及組件自定義參數設置。
參數名格式:${xxxx}
![圖片](https://img2023.cnblogs.com/blog/27422/202306/27422-20230615135718264-166944549.png)
4.2.5.動態參數-全局參數
![圖片](https://img2023.cnblogs.com/blog/27422/202306/27422-20230615135718680-1479127873.png)
4.2.5.動態參數-自定義參數
4.3
指標規則場景
數據分析的需求多變,因此數據加工離不開規則的配置,問界平臺提供了維度管理及指標管理實現了規則的線上化配置。
► 4.3.1 維度管理
維度管理功能提供了大量的線上口徑數據的定義,後臺基於規則配置完成維度數據的核算,目前該場景已大量在銷管,業績核算等業務場景中應用。
![圖片](https://img2023.cnblogs.com/blog/27422/202306/27422-20230615135718798-1161580071.png)
4.3.1.維度管理
► 4.3.2 指標管理
用於指標公式的配置,提供原子指標,派生指標,衍生指標三種類型的指標庫管理。目前指標模塊已在HR組織健康度完成150+指標的管理。
實現的效果如下:
![圖片](https://img2023.cnblogs.com/blog/27422/202306/27422-20230615135718312-1534378257.png)
4.3.2.指標管理
4.4
數據分析場景
數據分析場景主要面向了一線的業務人員,及各個BU的數據分析師。在我們總結的數據分析場景中,一共提供以下三類場景的實現
► 4.4.1 儀錶板
儀錶板主要採用 Echarts框架, ECharts最初由百度團隊開源,並於2018年初捐贈給Apache基金會,成為ASF孵化級項目。未採用Highcharts的原因, 付費非開源不利於後續的升級。
另外我們也自研了多個場景的分析組件,如果故事線組件,交叉表及明細表組件等。
截止到當前儀錶板共提供7類23個場景的分析組件,另外提供基於路徑的鑽取分析,同環比配置,及基於明細的下鑽配置,每個數據卡片支持任意的拖拽佈局,支持任何系統的行級許可權配置。
![圖片](https://img2023.cnblogs.com/blog/27422/202306/27422-20230615135718483-612849378.png)
4.4.1.儀錶板
►4.4.2 電子報表
電子報表我們一期實現了常用的明細表及交叉表的設計;2023年我們將繼續升級這塊,滿足所有中國式報表的分析場景,目前已完成技術框架的原型。
![圖片](https://img2023.cnblogs.com/blog/27422/202306/27422-20230615135718795-712066293.png)
4.4.2 電子報表
►4.4.3 多維分析
多維分析場景主要用來實現數據的及時探查分析, 實現的效果如下圖。可以快速進行行列配置,並自動進行聚合,及各類維度的小計,總計等的配置。
底層採用自研的ORM框架,自動實現下麵的複雜分析場景。
多維分析的場景效果圖:
![圖片](https://img2023.cnblogs.com/blog/27422/202306/27422-20230615135718264-799269808.png)
4.4.3.多維分析
4.5
數據監控與預警
問界平臺提供了線上的數據腳本巡查,並可以進行欄位級的數據預警規則配置。
提醒方式分別支持郵件、手機簡訊、釘釘消息及釘釘群群機器人消息,可以快速完成數據預警及數據播報場景的應用,同時還提供規則明確情況下的數據自動修複功能。
► 4.5.1 郵件提醒
支持郵件模板的配置,支持語法糖;異常數據內容支持以郵件附件的形式發送;
![圖片](https://img2023.cnblogs.com/blog/27422/202306/27422-20230615135718539-816106096.png)
4.5.1.郵件提醒
►4.5.2 釘釘機器人提醒
支持線上配置釘釘機器人 ,可以實現各種群消息提醒, 如數據播報,值班提醒機器人等。目前我們已在財務結賬,技術值班等完成這些場景的配置。
效果如下圖:
![圖片](https://img2023.cnblogs.com/blog/27422/202306/27422-20230615135718510-877875792.png)
4.5.2.釘釘機器人提醒
►4.5.3 簡訊提醒
►4.5.4 釘釘提醒
5.總結與規劃
5.1
總結
問界低代碼平臺在2022年12月2日正式完成V1.0.0的發佈,目前已在之家人財物事等多個業務場景中進行使用,在我們實踐的過程中,團隊自身的交付效率得到了大幅的提升。
2023年,我們將繼續夯實每個功能的細節體驗,實現基於數據模型的表單配置場景,並完成許可權平臺,流程中心等的功能整合,為之家提供一站式的全場景低代碼平臺,賦能一線業務,也賦能我們所有的前中後臺的產研團隊。
另外我們也希望與各個BU的技術團隊進行共建,共同為之家的低代碼平臺建設,添磚加瓦,為技術人提效!
5.2
規劃
問界平臺23年規劃:
![圖片](https://img2023.cnblogs.com/blog/27422/202306/27422-20230615135718313-709128741.png)
5.2.規劃
6.結語
以問為模式 不斷的探索來達成,
以界為目標無限突圍與延展~~
創新與變革 永無止境~
作者|信息系統團隊
本文來自博客園,作者:古道輕風,轉載請註明原文鏈接:https://www.cnblogs.com/88223100/p/Low-code-platform-architecture-design-and-business-practice.html