JNPF低代碼平臺詳解 -- 系統架構

目錄

一、技術介紹

技術架構

二、設計原理

三、界面展示

1.代碼生成器

2.工作流程

3.門戶設計

4.大屏設計

5.報表設計

6.第三方登錄

7.多租戶實現

8.分布式調度

9.消息中心

四、功能框架

JNPF低代碼是一款新奇、實用、高效的企業級軟件開發工具,支持企業按需定制化構建各類信息管理軟件(如ERP、PLM、MES、SRM、OA、CRM等),并且能快速對接外部系統和軟硬件設備、支持可視化大屏展示。

一、技術介紹

JNPF低代碼前端采用的是Vue、Element-UI;后端采用Java、Springboot;數據庫兼容MySQL(默認)、SQLServer、Oracle、PostgreSQL、達夢、人大金倉等。使用門檻低,支持分布式、k8s集群部署,適用于開發高度復雜的業務管理系統(ERP、MES、PLM等)。

采用可視化組件模式,擴展不同的業務功能,可以很方便的實現各種業務需求,且不會導致系統臃腫,若想使用某個組件,按需引入即可,反之亦然。

技術架構

1.數據庫兼容MySQL(默認)、SQLServer、Oracle、PostgreSQL、達夢、人大金倉數據庫;

2.分布式文件存儲兼容?MinIO?及多個云對象存儲,如阿里云?OSS、華為云?OBS、七牛云?Kodo、騰訊云?COS?等;

3.后端基于Spring?Boot?+?Spring?cloud?+?MyBatis?+?Maven等開發;

4.前端基于Vue3?+?Element-ui?+?TypeScript?+?Axios?+?WebScoket?等開發;

5.移動端支持?Android、iOS、微信小程序、uniapp、混合應用。

二、設計原理

  1. 穩定性原型:一切以穩定為中心,架構盡可能簡單、清晰,不過度設計。
  2. 解耦/拆分:核心業務與非核心業務分離,主流程與輔流程分離。
  3. 抽象化:應用只依賴服務抽象,不依賴服務器實現細節。(服務器抽象化:應用虛擬化部署,動態調配資源)
  4. 容錯設計:應用系統集群,避免單點。(服務自治:服務能獨立彼此修改、部署、發布和管理)。支持單體和微服務兩種架構。
  5. 松耦合:不同業務域之間、核心與非核心業務之間異步解耦。

三、界面展示

作為一款“精而美”的企業管理軟件,簡單好上手,能有效的規避一些標準軟件存在的問題:很多企業在使用各種軟件之間,數據不能互聯,存在數據孤島問題;

10分鐘完成一個基礎應用,2-3小時就能摸清整套系統的使用流程和基本功能的位置,產品的功能集成和操作復雜平衡也較為合理。

1.代碼生成器

零代碼開發:配備大量可復用控件,通過操作界面元素,拖拽控件自動生成可視化應用;

低代碼開發:基于?Mybatis-plus-generator?自定義了一套代碼生成器,?通過配置數據庫字段的注釋,可在線生成?WEB?前端(vue)、移動端(vue)、后端(controller、entity、mapperxml、service)等代碼,極大減少開發難度;

2.工作流程

工作流服務為JNPF?自研的一套工作流方案,包含流程表單和流程引擎兩大部分,流程表單可視化設計,可配置程度高,采用結構化的表單模版設計,集中解析模式的設計。適應于中國國情的多種場景的需要、配置所見即所得、低代碼、高配置;

3.門戶設計

全新門戶設計,操作簡單,自由拖拽,一次編輯多端自適應,充分滿足用戶的個性化需求。

4.大屏設計

自由布局頁面,拖拽控件至頁面中,針對不同的控件進行內容設值和數據綁定,所見即所得的實現大屏可視化頁面開發;

5.報表設計

無需開發任何代碼,用戶只需在界面上配置一系列參數即可實現多種類型報表的配置、在線渲染報表內容、報表導出、打印等功能;

6.第三方登錄

開箱即用的第三方授權登錄工具類庫,提供統一接口,支持接入任意?OAuth?網站,快速實現?OAuth?登錄功能。

7.多租戶實現

多租戶技術或稱多重租賃技術,是一種軟件架構技術,它是在探討與實現如何于多用戶的環境下共用相同的系統或程序組件,并且扔可確保各用戶間數據的隔離性。在云計算時代,多租戶技術在共用的數據中心以單一系統架構與服務提供多數客戶端相同甚至可定制化的服務,并且仍然可以保障客戶的數據隔離。

提供了三種多租戶實現方式,滿足不同維度用戶的維護,不同維度數據的治理:

(1)獨立數據庫

每個租戶一個數據庫,這種方案的用戶數據隔離級別最高,安全性最好,但成本也高。

(2)共享數據庫,隔離數據架構

多個租戶共享一個數據庫,但一個租戶獨立使用一個?SCHEMA。

(3)共享數據庫,共享數據結構

租戶共享同一個數據庫,同一個?SCHEMA,但在表中通過?F_TenantId?區分租戶的數據。

8.分布式調度

集成?XXL-JOB?跨語言分布式任務調度平臺,開箱即用,第三方任意語言通?1?過RESTful?API?對接調度中心或實現執行器,功能點包含執行器管理、調度任務、調度日志、任務進度監控、多任務模式、自定義任務參數等;

9.消息中心

提供了多種類型消息配置及發送的能力,提供消息發送的通用?API,用戶可通過此功能模塊輕松實現多種類型消息的發送,無縫對接多種消息平臺。功能點包含消息模板配置、消息發送配置、消息接收配置、賬戶配置(包含郵箱、短信、企業微信、微信公眾號、釘釘、webhook)、消息監控等;

四、功能框架

JNPF的定位是企業級低代碼開發平臺,目標是構建各種企業級信息管理系統,例如ERP、CRM、MES、PLM、項目管理、OA等系統。為了能構建這一類系統,JNPF提供了大量的基礎功能。包括組織架構管理、角色權限、多級菜單、表單、表格、數據統計、報表展示、API等。

整個過程使用下來,發現JNPF真的做到了快速學習、快速開發、快速運行、快速維護。對于初級開發者也是比較友好的,除了開發者手冊可以解決90%以上的問題,如果遇到解決不了的,也有官方的交流群體,里面有大佬會解決這些。

JNPF官網:https://www.jnpfsoft.com/?csdnxx

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/206763.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/206763.shtml
英文地址,請注明出處:http://en.pswp.cn/news/206763.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Qt/C++音視頻開發58-逐幀播放/上一幀下一幀/切換播放進度/實時解碼

一、前言 逐幀播放是近期增加的功能,之前也一直思考過這個功能該如何實現,對于mdk/qtav等內核組件,可以直接用該組件提供的接口實現即可,而對于ffmpeg,需要自己處理,如果有緩存的數據的話,可以…

Rust的eBFP框架Aya(一) - Linux內核網絡基礎

前言 在我的Rust入門及實戰系列文章中已經說明, Rust是一門內存安全的高性能編程語言,從它的這些優秀特性來看,就是一門專為系統開發而誕生的語言。至于很多使用Rust來進行web開發的行為,不能說它們不好,只能說是殺雞…

2017下半年軟工(橋接模式)

題目——橋接模式(抽象調用實現部分) package org.example.橋接模式;/*** 橋接模式的核心思想是將抽象部分與它的實現部分分離,使它們可以獨立變化,就是說你在實現部分:WinImp、LinuxImp基礎上還能加上RedHatImp&#…

03-微服務架構構建之微服務拆分

文章目錄 前言一、微服務拆分的原則二、微服務拆分的時機三、微服務拆分的方法總結 前言 微服務架構是將一個單體應用程序拆分為一個個獨立且保持松耦合的服務的一種架構方式,每個服務有著獨立的數據庫并且能獨立運行部署。微服務架構的構建過程中,第一…

偷竊別人的密碼

在工作中都用到virtual machine吧,同事之間還互相借用機器,或者不借用但憑借自己的域賬號能登錄任意機器,而且每個域賬號都有sudo權限? 那你要小心了! 因為我可以輕易記錄下每個ssh登錄到我機器,或者我在…

uniapp 輸入框輸入時,會將內容頂上去的解決方案

// 設置頁面最小高度 export const setPageMinHeight () > {return {position: relative,min-height: uni.getSystemInfoSync().windowHeight px} }頁面使用: import {setPageMinHeight} from "/utils/uniUtil";data() {return {minHeight: setPag…

Unity 狀態系統

狀態系統 原理食用方法Demo 原理 #mermaid-svg-lUbxJ8eMP3KqrEhY {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-lUbxJ8eMP3KqrEhY .error-icon{fill:#552222;}#mermaid-svg-lUbxJ8eMP3KqrEhY .error-text{fill:#55…

官方officevisio在線安裝包

在線安裝包,在線就是要有網絡環境,你能搜到這篇博客,就初步具備網絡環境 visio在線安裝包.zip官方版下載丨最新版下載丨綠色版下載丨APP下載-123云盤 在線安裝包如下,雙擊執行安裝即可,可供選擇的64/32位 軟件的激活與…

netty使用

支持協議 TCP/UDPHTTP/HTTPSWebSocketSPDY/HTTP2MQTT/CoAP 服務端 常用類 ServerBootstrap 服務端配置類 //設置線程組、parentGroup處理連接、childGroup處理I/O group(EventLoopGroup parentGroup, EventLoopGroup childGroup) //Channel通過何種方式獲取新的連接(NioSe…

【擴散模型】ControlNet從原理到實戰

ControlNet從原理到實戰 ControlNet原理ControlNet應用于大型預訓練擴散模型ControlNet訓練過程ControlNet示例1 ControlNet與Canny Edge2. ControlNet與Depth3. ControlNet與M-LSD Lines4. ControlNet與HED Boundary ControlNet實戰Canny Edge實戰Open Pose 小結參考資料 Cont…

Linux系統上RabbitMQ安裝教程

一、安裝前環境準備 Linux:CentOS 7.9 RabbitMQ Erlang 1、系統內須有C等基本工具 yum install build-essential openssl openssl-devel unixODBC unixODBC-devel make gcc gcc-c kernel-devel m4 ncurses-devel tk tc xz socat2、下載安裝包 1)首先&a…

[linux] kaggle 數據集用linux下載

你可以通過以下步驟獲取Kaggle的下載鏈接并在Linux中進行下載: 首先,確保你已經安裝了Python和Kaggle API。如果沒有安裝,你可以通過以下命令安裝: pip install kaggle 接著,你需要在Kaggle網站上獲取API Token。登錄…

時間相關類

內容 JDK7時間相關類JDK8時間相關類 第一章 Date類 1.1 Date概述 java.util.Date類 表示特定的瞬間,精確到毫秒。 繼續查閱Date類的描述,發現Date擁有多個構造函數,只是部分已經過時,我們重點看以下兩個構造函數 public Dat…

【PyTorch】 暫退法(dropout)

文章目錄 1. 理論介紹2. 實例解析2.1. 實例描述2.2. 代碼實現2.2.1. 主要代碼2.2.2. 完整代碼2.2.3. 輸出結果 1. 理論介紹 線性模型泛化的可靠性是有代價的,因為線性模型沒有考慮到特征之間的交互作用,由此模型靈活性受限。泛化性和靈活性之間的基本權…

Docker構建自定義鏡像

創建一個docker-demo的文件夾,放入需要構建的文件 主要是配置Dockerfile文件 第一種配置方法 # 指定基礎鏡像 FROM ubuntu:16.04 # 配置環境變量,JDK的安裝目錄 ENV JAVA_DIR/usr/local# 拷貝jdk和java項目的包 COPY ./jdk8.tar.gz $JAVA_DIR/ COPY ./docker-demo…

Java基礎50題: 21.實現一個方法printArray, 以數組為參數,循環訪問數組中的每個元素,打印每個元素的值.

概述 實現一個方法printArray, 以數組為參數,循環訪問數組中的每個元素,打印每個元素的值. 代碼 public static void printArray(int[] array) {for (int i 0; i < array.length; i) {System.out.println(array[i] " ");}System.out.println();}public static…

【數據結構c實現】順序表實現

文章目錄 線性表線性表的順序實現結點結構結點初始化增配空間Inc打印順序表show_list線性表長度length尾部插入push_back頭部插入push_front尾部刪除pop_back頭部刪除pop_front按位置插入insert_pos按值查找find按位置刪除delete_pos按值刪除delete_val排序sort(冒泡&#xff1…

云上業務DDoS與CC攻擊防護實踐

案例背景&#xff1a;DDoS攻擊來勢洶洶&#xff0c;云上業務面臨威脅 某網絡科技有限公司&#xff0c;SaaS化創業公司&#xff0c;業務基于云上開展。其業務主要為各大網站提供安全驗證服務&#xff0c;且市場占有率較高&#xff0c;服務客戶遍布金融、直播、教育、電商等多個領…

【日常總結】mybatis-plus WHERE BINARY 中文查不出來

目錄 一、場景 二、問題 三、原因 四、解決方案 五、拓展&#xff08;全表全字段修改字符集一鍵更改&#xff09; 準備工作&#xff1a;做好整個庫備份 1. 全表一鍵修改 Stage 1&#xff1a;運行如下查詢 Stage 2&#xff1a;復制sql語句 Stage 3&#xff1a;執行即可…

100. 相同的樹(Java)

目錄 解法&#xff1a; 官方解法&#xff1a; 方法一&#xff1a;深度優先搜索 復雜度分析 時間復雜度&#xff1a; 空間復雜度&#xff1a; 方法二&#xff1a;廣度優先搜索 復雜度分析 時間復雜度&#xff1a; 空間復雜度&#xff1a; 給你兩棵二叉樹的根節點 p 和…