RM新时代官方网站

基于對(duì)象模型和數(shù)據(jù)驅(qū)動(dòng)的API低代碼開發(fā)平臺(tái)(基于對(duì)象的編程)

基于對(duì)象模型和數(shù)據(jù)驅(qū)動(dòng)的API低代碼開發(fā)平臺(tái)(基于對(duì)象的編程)

低代碼開發(fā)和API快速開發(fā)

在談低代碼開發(fā)平臺(tái)的時(shí)候我多次強(qiáng)調(diào)了對(duì)象模型和數(shù)據(jù)驅(qū)動(dòng)的重要性,同時(shí)低代碼開發(fā)平臺(tái)不是零代碼開發(fā),對(duì)于復(fù)雜規(guī)則的實(shí)現(xiàn)仍然需要自己寫代碼來完成。

而對(duì)于自己寫代碼實(shí)現(xiàn)復(fù)雜規(guī)則,其核心還是基于類似云原生里面ServerLess的思路,即通過API接口和服務(wù)來實(shí)現(xiàn)上層應(yīng)用和底層能力提供之間的解耦。那么如何快速地開發(fā)和發(fā)布API接口服務(wù),如何對(duì)API接口進(jìn)行組裝和編排就成為了低代碼開發(fā)平臺(tái)不可缺少的一部分。

對(duì)于API快速開發(fā)和發(fā)布,既可以是一個(gè)獨(dú)立的子產(chǎn)品,也可以是我們規(guī)劃設(shè)計(jì)的整體低代碼開發(fā)平臺(tái)的一部分,但是核心都是基于對(duì)象建模和模型驅(qū)動(dòng)的思路進(jìn)行。

對(duì)于業(yè)界當(dāng)前對(duì)于API快速開發(fā),如何通過對(duì)象模型快速發(fā)布API接口,如何通過數(shù)據(jù)庫(kù)的數(shù)據(jù)表和SQL快速靈活發(fā)布API接口,如何對(duì)API接口靈活組裝和配置,并沒有特別好的開源產(chǎn)品,因此在做我們自己的API快速開發(fā)平臺(tái)的時(shí)候,更多還是借鑒了我們多年實(shí)施SOA項(xiàng)目,進(jìn)行微服務(wù)架構(gòu)實(shí)踐的一些實(shí)際項(xiàng)目需求出發(fā)進(jìn)行。

對(duì)于SOA項(xiàng)目實(shí)踐,即對(duì)傳統(tǒng)的SOA集成中的數(shù)據(jù)庫(kù)適配,存儲(chǔ)過程適配等能力轉(zhuǎn)變?yōu)楦虞p量易用的基于對(duì)象和數(shù)據(jù)庫(kù)的接口發(fā)布。

而對(duì)于項(xiàng)目實(shí)踐,經(jīng)常會(huì)遇到和外部業(yè)務(wù)系統(tǒng)集成,需要開發(fā)自身接口的情況,那么通過API快速開發(fā)平臺(tái)可以快速的通過可配置化的方式發(fā)布對(duì)外接口能力,同時(shí)實(shí)現(xiàn)基本的API接口管控和治理。

這也是我們自主研發(fā)基于數(shù)據(jù)驅(qū)動(dòng)的API低代碼開發(fā)平臺(tái)的初衷。

API快速開發(fā)平臺(tái)概述和應(yīng)用場(chǎng)景

對(duì)于前后端分離的應(yīng)用來說,后端應(yīng)用主要是以API的形式對(duì)外提供能力,而在微服務(wù)架構(gòu)盛行的當(dāng)下,很多企業(yè)對(duì)于后端傳統(tǒng)的應(yīng)用程序已經(jīng)做了打散和拆分,實(shí)現(xiàn)了微服務(wù)改造。如果一個(gè)企業(yè)的IT建設(shè)比較全的話,那么在管理域、業(yè)務(wù)域和運(yùn)維域的傳統(tǒng)信息化系統(tǒng)至少超過10個(gè),全部經(jīng)過微服務(wù)拆分改造后的微服務(wù)應(yīng)用可能達(dá)到幾十甚至上百個(gè)。如此多的微服務(wù)應(yīng)用不僅運(yùn)維管控存在問題,而且微服務(wù)應(yīng)用的開發(fā)、變更、升級(jí)都會(huì)存在較大的時(shí)間和資金成本。

微服務(wù)運(yùn)維管控的問題交給Devops,本章只為應(yīng)對(duì)微服務(wù)應(yīng)用開發(fā)變更帶來的問題。目前業(yè)界提供了一個(gè)快速應(yīng)對(duì)的解決方案—API開發(fā)設(shè)計(jì)平臺(tái),該平臺(tái)能協(xié)助開發(fā)人員全程可視化、無代碼快速創(chuàng)建API并發(fā)布,業(yè)務(wù)變更時(shí)快速更新API,分鐘級(jí)完成微服務(wù)應(yīng)用的產(chǎn)品開發(fā)部署。API開發(fā)設(shè)計(jì)平臺(tái)真正降低了企業(yè)應(yīng)用進(jìn)行微服務(wù)改造的難度,對(duì)于開發(fā)設(shè)計(jì)人員來說是一個(gè)非常不錯(cuò)的工具。

基于對(duì)象模型和數(shù)據(jù)驅(qū)動(dòng)的API低代碼開發(fā)平臺(tái)(基于對(duì)象的編程)

API開發(fā)設(shè)計(jì)平臺(tái)的適用場(chǎng)景主要包括以下幾個(gè)方面:

1.統(tǒng)一后端API設(shè)計(jì)/開發(fā)/測(cè)試平臺(tái):承擔(dān)API的設(shè)計(jì)、開發(fā)、測(cè)試功能,可通過配置完成API的在線發(fā)布,業(yè)務(wù)人員同樣可以熟練操作。

2.移動(dòng)端API開發(fā)平臺(tái): 對(duì)于APP、微信、小程序、釘釘等前端應(yīng)用,可作為統(tǒng)一后端API開發(fā)平臺(tái)

3.前后端分離開發(fā):對(duì)于前后端分離的業(yè)務(wù)系統(tǒng),可作為后端API的開發(fā)平臺(tái)

4.數(shù)據(jù)快速提?。?/strong>能實(shí)現(xiàn)數(shù)據(jù)中臺(tái)的數(shù)據(jù)能力發(fā)布,可作為數(shù)據(jù)快速提取平臺(tái)

5.微服務(wù)架構(gòu)開發(fā):同樣可作為業(yè)務(wù)系統(tǒng) (OA、CRM、ERP、HR、MES)微服務(wù)改造與開發(fā)的基礎(chǔ)平臺(tái)。

對(duì)于API開發(fā)開發(fā)平臺(tái)我們采用微服務(wù)架構(gòu)進(jìn)行開發(fā),開發(fā)底層框架選擇了JeecgBoot,并在該開源框架下做了一些優(yōu)化處理和定制。

而對(duì)于API接口服務(wù)的開發(fā),

首先來談一下平臺(tái)的整體技術(shù)架構(gòu),該平臺(tái)底層框架采用JeecgBot,架構(gòu)團(tuán)隊(duì)在JeecgBot的基礎(chǔ)之上做過一些優(yōu)化。對(duì)于服務(wù)的發(fā)布,平臺(tái)采用了IBM開源輕量的Node-Red作為API在線發(fā)布的基礎(chǔ)組件,使用FreeMaker開發(fā)模板作為微服務(wù)應(yīng)用生成框架,并集成了DBApi產(chǎn)品的后端所有功能。其他技術(shù)框架包括Springboot swagger Mybatis lombok Redis Shiro Maven Vue等。

場(chǎng)景一:數(shù)據(jù)實(shí)體生成API的實(shí)現(xiàn)

在前面已經(jīng)談到,該API開發(fā)平臺(tái)是基于對(duì)象建模和數(shù)據(jù)驅(qū)動(dòng)的,因此核心是里面的元數(shù)據(jù)管理和數(shù)據(jù)實(shí)體定義。通過數(shù)據(jù)實(shí)體既可以向前生成API接口服務(wù),又可以向后生成后臺(tái)的數(shù)據(jù)庫(kù)對(duì)象和數(shù)據(jù)表。

平臺(tái)支持多數(shù)據(jù)源管理,支持連接主流的關(guān)系型數(shù)據(jù)庫(kù)Mysql/Oracle/Sqlserver.支持連接的在線測(cè)試、密碼加密、連接共享等功能。

基于對(duì)象模型和數(shù)據(jù)驅(qū)動(dòng)的API低代碼開發(fā)平臺(tái)(基于對(duì)象的編程)

對(duì)象建模能力通過元數(shù)據(jù)管理來實(shí)現(xiàn)。元數(shù)據(jù)為最底層的原子數(shù)據(jù)對(duì)象,支持對(duì)元數(shù)據(jù)的基礎(chǔ)管理能力,同時(shí)元數(shù)據(jù)本身又是建立數(shù)據(jù)實(shí)體的基礎(chǔ)數(shù)據(jù)依賴,可通過關(guān)聯(lián)多個(gè)元數(shù)據(jù)來構(gòu)建多層數(shù)據(jù)實(shí)體。

基于對(duì)象模型和數(shù)據(jù)驅(qū)動(dòng)的API低代碼開發(fā)平臺(tái)(基于對(duì)象的編程)

支持通過導(dǎo)入元數(shù)據(jù)的方式來建立多層數(shù)據(jù)實(shí)體(目前支持父/子/孫三層實(shí)體關(guān)系),可根據(jù)選擇的數(shù)據(jù)源連接類型來生成數(shù)據(jù)庫(kù)建表的SQL語句,并可直接在平臺(tái)上對(duì)數(shù)據(jù)源連接的數(shù)據(jù)庫(kù)生成數(shù)據(jù)表結(jié)構(gòu)和表依賴關(guān)系。

基于對(duì)象模型和數(shù)據(jù)驅(qū)動(dòng)的API低代碼開發(fā)平臺(tái)(基于對(duì)象的編程)

支持?jǐn)?shù)據(jù)實(shí)體快速發(fā)布在線API,在線API發(fā)布支持公有和私有兩種方式,私有API通過配置群組和Token值來限制訪問;通過數(shù)據(jù)實(shí)體發(fā)布的API支持對(duì)該數(shù)據(jù)實(shí)體的新增/修改/刪除/查詢,操作的數(shù)據(jù)會(huì)同步讀取或者寫入數(shù)據(jù)實(shí)體對(duì)應(yīng)數(shù)據(jù)源連接的庫(kù)表中。

基于對(duì)象模型和數(shù)據(jù)驅(qū)動(dòng)的API低代碼開發(fā)平臺(tái)(基于對(duì)象的編程)

在線API發(fā)布后形成Node-Red的流程,通過設(shè)計(jì)器可對(duì)流程進(jìn)行拖拽修改;對(duì)于發(fā)布后的API,可直接在平臺(tái)上進(jìn)行測(cè)試。

基于對(duì)象模型和數(shù)據(jù)驅(qū)動(dòng)的API低代碼開發(fā)平臺(tái)(基于對(duì)象的編程)

從上可以看到整個(gè)思路完全是基于對(duì)象建模驅(qū)動(dòng),通過對(duì)象建模來定義詳細(xì)的實(shí)體對(duì)象模型和接口契約規(guī)范,一方面是定義的對(duì)象模型可以通過配置的數(shù)據(jù)源管理向后臺(tái)生成數(shù)據(jù)庫(kù)表,一方面是可以直接將對(duì)象模型發(fā)布為通用的Rest API接口服務(wù)。

同時(shí)發(fā)布的內(nèi)容在后臺(tái)會(huì)生成對(duì)應(yīng)的Node-Red服務(wù)編排模板,如果對(duì)于發(fā)布的接口需要進(jìn)行相關(guān)的修改和調(diào)整,也相當(dāng)容易實(shí)現(xiàn)靈活定制和配置。

基于對(duì)象模型和數(shù)據(jù)驅(qū)動(dòng)的API低代碼開發(fā)平臺(tái)(基于對(duì)象的編程)

場(chǎng)景一:數(shù)據(jù)庫(kù)表和SQL直接發(fā)布API接口

如果你已經(jīng)創(chuàng)建了數(shù)據(jù)庫(kù)對(duì)象和數(shù)據(jù)表,那么你可以直接將數(shù)據(jù)表發(fā)布為Rest API接口,同時(shí)也可以自己定制參數(shù)化SQL語句,并將SQL語句發(fā)布為API接口服務(wù)。

對(duì)于數(shù)據(jù)庫(kù)中已經(jīng)存在的數(shù)據(jù)表,也可直接發(fā)布生成API。

基于對(duì)象模型和數(shù)據(jù)驅(qū)動(dòng)的API低代碼開發(fā)平臺(tái)(基于對(duì)象的編程)

數(shù)據(jù)表API發(fā)布功能除了發(fā)布常用的對(duì)數(shù)據(jù)表的新增/修改/刪除/查詢API之外,還發(fā)布對(duì)數(shù)據(jù)表進(jìn)行分頁和條件查詢的API;數(shù)據(jù)表API發(fā)布支持對(duì)發(fā)布后API的動(dòng)態(tài)編排,公有私有配置、API端點(diǎn)的在線測(cè)試。

基于對(duì)象模型和數(shù)據(jù)驅(qū)動(dòng)的API低代碼開發(fā)平臺(tái)(基于對(duì)象的編程)

SQL語句發(fā)布為API接口服務(wù)

可編寫SQL語句發(fā)布在線API,在線API發(fā)布在當(dāng)前服務(wù)器下,支持動(dòng)態(tài)SQL的編寫和發(fā)布,支持傳入?yún)?shù)的定義、配置和SQL映射。

基于對(duì)象模型和數(shù)據(jù)驅(qū)動(dòng)的API低代碼開發(fā)平臺(tái)(基于對(duì)象的編程)

2、通過SQL發(fā)布后的API可支持上線/下線操作、公有私有配置、在線API測(cè)試操作。

基于對(duì)象模型和數(shù)據(jù)驅(qū)動(dòng)的API低代碼開發(fā)平臺(tái)(基于對(duì)象的編程)

場(chǎng)景四:基于YAML規(guī)范來開發(fā)發(fā)布API:

還有一種場(chǎng)景是首先進(jìn)行了API接口契約規(guī)范的設(shè)計(jì),然后在進(jìn)行API接口的開發(fā)實(shí)現(xiàn)。那么在API契約確定清楚后,實(shí)際整個(gè)API接口就已經(jīng)可以按規(guī)范進(jìn)行發(fā)布。

因此我們API快速開發(fā)平臺(tái)在功能實(shí)現(xiàn)中也集成了第三方API規(guī)范設(shè)計(jì)器,支持YAML/JSON格式規(guī)范的結(jié)構(gòu)化設(shè)計(jì)。也集成了Swagger設(shè)計(jì)器,可靈活編寫API規(guī)范文件。

基于對(duì)象模型和數(shù)據(jù)驅(qū)動(dòng)的API低代碼開發(fā)平臺(tái)(基于對(duì)象的編程)基于對(duì)象模型和數(shù)據(jù)驅(qū)動(dòng)的API低代碼開發(fā)平臺(tái)(基于對(duì)象的編程)

基于規(guī)范的API在線發(fā)布,可按步驟填寫配置完成API的開發(fā)發(fā)布。支持對(duì)規(guī)范入?yún)⑴cSQL參數(shù)的快速映射。

基于對(duì)象模型和數(shù)據(jù)驅(qū)動(dòng)的API低代碼開發(fā)平臺(tái)(基于對(duì)象的編程)

基于規(guī)范在線發(fā)布后的API同樣也會(huì)部署到Node-Red中形成流程,支持對(duì)發(fā)布后API的動(dòng)態(tài)編排,公有私有配置、API端點(diǎn)的在線測(cè)試。

基于對(duì)象模型和數(shù)據(jù)驅(qū)動(dòng)的API低代碼開發(fā)平臺(tái)(基于對(duì)象的編程)基于對(duì)象模型和數(shù)據(jù)驅(qū)動(dòng)的API低代碼開發(fā)平臺(tái)(基于對(duì)象的編程)

簡(jiǎn)單總結(jié)

經(jīng)過上面典型場(chǎng)景描述可以看到,API低代碼開發(fā)平臺(tái)圍繞對(duì)象驅(qū)動(dòng)和元數(shù)據(jù)建模為核心,支撐API接口的快速定義,快速發(fā)布能力。同時(shí)在已有數(shù)據(jù)庫(kù)表和對(duì)象的情況下又能夠快速的將數(shù)據(jù)庫(kù)表,參數(shù)化SQL預(yù)計(jì)等發(fā)布為API接口服務(wù)。

平臺(tái)API開發(fā)設(shè)計(jì)功能支持Mysql/Oracle/Sqlserver三種類型數(shù)據(jù)庫(kù),并且API加入了數(shù)據(jù)庫(kù)事務(wù)支持,針對(duì)API服務(wù)的整體性事務(wù),出錯(cuò)回滾所有數(shù)據(jù)。在線API的調(diào)用和導(dǎo)出后微服務(wù)應(yīng)用中API的調(diào)用數(shù)據(jù)和返回?cái)?shù)據(jù)完全相同,保證了API在線使用和分布式部署后使用的一致性。在線API調(diào)用日志都已記錄并可供查詢和統(tǒng)計(jì)。

同時(shí)在平臺(tái)我們當(dāng)前還在進(jìn)一步完善對(duì)于發(fā)布的API接口進(jìn)行服務(wù)編排和能力組裝的能力。該平臺(tái)一方面是應(yīng)用到日常的API接口快速開發(fā),同時(shí)也是低代碼開發(fā)平臺(tái)的一個(gè)重要能力補(bǔ)充。

注:歡迎點(diǎn)贊,歡迎轉(zhuǎn)發(fā)評(píng)論,如果大家都感興趣的話我后續(xù)會(huì)考慮將該產(chǎn)品開源出來。

版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點(diǎn)僅代表作者本人。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請(qǐng)發(fā)送郵件至 舉報(bào),一經(jīng)查實(shí),本站將立刻刪除。

(0)
上一篇 2024年5月14日 上午11:13
下一篇 2024年5月14日 上午11:24

相關(guān)推薦

  • 【編制】湛江市赤坎區(qū)公開招考26名黨建指導(dǎo)員,4月10日起報(bào)名(湛江黨建指導(dǎo)員招聘)

    2019湛江市赤坎區(qū)招考26名事業(yè)編制黨建指導(dǎo)員公告 ▼▼▼ 赤坎區(qū)黨建指導(dǎo)員管理中心是隸屬中共赤坎區(qū)委組織部的公益一類事業(yè)單位,根據(jù)工作需要,現(xiàn)面向社會(huì)公開招考工作人員,作為赤坎…

    科研百科 2023年1月31日
    302
  • 受控環(huán)境下的項(xiàng)目管理

    在受控環(huán)境下的項(xiàng)目管理 受控環(huán)境下的項(xiàng)目管理是指在一定的組織、目標(biāo)和資源控制下進(jìn)行的項(xiàng)目管理。這種環(huán)境在許多行業(yè)中都得到了廣泛的應(yīng)用,例如建筑、制造、信息技術(shù)等。在受控環(huán)境下進(jìn)行項(xiàng)…

    科研百科 2024年11月12日
    2
  • 江銅集團(tuán)黨委:錨定高質(zhì)量發(fā)展目標(biāo)不動(dòng)搖 推動(dòng)主題教育走深走實(shí)_1

    來源:人民網(wǎng)-江西頻道 主題教育開展以來,江銅集團(tuán)黨委按照黨中央決策部署和江西省委工作要求,牢牢把握“學(xué)思想、強(qiáng)黨性、重實(shí)踐、建新功”總要求,錨定高質(zhì)量發(fā)展目標(biāo)不動(dòng)搖,把主題教育與…

    科研百科 2024年6月27日
    31
  • 殘聯(lián)有科研項(xiàng)目嗎

    殘聯(lián)有科研項(xiàng)目嗎 殘聯(lián)作為國(guó)家殘疾人權(quán)益保障機(jī)構(gòu),一直致力于保障殘疾人的合法權(quán)益,同時(shí)也在推動(dòng)殘疾人事業(yè)的發(fā)展中發(fā)揮著重要作用。然而,殘聯(lián)在科研項(xiàng)目方面的發(fā)展卻一直受到一些質(zhì)疑。本…

    科研百科 2025年2月25日
    2
  • 專項(xiàng)資金項(xiàng)目管理辦法

    專項(xiàng)資金項(xiàng)目管理辦法 為加強(qiáng)專項(xiàng)資金項(xiàng)目管理,規(guī)范資金使用行為,提高資金使用效率,根據(jù)《中華人民共和國(guó)預(yù)算法》等相關(guān)法律法規(guī),制定本文。 一、適用范圍 本辦法適用于各級(jí)政府、各部門…

    科研百科 2024年5月23日
    35
  • 科研項(xiàng)目結(jié)題資料

    科研項(xiàng)目結(jié)題資料 隨著科技的不斷發(fā)展,科研項(xiàng)目也在不斷地進(jìn)行著。在這些項(xiàng)目中,我們致力于探索未知的領(lǐng)域,發(fā)現(xiàn)新的知識(shí)和技術(shù)。然而,這些研究也需要我們付出巨大的努力和時(shí)間。在完成這些…

  • 科研項(xiàng)目研發(fā)措施

    科研項(xiàng)目研發(fā)措施 隨著科技的不斷發(fā)展,科研項(xiàng)目的研發(fā)已經(jīng)成為一項(xiàng)重要的工作。為了確保科研項(xiàng)目能夠順利推進(jìn),我們需要采取一系列措施來確保實(shí)驗(yàn)室的安全和設(shè)備的正常運(yùn)行。 1. 制定詳細(xì)…

    科研百科 2025年2月17日
    2
  • 申報(bào)科研項(xiàng)目政審

    申報(bào)科研項(xiàng)目政審 科研項(xiàng)目的申報(bào)是一項(xiàng)重要的任務(wù),而和政治審核一樣,項(xiàng)目評(píng)審過程中也需要進(jìn)行政審。在申報(bào)科研項(xiàng)目政審中,我們需要對(duì)申請(qǐng)人進(jìn)行背景調(diào)查,評(píng)估其學(xué)術(shù)能力和科研經(jīng)驗(yàn),以及…

    科研百科 2025年2月14日
    2
  • 代謝組學(xué)科研項(xiàng)目

    代謝組學(xué)科研項(xiàng)目:探索肥胖與糖尿病的分子機(jī)制 代謝組學(xué)是一種研究組織內(nèi)代謝過程的技術(shù),能夠幫助我們了解肥胖和糖尿病等代謝性疾病的分子機(jī)制。近年來,隨著代謝組學(xué)技術(shù)的不斷發(fā)展,越來越…

    科研百科 2025年3月10日
    4
  • 羅應(yīng)光率隊(duì)赴深圳觀摩學(xué)習(xí)城市基層黨建工作(羅應(yīng)光最新動(dòng)態(tài))

    7月15至16日,市委書記羅應(yīng)光率隊(duì)到深圳就城市基層黨建工作進(jìn)行觀摩學(xué)習(xí)。他表示,要學(xué)習(xí)先進(jìn)理念和有益經(jīng)驗(yàn),圍繞一個(gè)主題主線、發(fā)揮一個(gè)領(lǐng)導(dǎo)核心作用、推進(jìn)兩個(gè)融合、建強(qiáng)三支隊(duì)伍、構(gòu)建…

    科研百科 2023年6月9日
    309
RM新时代官方网站