OneCode低代碼引擎專(zhuān)有存儲(chǔ)技術(shù)(低代碼應(yīng)用)
前言
低代碼是一個(gè)新興的技術(shù),有著非常明確而鮮明的技術(shù)特點(diǎn),比如:拖拽組件、可視化編程、零代碼編程等等。但傳統(tǒng)軟件企業(yè)在進(jìn)行技術(shù)融合時(shí)卻往往是困難重重,舊有的技術(shù)積累很難能繼承應(yīng)用過(guò)來(lái)。本文作為一組技術(shù)分析,來(lái)逐一分解低代碼背后的支撐技術(shù)。今天我們給大家?guī)?lái)的一個(gè)專(zhuān)題分析是,低代碼平臺(tái)的專(zhuān)有存儲(chǔ)技術(shù)。
一,低代碼平臺(tái)與存儲(chǔ)系統(tǒng)
低代碼平臺(tái)不是一個(gè)新興的概念在早在2000年初期,就有類(lèi)似于RAD的單頁(yè)網(wǎng)頁(yè)模型概念。在實(shí)際業(yè)務(wù)實(shí)現(xiàn)中絕大多數(shù)的業(yè)務(wù)支撐軟件中也都會(huì)有類(lèi)似于“智能表單”之類(lèi)的泛低代碼應(yīng)用。在這些應(yīng)用中多數(shù)都采用的是“代碼模版”技術(shù),將表單模版存儲(chǔ)于數(shù)據(jù)庫(kù),或者轉(zhuǎn)存成文件,運(yùn)行期利用模版技術(shù)進(jìn)行動(dòng)態(tài)渲染。這在簡(jiǎn)單單一的功能應(yīng)用中尚可滿(mǎn)足需求,但在低代碼平臺(tái)背景下就有點(diǎn)捉襟見(jiàn)肘。其重要表現(xiàn)在以下幾個(gè)方面:
(1) 單頁(yè)向多頁(yè)多目錄的支持
在表單系統(tǒng)功能相對(duì)單一,關(guān)聯(lián)資源也會(huì)比較少。但在低代碼平臺(tái)中,仍然采用單頁(yè)結(jié)構(gòu)的話(huà)不但使得頁(yè)面功能冗余嚴(yán)重,日后的維護(hù)也會(huì)帶來(lái)非常大的負(fù)擔(dān)。這就需要低代碼系統(tǒng)優(yōu)先有支持的便是web目錄尋址以及異步按需裝載技術(shù),同時(shí)這一技術(shù)也對(duì)傳統(tǒng)的后端頁(yè)面存儲(chǔ)提出了新的要求。
在衡量低代碼平臺(tái)優(yōu)劣的指標(biāo)中支持“全棧開(kāi)發(fā)”是一個(gè)非常重量級(jí)的商業(yè)指標(biāo),也是“無(wú)代碼”應(yīng)用的關(guān)鍵支撐技術(shù),在全棧開(kāi)發(fā)支持中最常用的技術(shù)便是代碼生成,在一定的模型支撐下,配合前端UI模型,生成與之匹配的后端代碼模型,實(shí)現(xiàn)低代碼/無(wú)代碼應(yīng)用。這一特性為低代碼平臺(tái)的存儲(chǔ)應(yīng)用帶來(lái)了新的挑戰(zhàn):
添加圖片注釋?zhuān)怀^(guò) 140 字(可選)
- 頁(yè)面模型與后端代碼的不可分割性需要頁(yè)面模型與后端代碼模型相互可感知其存在與變化。
- 對(duì)于生成的代碼多數(shù)會(huì)采用更高級(jí)的語(yǔ)言來(lái)支撐,這就需要在存儲(chǔ)技術(shù)上要能感知源碼、以及其編譯變化。
- 代碼生成的最大一個(gè)目的在于便于后期二次開(kāi)發(fā),這就需要存儲(chǔ)模型對(duì)于手工編譯與在線(xiàn)即時(shí)編譯有一定的感知和把控能力。
(3) 開(kāi)發(fā)者支持
在低代碼應(yīng)用特性中,有一個(gè)非常大的亮點(diǎn)便是屬性和邏輯方法的可視化編輯,但單頁(yè)應(yīng)用中我們通常會(huì)將頁(yè)面進(jìn)行組件化的劃分,然后抽取其屬性,事件以及可操作方法,通過(guò)可視化的方式講這些屬性和方法展示給“開(kāi)發(fā)者”進(jìn)行可視化操作。但在真實(shí)的項(xiàng)目開(kāi)發(fā)中,單一的頁(yè)面可視是遠(yuǎn)遠(yuǎn)不夠的。在可視化操作中,很多頁(yè)面都會(huì)需需要跨組件跨頁(yè)面操作。而在全棧支持開(kāi)發(fā)中甚至還會(huì)需要在“后端全代碼”開(kāi)發(fā)中能夠支持頁(yè)面中的出入?yún)⒌却a補(bǔ)全操作。并且能針對(duì)類(lèi)型出入?yún)⒛P瓦M(jìn)行預(yù)編譯混合編譯支持。這些需求對(duì)于“低代碼存儲(chǔ)”提出了更新更多的要求。
(4) devops 在線(xiàn)協(xié)同支持
低代碼開(kāi)發(fā)中很重要的一個(gè)特性便是“一鍵發(fā)布” 快速部署。但便捷并不等省略,在貫穿整個(gè)設(shè)計(jì)、開(kāi)發(fā)、測(cè)試、部署環(huán)節(jié)中,會(huì)涉及到更多的產(chǎn)品、開(kāi)發(fā)、測(cè)試、運(yùn)維等多種角色介入。而在代碼管理以及項(xiàng)目流程管理方面這需要存儲(chǔ)系統(tǒng)針對(duì)編譯系統(tǒng)、代碼版本應(yīng)用、用戶(hù)協(xié)同管控等多個(gè)方面提供支持。
二,OneCode-VFS存儲(chǔ)系統(tǒng)設(shè)計(jì)
OneCode-VFS 是OneCode低代碼引擎的核心支撐系統(tǒng),VFS本身采用的是獨(dú)立部署的應(yīng)用。對(duì)外提供標(biāo)準(zhǔn)的微服務(wù)接口。低代碼引擎中:可視化設(shè)計(jì)器、DSM編譯器、DevOps等多個(gè)組件通過(guò),VFS驅(qū)動(dòng)工具訪(fǎng)問(wèn)VFS存儲(chǔ)應(yīng)用,并相互感知文件變化協(xié)同服務(wù)。
(1)OneCode-VFS 功能組成
(2)OneCode-VFS 基礎(chǔ)服務(wù)功能
(3) VFS-低代碼應(yīng)用存儲(chǔ)服務(wù)
三,OneCode-VFS基礎(chǔ)功能設(shè)計(jì)
(1)存儲(chǔ)功能總體設(shè)計(jì)
添加圖片注釋?zhuān)怀^(guò) 140 字(可選)
(2)開(kāi)放協(xié)議支持
(3)Storage存儲(chǔ)系統(tǒng)設(shè)計(jì)
四,低代碼應(yīng)用支撐
(1)web靜態(tài)代理
(2)用戶(hù)工程支持
(3)模板預(yù)定義
設(shè)計(jì)器插件組件庫(kù)
出碼模板庫(kù)
插件庫(kù)
五,DSM編譯服務(wù)支持
(1)OneCode 項(xiàng)目生命周期
(2)研發(fā)知識(shí)庫(kù)
模型庫(kù)可視化
邏輯可視化
添加圖片注釋?zhuān)怀^(guò) 140 字(可選)
代碼補(bǔ)全應(yīng)用