實戰(zhàn) – 低代碼平臺在金融行業(yè)的創(chuàng)新研究及實踐(低代碼平臺實現(xiàn))
文 / 中國工商銀行金融科技研究院前端領域研究員? 楊丹
“十四五”時期,我國開啟全面建設社會主義現(xiàn)代化國家新征程,數(shù)字技術成為新的發(fā)展引擎,數(shù)字經(jīng)濟浪潮勢不可擋。為加快企業(yè)數(shù)字化轉型速度及滿足業(yè)務高速發(fā)展,賦能專業(yè)研發(fā)人員、運營人員及分行業(yè)務,減少低價值重復性的研發(fā)工作,更多聚焦和滿足業(yè)務敏捷創(chuàng)新,低代碼平臺已成為眾多企業(yè)在數(shù)字化轉型升級中的重要手段。
圍繞國家“十四五”戰(zhàn)略規(guī)劃,工商銀行迅速布局數(shù)字化轉型效能提升領域,開展低代碼平臺創(chuàng)新研究,積極探索低代碼在金融領域的應用場景。隨著工商銀行IT架構轉型的深入推進,云原生基礎設施及微服務架構發(fā)展已趨于成熟,在此基礎之上,工商銀行積極探索低代碼在數(shù)字化賦能方面的創(chuàng)新及實踐。
低代碼平臺概述
低代碼開發(fā)平臺是一種可視化快速搭建軟件應用的開發(fā)平臺。通過拖拽、拼接等方式,在只編寫少量代碼或不寫代碼的情況下,將通用的資產(chǎn)組件快速組裝為所需應用,從而實現(xiàn)快速交付和產(chǎn)品迭代,同時有助于解決應用系統(tǒng)過多帶來的信息孤島問題。
低代碼平臺的概念于2014年首次提出,在近幾年的發(fā)展中,主要經(jīng)歷了三個階段。一是低速發(fā)展期,這段時期內尚無成熟的產(chǎn)品,但是部分CRM(客戶關系管理)、BPM(業(yè)務流程管理)、ERP(企業(yè)資源計劃)廠商已經(jīng)具備部分低代碼能力。二是快速成長期,伴隨著DevOps、分布式、云原生等技術的不斷發(fā)展,低代碼平臺的能力也日益成熟。三是高速井噴期,隨著移動互聯(lián)網(wǎng)的普及以及企業(yè)數(shù)字化轉型的趨勢下,軟件開發(fā)需求爆炸式增長,生產(chǎn)力已跟不上企業(yè)日益增長的業(yè)務需求。
在此大背景下,低代碼開發(fā)平臺的企業(yè)級市場快速增長,適用的場景越來越多。疫情期間,各大云廠商利用低代碼技術支持機構及個人在短時間內搭建了2000多個防疫應用,充分體現(xiàn)了低代碼技術的開發(fā)效率。隨著低代碼技術的不斷成熟,主流低代碼平臺已經(jīng)可以滿足OA、內部管理、移動APP等眾多信息系統(tǒng)的研發(fā)需求,支撐各行各業(yè)輕應用數(shù)字化轉型的需要。
從技術路徑上分析,低代碼有表單驅動和模型驅動兩種路徑。表單驅動模式與傳統(tǒng)的BPM軟件類似,通過流程串聯(lián)表單,比較適合輕量級應用的打造,如OA審批、客戶管理等。模型驅動面向數(shù)據(jù)對象,對業(yè)務實體進行建模,靈活性較高,能夠服務于企業(yè)的復雜場景開發(fā)需求,適合大中型企業(yè)根據(jù)核心業(yè)務進行個性化定制。從運行模式劃分,業(yè)界主流的低代碼平臺可劃分為基于配置運行以及生成代碼運行兩類?;谂渲梦募劳杏诘痛a平臺引擎進行解析運行,低代碼生成物無法進行二次開發(fā)和擴展,開發(fā)能力受到平臺可視化資產(chǎn)及組件的嚴重制約;生成代碼,即可視化搭建結果通過解析并轉換為可讀性源碼工程,開發(fā)人員可充分了解代碼運行機制,并在源碼上進行二次開發(fā)及擴展。
工商銀行低代碼平臺的創(chuàng)新研究及實踐
工商銀行2012年就進行了可視化開發(fā)模式的探索,并在開發(fā)平臺中集成了部分可視化開發(fā)工具,以簡化繁重的研發(fā)工作。隨著工商銀行分布式技術體系的不斷發(fā)展,前后端分離研發(fā)模式、新一代企業(yè)級基礎開發(fā)平臺、云平臺、微服務體系走向成熟,為充分復用優(yōu)良的技術資產(chǎn)的架構沉淀,同時滿足金融業(yè)務安全及性能的較高要求,工商銀行于2020年底啟動業(yè)界低代碼平臺研究,并于2021年建成了基于數(shù)據(jù)模型驅動、依托代碼運行模式的低代碼平臺。
基于上述背景,工商銀行形成了融合現(xiàn)有研發(fā)體系、打造全鏈路可視化開發(fā)的建設思路。一是納管存量技術資產(chǎn),繼承分布式技術體系,構建多層次細粒度可復用的企業(yè)數(shù)字化資產(chǎn);二是建設云上可視化開發(fā)IDE,以數(shù)據(jù)模型驅動為核心,面向整個研發(fā)過程,實現(xiàn)全流程可視化開發(fā)的能力;三是完善代碼擴展能力,讓低代碼平臺的產(chǎn)出應用不再受制于平臺本身的能力;四是打通DevOps構建交付流程,支撐應用全生命周期管理。充分整合現(xiàn)有研發(fā)支撐體系能力,復用存量資產(chǎn),實現(xiàn)更高效的企業(yè)級應用開發(fā)。平臺整體架構建立于行內新一代前后端分離開發(fā)體系之上,引入可視化技術,承接現(xiàn)有服務體系,基于數(shù)據(jù)模型驅動技術,快速實現(xiàn)應用開發(fā),并整合行內研發(fā)支撐體系,實現(xiàn)應用的快速構建及交付。如圖1所示。
圖1 低代碼平臺總體架構
1.構建多層次細粒度可復用企業(yè)數(shù)字化資產(chǎn)
低代碼平臺的快速搭建應用能力依托于豐富的數(shù)字化資產(chǎn)。工商銀行始終走在金融科技創(chuàng)新的先列,已建成數(shù)量眾多的企業(yè)級應用,積累了寶貴的研發(fā)資產(chǎn)。通過規(guī)范化、標準化的資產(chǎn)接入方式,將已有資產(chǎn)納入低代碼平臺,能夠為“積木式”搭建提供有效物料,實現(xiàn)已有資產(chǎn)的復用。
資產(chǎn)接入主要劃分為組件、模板及外部接口。通過提供資產(chǎn)擴展腳手架,在其中添加組件、區(qū)塊的結構化定義,實現(xiàn)可視化組件納入?;谠踊M件在平臺內進行編排搭建的頁面、流程及應用可導出為模板,供后續(xù)開發(fā)復用。通過平臺內置的接口中心,可以導入外部接口實現(xiàn)能力復用。如圖2所示。
圖2 資產(chǎn)中心
存量技術資產(chǎn)納入低代碼開發(fā)平臺后,實現(xiàn)了應用開發(fā)資產(chǎn)互通互聯(lián),可以有效盤活存量資產(chǎn);同時角色劃分更為清晰,對于技術能力較強的專業(yè)開發(fā)人員,可以聚焦于平臺基礎組件開發(fā),通過不斷持續(xù)交付新的組件,實現(xiàn)平臺整體能力提升,對于業(yè)務流程熟悉的開發(fā)人員,低代碼能有效屏蔽底層技術細節(jié),讓開發(fā)人員聚焦于業(yè)務實現(xiàn)。如圖3所示。
圖3 低代碼開發(fā)模式
2.以數(shù)據(jù)模型驅動為核心,建設全流程可視化開發(fā)能力
數(shù)據(jù)是金融行業(yè)的關鍵生產(chǎn)要素。在技術選型上,我行低代碼平臺以數(shù)據(jù)模型驅動為核心,圍繞業(yè)務數(shù)據(jù)處理流轉等場景,根據(jù)開發(fā)過程中涉及的表結構設計、前端頁面開發(fā)、業(yè)務邏輯及業(yè)務流程開發(fā)等環(huán)節(jié)分別對標建設了數(shù)據(jù)模型可視化開發(fā)、頁面可視化編排、邏輯可視化編排、流程可視化編排,實現(xiàn)了全流程可視化開發(fā)能力。
數(shù)據(jù)模型可視化開發(fā)提供表格化的數(shù)據(jù)模型設計能力,通過數(shù)據(jù)模型驅動引擎識別元數(shù)據(jù)和自定義字段,自動生成建表腳本,并同步生成表單頁面及持久層交互接口。其中,元數(shù)據(jù)基于業(yè)務標準、技術規(guī)范設計,能夠動態(tài)滿足客戶需求變化,通過數(shù)據(jù)模型驅動動態(tài)建模,實現(xiàn)對業(yè)務數(shù)據(jù)的快速處理功能。如圖4所示。
圖4 數(shù)據(jù)模型驅動
頁面可視化編排指的是通過多種交互行為,比如拖拽組件、設計布局等,形成一個完整的前端頁面,降低了前端頁面的開發(fā)門檻。編排后的頁面和流程通常以Schema的形式保存。Schema是一種數(shù)據(jù)結構規(guī)范,常用的有JSON Schema和XML Schema,通過Schema可以實現(xiàn)可視化頁面或流程與數(shù)據(jù)之間的雙向轉換。
邏輯可視化編排將傳統(tǒng)編程語言提取為可視化的邏輯圖元,提供可視化創(chuàng)建變量、公式、規(guī)則的能力,通過開發(fā)人員的拖拽組合行為,將業(yè)務邏輯可視化地表達為邏輯節(jié)點與線條,以圖形化形式直觀地表達業(yè)務邏輯,屏蔽技術實現(xiàn)細節(jié)。
流程可視化編排遵循業(yè)界BPMN2.0標準,建設流程環(huán)節(jié)定義、流程環(huán)節(jié)調度與控制等核心模塊,對業(yè)務流程進行可視化定義與編排,從而快速實現(xiàn)業(yè)務流、審批流等常見流程類場景。
3.完善代碼擴展機制,實現(xiàn)靈活業(yè)務邏輯拓展
由于低代碼開發(fā)依賴于可復用資產(chǎn)的完善程度,無法完全取代代碼開發(fā)的靈活性和安全性。例如針對涉賬類、涉密類或某業(yè)務有高度個性化需求等場景,仍需開發(fā)人員手動編碼以保障業(yè)務需求靈活實現(xiàn),故低代碼平臺采用了高低代碼相結合的開發(fā)模式。針對業(yè)務邏輯相對簡單的輕應用場景,在頁面樣式編輯、前后端邏輯編排中,內置可編輯代碼塊,實現(xiàn)函數(shù)級別的代碼擴展;針對復雜業(yè)務邏輯或面向存量業(yè)務系統(tǒng)開發(fā)時,采用導出源碼二次開發(fā)的模式,將低代碼的快速搭建能力與傳統(tǒng)編碼能力相結合,以覆蓋更多業(yè)務場景。
4.打通構建部署環(huán)節(jié),支撐應用全生命周期管理
金融企業(yè)有著比一般企業(yè)更嚴格的穩(wěn)定性及安全性要求,通過適配行內實施多年已經(jīng)過穩(wěn)定性驗證的DevOps流程,做到充分適配我行全生命周期管理,在開發(fā)階段,基于全流程的可視化開發(fā)能力,實現(xiàn)在線協(xié)作開發(fā),并對接Git進行項目管理;在測試階段,提供功能在線發(fā)布與測試,通過靜態(tài)類型校驗進行異常提示以及在線問題定位;在交付階段,對接流水線實現(xiàn)持續(xù)集成與持續(xù)交付,通過將引擎以及中間件等資源打包入鏡像,結合前端資源與結構化配置文件,自動化構建標準Docker鏡像進行交付,從而實現(xiàn)低代碼平臺對應用的全生命周期管理。
低代碼平臺運用成效
低代碼開發(fā)平臺底層基于云架構,支持容器化部署方式,有著友好的可視化界面、一鍵部署的運行環(huán)境以及高度可擴展性,能夠降低開發(fā)門檻,打通信息孤島,賦能IT人員,加速數(shù)字技術發(fā)展。目前工商銀行低代碼平臺已在內管類、工具類等多個系統(tǒng)中進行了落地試點,在圍繞業(yè)務數(shù)據(jù)的增刪改查場景、業(yè)務邏輯較為固化的場景中實現(xiàn)業(yè)務的快速上線。此外,工商銀行也在繼續(xù)挖掘領域級解決方案,通過劃分業(yè)務領域,在領域內不斷完善低代碼資產(chǎn),抽取通用化業(yè)務場景,滿足更多業(yè)務線的需求。工商銀行低代碼平臺有以下4個顯著特點。
一是降低應用構建門檻:全云化線上開發(fā)模式,圖形可視化操作,學習成本低,開發(fā)人員能夠直接構建并運行應用。
二是加速業(yè)務敏捷創(chuàng)新:拖拽式頁面構建、靈活可視的邏輯編排、流程編排,積木式搭建應用可提升開發(fā)效率,縮短業(yè)務創(chuàng)新周期。
三是快速復用已有資產(chǎn):提供全面開放的生態(tài)與豐富的集成能力,有效地沉淀業(yè)務與技術資產(chǎn),可在多個項目間快速復用和靈活擴展。
四是提供標準化開發(fā)能力:標準組件化開發(fā)方式,屏蔽各種技術規(guī)范,降低技術棧迭代成本,破解前端框架無法前向兼容帶來的升級難題,將開發(fā)人員從重復的編碼與測試中解放,去專注業(yè)務邏輯。
總結與展望
基于低代碼平臺標準化開發(fā)能力,能夠降低應用構建成本,助力企業(yè)統(tǒng)一技術路線與規(guī)范,保障應用安全與穩(wěn)定,加速金融行業(yè)的數(shù)字化轉型速度。隨著產(chǎn)品技術水平的不斷提升,低代碼開發(fā)未來仍有巨大的提升空間。工商銀行將全面總結試點經(jīng)驗,在以下3個方面提升平臺建設,精進低代碼平臺在金融業(yè)務領域的應用。一是建設領域級技術資產(chǎn):依照業(yè)務領域劃分,結合各領域特點,抽象提取公共組件、頁面、流程等,建設領域級低代碼應用模板。二是提升移動端場景覆蓋:建設H5及小程序的可視化開發(fā)能力,覆蓋更多業(yè)務領域。三是探索SaaS場景的建設模式:在金融業(yè)、生態(tài)云等基礎平臺上,建設低代碼開發(fā)及一鍵發(fā)布上線能力,賦能業(yè)務開發(fā)人員,助力傳統(tǒng)金融行業(yè)加速實現(xiàn)數(shù)字化轉型。
(欄目編輯:韓維蜜)