1. 程式人生 > >JEESZ分散式框架簡介

JEESZ分散式框架簡介

1. 專案核心程式碼結構截圖

<!-- jeesz 工具jar --> <module>jeesz-utils</module> <!-- jeesz 公共配置jar --> <module>jeesz-config</module> <!-- jeesz 核心框架jar --> <module>jeesz-framework</module> <!-- jeesz CMS業務jar--> <module>jeesz-core-cms</module><!-- jeesz 程式碼自動生成業務jar--><module>jeesz-core-gen</module><!-- jeesz 我的收藏業務jar--> <module>jeesz-core-bookmark</module> <!-- jeesz 電子流業務jar --> <module>jeesz-core-act</module>

<!-- jeesz OA業務jar--> <module>jeesz-core-oa</module> <!-- jeesz 測試業務jar--> <module>jeesz-core-test</module> <!-- jeesz 定時排程業務jar--> <module>jeesz-core-scheduler</module> <!-- jeesz 我的任務業務jar--> <module>jeesz-core-task</module> <!-- jeesz admin後臺管理系統-->  <module>jeesz-web-admin</module>  <!-- jeesz Restful服務管理系統-->  <module>jeesz-web-service</module>  <!-- jeesz 定時排程管理系統-->  <module>jeesz-web-scheduler</module>  <!-- jeesz 我的任務Dubbo服務消費者-->  <module>jeesz-web-task</module>  <!-- jeesz 我的收藏Dubbo服務消費者-->  <module>jeesz-web-bookmark</module> <!-- jeesz 我的收藏Dubbo服務介面-->  <module>jeesz-facade-bookmark</module>  <!-- jeesz 我的收藏Dubbo服務生產者-->  <module>jeesz-service-bookmark</module>  <!-- jeesz 我的任務Dubbo服務介面--> <module>jeesz-facade-task</module> <!-- jeesz 我的任務Dubbo服務生產者--> <module>jeesz-service-task</module> <!-- JMS訊息 -->

<module>jeesz-web-mq-task</module>

提醒:

開發人員在開發的時候可以將自己的業務 REST服務化或者 Dubbo服務化

2. 專案依賴介紹

2.1. 後臺管理系統、Rest 服務系統、Scheculer 定時排程系統依賴如下圖:

2.2. Dubbo 獨立服務專案依賴如下圖:

3. 平臺簡介

Jeesz 是一個分散式的框架,提供專案模組化、服務化、熱插拔的思想,高度封裝安全性的 Java EE 快速開發平臺。 Jeesz 本身整合 Dubbo 服務管控、Zookeeper 註冊中心、Redis 分散式快取技術 、FastDFS 分散式檔案系統、ActiveMQ 非同步訊息中介軟體、Nginx 負載均衡等分散式技術,使用 Maven 做專案管理,專案模組化,提高專案的易開發性、擴充套件性 ,以 Spring Framework 為核心容器,Spring MVC 為模型檢視控制器,MyBatis為資料訪問層,Apache Shiro 為許可權授權層,Ehcahe 對常用資料進行快取,Activit為工作流引擎等。前端整合 Bootstrap4 metronic 框架,UI 響應式、扁平化佈局,適應所有 PC、Pad、Anroid、ios 移動裝置等。Jeesz 主要定位於網際網路企業架構,已內建企業資訊化系統的基礎功能和高效的程式碼生成工具,包括:系統許可權元件、資料許可權元件、資料字典元件、核心工具元件、檢視操作元件、工作流元件、程式碼生成等。採用分層設計、雙重驗證、提交資料安全編碼、密碼加密、訪問驗證、資料許可權驗證。

Jeesz 目前包括以下模組專案,後臺系統管理系統,RestFul 獨立服務系統、Scheduler 定時排程系統、內容管理(CMS)系統、線上辦公(OA)系統、我的待辦(Task 服務)、我的收藏(Bookmark 服務)。 後臺管理系統包括企業組織架構(使用者管理、機構管理、區域管理)、選單管理、角色許可權管理、字典管理等功能;RestFul 獨立提供標準 Rest 服務 API,您可以快速實現自己的業務,提供需要的服務;Quartz 定時排程系統可以動態配置您的任務規則等;內容管理(CMS)系統,包括內容管理,欄目管理、站點管理、公共留言、檔案管理、前端網站展示等功能;線上辦公(OA)系統,主要提供簡單的流程例項。

Jeesz 提供了常用工具進行封裝,包括日誌工具、快取工具、伺服器端驗證、資料字典、當前組織機構資料(使用者、機構、區域)以及其它常用小工具等。另外還提供一個強大的線上 程式碼生成 工具,此工具提供簡單的單表、一對多、樹結構功能的生成,如果對外觀要求不是很高,生成的功能就可以用了。使用了Jeesz 基礎框架,可以提高快速開發效率。

4. 內建功能(只列了一部分功能)

1. 使用者管理:使用者是系統操作者,該功能主要完成系統使用者配置。

2. 機構管理:配置系統組織機構(公司、部門、小組),樹結構展現,可

隨意調整上下級。

3. 區域管理:系統城市區域模型,如:國家、省市、地市、區縣的維護。

4. 選單管理:配置系統選單,操作許可權,按鈕許可權標識等。

5. 角色管理:角色選單許可權分配、設定角色按機構進行資料範圍許可權劃分。

6. 字典管理:對系統中經常使用的一些較為固定的資料進行維護,如:是否、男女、類別、級別等。

7. 操作日誌:系統正常操作日誌記錄和查詢;系統異常資訊日誌記錄和查詢。

8. 連線池監視:監視當期系統資料庫連線池狀態,可進行分析 SQL 找出系統性能瓶頸。

9. 工作流引擎:實現業務工單流轉、線上流程設計器。

5. 開發工具 1. Eclipse IDE:採用 Maven 專案管理,模組化。 2. 程式碼生成:通過介面方式簡單配置,自動生成相應程式碼,目前包括三種生成方式(增刪改改查):單表、一對多、樹結構。生成後的程式碼如果不需要注意美觀程度,生成後即可用。

6. 技術選型(只列了一部分技術)

1、後端

➢ 服務框架:Dubbo、zookeeper、Rest 服務

➢快取:Redis、ehcache ➢ 訊息中介軟體:ActiveMQ,KAFKA ➢ 負載均衡:Nginx ➢ 分散式檔案:FastDFS ➢ 資料庫連線池:Alibaba Druid 1.0 ➢ 核心框架:Spring framework ➢ 安全框架:Apache Shiro 1.2 ➢ 檢視框架:Spring MVC 4.0 ➢ 服務端驗證:Hibernate Validator 5.1 ➢ 佈局框架:SiteMesh 2.4 ➢ 工作流引擎:Activiti 5.15

➢ 任務排程:quartz 1.8.5

➢ 持久層框架:MyBatis 3.2 ➢ 日誌管理:SLF4J 1.7、Log4j ➢ 工具類:Apache Commons、Jackson 2.2、Xstream 1.4、Dozer 5.3、POI

2、前端 ➢ JS 框架:JQuery 1.9。 ➢ CSS 框架: Bootstrap 4 metronic ➢ 客戶端驗證:JQuery Validation Plugin。 ➢ 富文字:CKEcitor ➢ 檔案管理:CKFinder ➢ 動態頁籤:Jerichotab ➢ 資料表格:jqGrid ➢ 對話方塊:jQuery jBox ➢ 樹結構控制元件:jQuery zTree

➢ 其他元件:Bootstrap 4 metronic

3、支援

➢ 伺服器中介軟體:Tomcat 6、7、Jboss 7、WebLogic 10、WebSphere 8

➢ 資料庫支援:目前僅提供 mysql 資料庫的支援,但不限於資料庫,下個版本升級多資料來源切換和資料庫讀寫分離: 如:Oracle、SqlServer、H2 等 ➢ 支援開發環境:Eclipse、MyEclipse、Ras、Idea 等