數(shù)字化IT架構(gòu)-遠(yuǎn)行低代碼平臺(tái)整體架構(gòu)介紹

hello大家好我是人月聊IT,我今天接著跟大家介紹我們整個(gè)云原生技術(shù)中臺(tái)里面關(guān)于低代碼平臺(tái)它整體的總體架構(gòu)的一個(gè)情況。
在我已經(jīng)分享過(guò)的視頻里面談到過(guò)很多關(guān)于低代碼的一個(gè)話題,但是一直沒(méi)講過(guò)我們整個(gè)低代碼平臺(tái)的總體架構(gòu);最近幾天我又剛好梳理了一下我們的低代碼平臺(tái),重新把原來(lái)我們的整體的架構(gòu)圖做了一下規(guī)整,在整個(gè)低代碼總體平臺(tái)的架構(gòu)里面我們可以看到,它底層仍然是依托我們的云原生的技術(shù)中臺(tái),包括容器云平臺(tái)和Devops的過(guò)程支撐平臺(tái);同時(shí)在這個(gè)平臺(tái)上面我們又提供了整個(gè)核心的技術(shù)服務(wù)能力、基礎(chǔ)的公共服務(wù)能力。
在平臺(tái)層上面,就是我們講的核心的低代碼的開(kāi)發(fā)環(huán)境和低代碼的運(yùn)行環(huán)境;我們整個(gè)低代碼的開(kāi)發(fā)環(huán)境又是基于對(duì)象建模驅(qū)動(dòng),涉及到六大建模的一個(gè)能力;對(duì)于整個(gè)運(yùn)行環(huán)境它本身又是完全符合微服務(wù)架構(gòu)設(shè)計(jì)的思想實(shí)現(xiàn)整體的前后端分離,通過(guò)API接口,服務(wù)層去實(shí)現(xiàn)前后端解偶的這么一個(gè)完整的可擴(kuò)展的低代碼應(yīng)用。同時(shí),整個(gè)平臺(tái)它又是足夠開(kāi)放的一個(gè)平臺(tái),當(dāng)涉及到復(fù)雜的業(yè)務(wù)規(guī)則沒(méi)辦法實(shí)現(xiàn)的時(shí)候,你可以完全自定義相應(yīng)的代碼和API接口快速的接入;同時(shí),它又可以跟外圍的類(lèi)似于微信、釘釘?shù)谌綉?yīng)用進(jìn)行快速的集成。
在整個(gè)架構(gòu)圖里面,我仍然想強(qiáng)調(diào)幾個(gè)關(guān)鍵點(diǎn)第一個(gè)就是技術(shù)平臺(tái)層的服務(wù)能力,這一塊的服務(wù)能力既包括我們說(shuō)的公共的基礎(chǔ)服務(wù),這些服務(wù)就包括了組織引擎、流程引擎、報(bào)表引擎、規(guī)則引擎;包括一些基礎(chǔ)服務(wù)數(shù)據(jù)字典服務(wù),這些我們都把它納入到公共的基礎(chǔ)服務(wù);
也就是說(shuō)在我整個(gè)構(gòu)建低代碼平臺(tái)的應(yīng)用之前我首先基于這一些基礎(chǔ)服務(wù)提供了一個(gè)空的運(yùn)行框架和環(huán)境,這個(gè)空的運(yùn)行框架里面就包括了我們常說(shuō)的系統(tǒng)管理、流程管理、組織人員、數(shù)據(jù)字典、權(quán)限菜單、最外層的門(mén)戶(hù)界面,這些功能全部都已經(jīng)具備;在這些功能已經(jīng)具備的情況下,后面開(kāi)發(fā)完的每一個(gè)低代碼應(yīng)用或者說(shuō)開(kāi)發(fā)完的每一個(gè)微服務(wù),他都可以通過(guò)我的持續(xù)集成快速的交付到我的整個(gè)低代碼運(yùn)行環(huán)境中。
第二個(gè)就是我們通常說(shuō)的技術(shù)服務(wù)能力,包括消息日志、安全緩存這些,我們統(tǒng)一的把它納入統(tǒng)一的技術(shù)服務(wù)能力,這些技術(shù)服務(wù)能力,我們?yōu)榱吮WC整個(gè)低代碼平臺(tái)的可擴(kuò)展。這一些消息服務(wù)、緩存服務(wù)、日志服務(wù)它都是基于我的PASS平臺(tái)獨(dú)立可以部署的獨(dú)立的技術(shù)服務(wù)能力,我整個(gè)低代碼平臺(tái)仍然是通過(guò)相應(yīng)的接口方式對(duì)底層的技術(shù)服務(wù)能力進(jìn)行調(diào)用,在技術(shù)平臺(tái)上層就是我們講的在我們?nèi)?gòu)建整個(gè)低代碼平臺(tái)的時(shí)候,我們做了一個(gè)重點(diǎn)就是要去實(shí)現(xiàn)低代碼的開(kāi)發(fā)環(huán)境和低代碼的運(yùn)行環(huán)境的一個(gè)關(guān)鍵的分離。
在開(kāi)發(fā)態(tài)我們依托于標(biāo)準(zhǔn)的微服的開(kāi)發(fā)框架去開(kāi)發(fā)我們的低代碼應(yīng)用,也就說(shuō)我的整個(gè)低代碼開(kāi)發(fā)平臺(tái)它本身是符合微服架構(gòu)的;同時(shí)低代碼開(kāi)發(fā)平臺(tái)開(kāi)發(fā)出來(lái)的一個(gè)個(gè)小應(yīng)用它本身也是符合標(biāo)準(zhǔn)的微服架構(gòu)。
在開(kāi)發(fā)態(tài)我們基于對(duì)象建模驅(qū)動(dòng),包括了對(duì)象建模、數(shù)據(jù)建模、表單建模、規(guī)則建模、流程建模、報(bào)表建模;對(duì)象建模完成了以后,它朝下可以生成相應(yīng)的數(shù)據(jù)對(duì)象開(kāi)放相應(yīng)的a b c接口能力,朝上又去銜接我們的表單建模和報(bào)表建模;只有在這種方式下面,我們底層才能構(gòu)建一個(gè)完整的數(shù)據(jù)對(duì)象模型和領(lǐng)域服務(wù)層,同時(shí)通過(guò)API接口實(shí)現(xiàn)前后端之間的一個(gè)真正的解耦,也就是說(shuō)我的報(bào)表建模、表單建模完成以后,我最終部署到運(yùn)行態(tài)的是我的前端的一個(gè)個(gè)微服務(wù)小組件,而通過(guò)我的對(duì)象建模、規(guī)則建模完成以后,我實(shí)際是部署到我的后端的一個(gè)個(gè)微服務(wù)能力。
這樣我的低代碼交付到運(yùn)行環(huán)境的時(shí)候它本質(zhì)就是一個(gè)前后端分離的應(yīng)用;在前后端分離以后我們又通過(guò)API網(wǎng)關(guān)層去實(shí)現(xiàn)兩者之間之間的一個(gè)徹底解耦,同時(shí)在我們API網(wǎng)關(guān)上面我們又做了一些擴(kuò)展,包括引入了相應(yīng)的API接口,服務(wù)的編排的工具,通過(guò)這種編排工具它可以快速的去實(shí)現(xiàn)一些接口的組合、實(shí)現(xiàn)一些規(guī)則的編排。
這些就是我講的整個(gè)低代碼平臺(tái)從開(kāi)發(fā)態(tài)到運(yùn)行態(tài)它本質(zhì)的一個(gè)轉(zhuǎn)移,通過(guò)開(kāi)發(fā)態(tài)和運(yùn)行態(tài)的解偶,低代碼平臺(tái)開(kāi)發(fā)出來(lái)的應(yīng)用它也是一個(gè)標(biāo)準(zhǔn)的可擴(kuò)展的微服應(yīng)用,同時(shí)它是可以完全脫離我的低代碼開(kāi)發(fā)框架和環(huán)境運(yùn)行的應(yīng)用在整個(gè)低代碼平臺(tái)開(kāi)發(fā)完成以后,最上層也是我們常說(shuō)的統(tǒng)一的與服務(wù)中心,在云服務(wù)中心我們就要實(shí)現(xiàn)我們經(jīng)常說(shuō)的統(tǒng)一的組織、統(tǒng)一的用戶(hù)單點(diǎn)的登錄界面級(jí)的一些集成,這些我們就把它放在統(tǒng)一的云服務(wù)中心進(jìn)行整合。
最后就是我們講的開(kāi)放集成能力,第1個(gè)就是可以跟外部的應(yīng)用,外部的第三方的應(yīng)用,外部的接口做集成這是我們講的關(guān)鍵的集成能力;第2個(gè)就是整個(gè)平臺(tái)我一直強(qiáng)調(diào)它叫低代碼開(kāi)發(fā)平臺(tái)不叫零代碼平臺(tái),當(dāng)你發(fā)現(xiàn)你有些復(fù)雜的業(yè)務(wù)規(guī)則實(shí)現(xiàn)的時(shí)候,你完全可以自己去寫(xiě)Java的代碼把這個(gè)規(guī)則暴露為一個(gè)接口服務(wù)。通過(guò)我的Devops的持續(xù)集成交付平臺(tái),把整個(gè)接口服務(wù)部署包交付到我的整個(gè)低代碼的運(yùn)行環(huán)境中,然后再在我的前端表單設(shè)計(jì)或者是API接口服務(wù)編排的時(shí)候去消費(fèi)去使用這個(gè)接口能力;所以在這種情況下,你會(huì)發(fā)現(xiàn)整個(gè)平臺(tái)足夠的開(kāi)放,復(fù)雜的東西你就自己去寫(xiě)代碼。
人月神話講了很多年,大家一定要意識(shí)到?jīng)]有銀彈,對(duì)于復(fù)雜的規(guī)則一定要自己去寫(xiě)代碼,這就需要低代碼平臺(tái),它不能做成一個(gè)封閉的平臺(tái),這個(gè)也是我們最初在考慮我們平臺(tái)的時(shí)候優(yōu)先考慮到的一個(gè)很關(guān)鍵的一個(gè)內(nèi)容。