我們在低代碼領域探索了多年,從2014 開始研發(fā)低代碼前端渲染,從 2018 年開始研發(fā)后端低代碼數(shù)據(jù)模型,發(fā)布了JNPF快速開發(fā)平臺。
JNPF低代碼是一款新奇、實用、高效的企業(yè)級軟件開發(fā)工具,支持企業(yè)按需定制化構(gòu)建各類信息管理軟件,(如ERP、PLM、MES、SRM、OA、CRM等)并且能快速對接外部系統(tǒng)和軟硬件設備、支持可視化大屏展示。
一、技術(shù)介紹
JNPF低代碼前端采用的是Vue、Element-UI;后端采用Java、Springboot;數(shù)據(jù)庫兼容MySQL(默認)、SQLServer、Oracle、PostgreSQL、達夢、人大金倉等。使用門檻低,支持分布式、k8s集群部署,適用于開發(fā)高度復雜的業(yè)務管理系統(tǒng)(ERP、MES、PLM等)。
采用可視化組件模式,擴展不同的業(yè)務功能,可以很方便的實現(xiàn)各種業(yè)務需求,且不會導致系統(tǒng)臃腫,若想使用某個組件,按需引入即可,反之亦然。
二、設計原理
- 穩(wěn)定性原型:一切以穩(wěn)定為中心,架構(gòu)盡可能簡單、清晰,不過度設計。
- 解耦/拆分:核心業(yè)務與非核心業(yè)務分離,主流程與輔流程分離。
- 抽象化:應用只依賴服務抽象,不依賴服務器實現(xiàn)細節(jié)。(服務器抽象化:應用虛擬化部署,動態(tài)調(diào)配資源)
- 容錯設計:應用系統(tǒng)集群,避免單點。(服務自治:服務能獨立彼此修改、部署、發(fā)布和管理)。支持單體和微服務兩種架構(gòu)。
- 松耦合:不同業(yè)務域之間、核心與非核心業(yè)務之間異步解耦。
三、界面展示
作為一款“精而美”的企業(yè)管理軟件,簡單好上手,能有效的規(guī)避一些標準軟件存在的問題:很多企業(yè)在使用各種軟件之間,數(shù)據(jù)不能互聯(lián),存在數(shù)據(jù)孤島問題;
10分鐘完成一個基礎應用,2-3小時就能摸清整套系統(tǒng)的使用流程和基本功能的位置,產(chǎn)品的功能集成和操作復雜平衡也較為合理。
1.代碼生成器
零代碼開發(fā):配備大量可復用控件,通過操作界面元素,拖拽控件自動生成可視化應用;
低代碼開發(fā):基于 Mybatis-plus-generator 自定義了一套代碼生成器, 通過配置數(shù)據(jù)庫字段的注釋,可在線生成 WEB 前端(vue)、移動端(vue)、后端(controller、entity、mapperxml、service)等代碼,極大減少開發(fā)難度;
2.工作流程
工作流服務為JNPF 自研的一套工作流方案,包含流程表單和流程引擎兩大部分,流程表單可視化設計,可配置程度高,采用結(jié)構(gòu)化的表單模版設計,集中解析模式的設計。適應于中國國情的多種場景的需要、配置所見即所得、低代碼、高配置;
3.門戶設計
全新門戶設計,操作簡單,自由拖拽,一次編輯多端自適應,充分滿足用戶的個性化需求。
4.大屏設計
自由布局頁面,拖拽控件至頁面中,針對不同的控件進行內(nèi)容設值和數(shù)據(jù)綁定,所見即所得的實現(xiàn)大屏可視化頁面開發(fā);
5.報表設計
無需開發(fā)任何代碼,用戶只需在界面上配置一系列參數(shù)即可實現(xiàn)多種類型報表的配置、在線渲染報表內(nèi)容、報表導出、打印等功能;
6.第三方登錄
開箱即用的第三方授權(quán)登錄工具類庫,提供統(tǒng)一接口,支持接入任意 OAuth 網(wǎng)站,快速實現(xiàn) OAuth 登錄功能。
7.多租戶實現(xiàn)
多租戶技術(shù)或稱多重租賃技術(shù),是一種軟件架構(gòu)技術(shù),它是在探討與實現(xiàn)如何于多用戶的環(huán)境下共用相同的系統(tǒng)或程序組件,并且扔可確保各用戶間數(shù)據(jù)的隔離性。在云計算時代,多租戶技術(shù)在共用的數(shù)據(jù)中心以單一系統(tǒng)架構(gòu)與服務提供多數(shù)客戶端相同甚至可定制化的服務,并且仍然可以保障客戶的數(shù)據(jù)隔離。
提供了三種多租戶實現(xiàn)方式,滿足不同維度用戶的維護,不同維度數(shù)據(jù)的治理:
(1)獨立數(shù)據(jù)庫
每個租戶一個數(shù)據(jù)庫,這種方案的用戶數(shù)據(jù)隔離級別最高,安全性最好,但成本也高。
(2)共享數(shù)據(jù)庫,隔離數(shù)據(jù)架構(gòu)
多個租戶共享一個數(shù)據(jù)庫,但一個租戶獨立使用一個 SCHEMA。
(3)共享數(shù)據(jù)庫,共享數(shù)據(jù)結(jié)構(gòu)
租戶共享同一個數(shù)據(jù)庫,同一個 SCHEMA,但在表中通過 F_TenantId 區(qū)分租戶的數(shù)據(jù)。
8.分布式調(diào)度
集成 XXL-JOB 跨語言分布式任務調(diào)度平臺,開箱即用,第三方任意語言通 1 過RESTful API 對接調(diào)度中心或?qū)崿F(xiàn)執(zhí)行器,功能點包含執(zhí)行器管理、調(diào)度任務、調(diào)度日志、任務進度監(jiān)控、多任務模式、自定義任務參數(shù)等。
9.消息中心
提供了多種類型消息配置及發(fā)送的能力,提供消息發(fā)送的通用 API,用戶可通過此功能模塊輕松實現(xiàn)多種類型消息的發(fā)送,無縫對接多種消息平臺。功能點包含消息模板配置、消息發(fā)送配置、消息接收配置、賬戶配置(包含郵箱、短信、企業(yè)微信、微信公眾號、釘釘、webhook)、消息監(jiān)控等。
四、功能框架
JNPF的定位是企業(yè)級低代碼開發(fā)平臺,目標是構(gòu)建各種企業(yè)級信息管理系統(tǒng),例如ERP、CRM、MES、PLM、項目管理、OA等系統(tǒng)。為了能構(gòu)建這一類系統(tǒng),JNPF提供了大量的基礎功能。包括組織架構(gòu)管理、角色權(quán)限、多級菜單、表單、表格、數(shù)據(jù)統(tǒng)計、報表展示、API等。JNPF開發(fā)者中心
作者:沖浪中臺
鏈接:https://juejin.cn/post/7295572644568416306
版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至 舉報,一經(jīng)查實,本站將立刻刪除。