揭秘JEPaaS低代碼架構(gòu)系列之——2.平臺架構(gòu)(低代碼平臺技術(shù)架構(gòu))
后臺反饋,有不少朋友對JEPaaS低代碼快速開發(fā)技術(shù)架構(gòu)比較感興趣,今天我就發(fā)文解釋下我們JEPaaS低代碼快速開發(fā)平臺。
下圖是我們JEPaaS平臺的架構(gòu)
JEPaaS平臺采用四層架構(gòu)設(shè)計(jì),分別是存儲層、平臺層、服務(wù)層、運(yùn)營層。
整個PaaS體系可以基于公有云(阿里云、騰訊云、華為云)部署,也可采用私有云部署,在網(wǎng)絡(luò)條件允許的情況下,也可采用較為復(fù)雜的混合云部署。
存儲層:
基于硬件完成結(jié)構(gòu)化數(shù)據(jù)或非結(jié)構(gòu)化數(shù)據(jù)的存儲,支持關(guān)系型數(shù)據(jù)庫Orcacle、SQLServer、MySQL,以及非關(guān)系型數(shù)據(jù)庫 Momgo DB、Redis,并且支持國產(chǎn)數(shù)據(jù)庫如SequoiaDB。為了提高SaaS環(huán)境下的租戶數(shù)據(jù)的保密性和高可用性,我們通過“數(shù)據(jù)源引擎”為每個租戶開辟了一個專屬的數(shù)據(jù)庫空間。
平臺層:
整個平臺層是JEPaaS產(chǎn)品的基石,平臺層完成元數(shù)據(jù)的設(shè)計(jì)及結(jié)構(gòu)關(guān)系的創(chuàng)建,完成數(shù)據(jù)的拉取及表格、表單、圖形的展示,完成菜單的設(shè)計(jì)、角色的創(chuàng)建、權(quán)限的分配等??蛻敉ㄓ闷脚_層提供的各種拖拽式、點(diǎn)選式的工具,即可輕松完成低代碼應(yīng)用的搭建工作。
服務(wù)層:
應(yīng)用系統(tǒng)能否快速的搭建靠的是平臺層的工具支撐,但是否可以SaaS化實(shí)現(xiàn)多租戶運(yùn)營模式靠的是服務(wù)層的支撐。平臺把統(tǒng)一調(diào)度(JOB)、及時通訊(IM)、統(tǒng)一工作流配置(WF)等全部進(jìn)行服務(wù)分離,最終完成平臺在統(tǒng)一多租戶(SaaS)服務(wù)的功能實(shí)現(xiàn)。
運(yùn)營層:
運(yùn)營層的核心服務(wù)是幫助用戶對已完成的SaaS產(chǎn)品進(jìn)行劃分、軟件商店上架、租戶戲份權(quán)限劃分、監(jiān)控租戶的注冊量、使用頻度、計(jì)算出留存率等。并提供代金券、優(yōu)惠券等多種運(yùn)營機(jī)制通過渠道商管理功能實(shí)現(xiàn)渠道商的分成與任務(wù)完成情況監(jiān)控工作。
技術(shù)是為了業(yè)務(wù)服務(wù)的,了解了業(yè)務(wù)后,我們再來看我們的技術(shù)框架圖。
下圖是我們JEPaaS平臺的技術(shù)架構(gòu)圖
JEPaaS是以快速開發(fā)為中心
支持多種操作系統(tǒng),多種數(shù)據(jù)庫,屏蔽底層技術(shù)開發(fā)成本,降低企業(yè)信息化實(shí)施風(fēng)險(xiǎn)。
JEPaaS提供了多種引擎,用戶根據(jù)配置即可實(shí)現(xiàn)業(yè)務(wù)功能的快速定制及拓展。
- 提供了多種引擎,屏蔽了底層開發(fā)的成本。
- 提供了眾多插件,并且不斷完善,降低企業(yè)的集成成本。
- 提供了多種數(shù)據(jù)庫支持,已完成中標(biāo)麒麟OS認(rèn)證。
JEPaaS經(jīng)過多個版本迭代,形成了自主的核心引擎,主要有:
- 資源表引擎
- 功能引擎
- 數(shù)據(jù)字典引擎
- 圖報(bào)表引擎
- 門戶引擎
- 調(diào)度引擎
- 流程引擎
- APP引擎
JEPaaS經(jīng)過多個版本迭代,支持了眾多的第三方插件,主要有:
- 微信公眾號管理
- 微信企業(yè)號管理
- 釘釘第三方集成
- 短信集成
- IM即時通訊
- 第三方數(shù)據(jù)源
- PageOffice
- 郵箱
- 個推
JEPaaS經(jīng)過多個版本迭代,支持多種數(shù)據(jù)庫廠商,主要有:
- MySQL
- SQLServer
- Oracle
- PostgreSQL
- 人大金倉
- 神通數(shù)據(jù)庫
JEPaaS經(jīng)過多個版本迭代,支持多種操作系統(tǒng),主要有:
- Windows
- Linux(Redhat、Centos)
- 中標(biāo)麒麟OS
JEPaaS應(yīng)用
采用前后端分離技術(shù)架構(gòu),使用Token進(jìn)行用戶統(tǒng)一認(rèn)證。實(shí)現(xiàn)了多種引擎,提供可視化、腳本化的開發(fā)環(huán)境,用戶可以快速實(shí)現(xiàn)業(yè)務(wù)功能。
前端技術(shù)棧
- JS框架:jQuery、Vue
- UI框架:ElementUI
- 富文本編輯:UEditor
- 代碼編輯器:monacoEditor
- Socket通訊:Socket.IO、WebSocket
- 圖表組件:EChart
- 打印組件:Lodop
- APP JS框架:MUI、H5 、Vue
- APP UI框架:MUI、ElementUI
- Office組件:pageoffice
后端技術(shù)棧
- 核心框架:Spring Framework
- 安全框架:Spring security
- 視圖框架:Spring MVC
- 任務(wù)調(diào)度:Spring Task
- 緩存框架:Ehcache、Redis
- 日志管理:SLF4J、Logback
- 持久層框架:自主研發(fā)JEDB
- 服務(wù)端驗(yàn)證:Hibernate Validator
- 工作流引擎:JBPM
- 數(shù)據(jù)庫連接:ALibaba Druid
JEAPP移動應(yīng)用
JEPaaS提供了在線的App開發(fā)工具,使用配置方式可以快速開發(fā)出APP的多種功能,目前支持H5、Android、iOS。
即時通訊/推送
JEIM是一個基于Netty實(shí)現(xiàn)的穩(wěn)定高效的即時通訊服務(wù),支持多種類型的信息溝通與用戶和社群管理,輕松建立實(shí)時的傳播矩陣,保證了信息交流的順暢和安全。
企業(yè)網(wǎng)盤
JE網(wǎng)盤服務(wù)是基于JEPaaS拓展的企業(yè)級網(wǎng)盤服務(wù),用戶可以基于此服務(wù)快速拓展私有存儲,支持阿里云、七牛云。
API網(wǎng)關(guān)
JEGateway是一個基于OpenResty的API Gateway,提供API及自動移規(guī)則的監(jiān)控和管理,如訪問統(tǒng)計(jì)、流量切分、API重定向 、APi鑒權(quán)、WEB防火墻等功能,用戶可以基于Lua腳本拓展及自定義插件。