中文字幕 日本 在线 高清,久久精品国产99精品国,超碰人人香蕉,一区二区三区无码高清视频

基于對象模型和數(shù)據(jù)驅(qū)動的API低代碼開發(fā)平臺(基于對象的編程)

基于對象模型和數(shù)據(jù)驅(qū)動的API低代碼開發(fā)平臺(基于對象的編程)

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

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

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

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

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

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

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

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

API快速開發(fā)平臺概述和應用場景

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

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

基于對象模型和數(shù)據(jù)驅(qū)動的API低代碼開發(fā)平臺(基于對象的編程)

API開發(fā)設計平臺的適用場景主要包括以下幾個方面:

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

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

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

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

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

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

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

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

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

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

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

基于對象模型和數(shù)據(jù)驅(qū)動的API低代碼開發(fā)平臺(基于對象的編程)

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

基于對象模型和數(shù)據(jù)驅(qū)動的API低代碼開發(fā)平臺(基于對象的編程)

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

基于對象模型和數(shù)據(jù)驅(qū)動的API低代碼開發(fā)平臺(基于對象的編程)

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

基于對象模型和數(shù)據(jù)驅(qū)動的API低代碼開發(fā)平臺(基于對象的編程)

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

基于對象模型和數(shù)據(jù)驅(qū)動的API低代碼開發(fā)平臺(基于對象的編程)

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

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

基于對象模型和數(shù)據(jù)驅(qū)動的API低代碼開發(fā)平臺(基于對象的編程)

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

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

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

基于對象模型和數(shù)據(jù)驅(qū)動的API低代碼開發(fā)平臺(基于對象的編程)

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

基于對象模型和數(shù)據(jù)驅(qū)動的API低代碼開發(fā)平臺(基于對象的編程)

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

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

基于對象模型和數(shù)據(jù)驅(qū)動的API低代碼開發(fā)平臺(基于對象的編程)

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

基于對象模型和數(shù)據(jù)驅(qū)動的API低代碼開發(fā)平臺(基于對象的編程)

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

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

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

基于對象模型和數(shù)據(jù)驅(qū)動的API低代碼開發(fā)平臺(基于對象的編程)基于對象模型和數(shù)據(jù)驅(qū)動的API低代碼開發(fā)平臺(基于對象的編程)

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

基于對象模型和數(shù)據(jù)驅(qū)動的API低代碼開發(fā)平臺(基于對象的編程)

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

基于對象模型和數(shù)據(jù)驅(qū)動的API低代碼開發(fā)平臺(基于對象的編程)基于對象模型和數(shù)據(jù)驅(qū)動的API低代碼開發(fā)平臺(基于對象的編程)

簡單總結(jié)

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

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

同時在平臺我們當前還在進一步完善對于發(fā)布的API接口進行服務編排和能力組裝的能力。該平臺一方面是應用到日常的API接口快速開發(fā),同時也是低代碼開發(fā)平臺的一個重要能力補充。

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

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

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

相關(guān)推薦

  • ic卡消費管理軟件有哪些(ic卡消費管理軟件)

    ic卡消費管理軟件是一種用于管理ic卡消費的軟件,可以幫助商家更好地管理他們的業(yè)務。ic卡消費管理軟件可以幫助商家實現(xiàn)自動化的ic卡管理,包括自動充值、自動剪卡、自動開卡等,這些功…

    科研百科 2024年6月2日
    36
  • 馬鞍山市科技創(chuàng)新大賽(馬鞍山市科研項目公示公告)

    馬鞍山市科研項目公示公告 為推進科技創(chuàng)新,提升城市競爭力,馬鞍山市 government 于近日發(fā)布了一批科研項目公示公告。這些項目涵蓋了多個領(lǐng)域,包括人工智能、智能制造、新能源等…

    科研百科 2024年8月5日
    1
  • 微信管理軟件哪個最好用(webox微信管理軟件)

    Webox微信管理軟件: 一款輕松管理微信聊天記錄的工具 Webox微信管理軟件是一款非常簡單易用的工具,可以幫助用戶輕松地管理微信聊天記錄。無論是想查看、編輯還是導出微信聊天記錄…

    科研百科 2024年8月30日
    2
  • 科研項目組面試

    科研項目組面試:如何準備? 在加入科研項目組之前,你可能會面臨面試。面試是一個重要的環(huán)節(jié),可以幫助你了解你的同事,你的團隊以及你的項目。如果你正在申請加入一個科研項目組,那么你需要…

  • 項目管理辦公室系統(tǒng)

    項目管理辦公室系統(tǒng) 隨著現(xiàn)代商業(yè)的快節(jié)奏和復雜性,項目管理辦公室系統(tǒng)(Project Management Office System,簡稱PMO)已經(jīng)成為了企業(yè)成功的關(guān)鍵因素之一…

    科研百科 2024年7月24日
    2
  • 黃石張恩強簡歷

    黃石張恩強簡歷 黃石張恩強,男,漢族,1985年7月生,湖北黃石人,2012年12月加入中國共產(chǎn)黨,2009年9月畢業(yè)于湖北黃石大學經(jīng)濟管理學院,經(jīng)濟學學士,高級經(jīng)濟師。 現(xiàn)任湖北…

    科研百科 2024年11月28日
    6
  • 汽油科研項目簡介

    汽油科研項目簡介 汽油是汽車燃料中最常用的一種燃料,也是現(xiàn)代社會不可或缺的能源之一。近年來,隨著環(huán)保意識的增強和能源需求的不斷增加,汽油科研項目成為了學術(shù)界和工業(yè)界關(guān)注的重要領(lǐng)域。…

    科研百科 2025年2月13日
    1
  • 致遠計劃科研項目

    致遠計劃科研項目:探索宇宙的未知領(lǐng)域 近年來,人類在探索宇宙的道路上不斷前行。1967年,人類發(fā)射了第一顆人造衛(wèi)星,標志著人類進入太空時代。此后,人類不斷向宇宙深處進軍,取得了許多…

  • 系統(tǒng)集成項目管理應用

    系統(tǒng)集成項目管理應用 隨著信息技術(shù)的快速發(fā)展,系統(tǒng)集成項目管理應用已經(jīng)成為了現(xiàn)代項目管理中不可或缺的一部分。系統(tǒng)集成項目管理應用是指一種基于項目管理方法論的系統(tǒng)集成項目管理方式,它…

    科研百科 2025年1月19日
    2
  • 茶葉店信息化管理系統(tǒng)專業(yè)版軟件開發(fā)設計解決方案(茶葉店銷售系統(tǒng))

    “關(guān)注”本賬號可以獲得更多解決方案,文章最后有驚喜! 解決方案目錄明細: 1. 業(yè)務明細 2 1.1 基本信息 5 1.1.1 供商信息 5 1.1.2 倉庫信息 7 1.1.3 …

    2022年6月4日
    414