徐鑫朋 張東 袁銘 劉芳
摘 要:移動應用的數量和規模正在快速增長,除公開發布到應用市場的app外,由于種種限制,局域網和企事業單位內部應用發布的需求也在逐漸增加,這就要求有一種輕量級,方便內部管理的應用審核發布平臺。本系統基于J2EE的分層架構模型進行設計,采用三層架構對應用管理與發布系統進行功能模塊分解,結合分層框架架構分別對各層特點與模塊劃分進行了梳理與論證,既體現了分層分工的特點,又突出了模塊劃分松耦合的優勢,經過詳細的系統設計,可以快速完成符合需求的系統開發,提高開發效率,方便系統擴展。
關鍵詞:分層架構;松耦合;應用管理;應用發布;應用審核
中圖分類號:TP311.5 文獻標識碼:A 文章編號:1671-2064(2018)23-0033-02
1 概述
隨著移動設備的普及和廣泛使用,移動應用數量和規模正在飛速增長。針對局域網、企事業單位內部移動應用種類逐漸豐富、數量逐漸增多、安全及權限趨于復雜等問題,迫切需一種局域網內部的、簡單的應用軟件審核和發布平臺,為用戶提供分類查詢和下載應用的途徑。
本系統充分借鑒當前先進的網絡化應用管理思想,基于J2EE分層架構實現輕量級的應用軟件管理、發布、審核、查詢和下載功能。應用管理與發布系統提供應用管理、應用審核、應用發布、用戶管理、權限管理服務,用戶可以通過瀏覽器、移動終端應用或者桌面應用訪問系統服務,實現用戶登錄和權限管理,根據不同用戶權限實現應用上傳、查詢、下載和部署功能。應用管理與發布分系統的體系結構如圖1所示。
2 應用管理與發布系統設計
2.1 系統能力設計
本系統設計為系統管理員、應用開發者和終端用戶三類用戶提供服務。系統管理員通過應用管理與發布系統門戶網站可以管理系統內的各種應用資源、用戶和權限、以及對系統的運行狀況進行查看和管理。應用開發者通過門戶網站上傳和管理自己開發的應用,獲得開發支持。終端用戶通過門戶網站查詢和下載應用、對應用進行評論和反饋,能力圖如圖2所示。
系統主要能力包括:
用戶管理與權限分配:系統提供用戶注冊、用戶審核、用戶登入登出、用戶角色分配、用戶權限管理等服務,實現管理員、開發人員、用戶的統一管理功能。
上傳應用:系統提供上傳應用服務,提供應用管理平臺,為應用開發者提供應用上傳渠道。
審核應用:系統管理員對上傳的應用軟件進行審核和驗證,排除惡意軟件和違法軟件,提高平臺的安全性。
發布應用:應用審核通過后,系統管理管理員可以將應用進行分類并發布,并可以推薦給相關用戶,提高應用的推廣能力。
二次開發:系統提供REST API接口,以方便企業或局域網用戶開發移動應用和桌面應用;基于分層架構設計,提供功能擴展能力。
2.2 J2EE分層架構技術
J2EE按業界定義一般分為三層結構,從上到下依次為表現層,即瀏覽器頁面,主要功能在于數據的顯示,在這一層中,重點在于數據的如何表現。第二層為業務邏輯層,主要是對于業務的處理,數據的處理等,實現具體的服務的邏輯接口。第三層為數據持久層,實現實體與數據庫的映射,目前主流的三層架構框架包括SSH(Spring+Struts+ Hibernate),SSM(Spring+ SpringMVC+MyBatis)等。
采用分層架構和模塊化設計,可以使各層之間相互依賴卻不耦合,讓各層只專注本層邏輯關系,從而使開發人員職責分離,使程序更容易維護,提高程序的可擴展性,實現模塊的高內聚低耦合。
Java技術生成的包具有跨平臺的優點,可以根據企業或局域網建設需要部署Linux或Windows操作系統的容器中,實現跨操作系統。
3 應用管理與發布系統實現
3.1 應用管理與發布系統分層架構模型
基于J2EE分層架構設計,應用管理發布系統服務端在邏輯上采用由持久層、業務層和表現層組成的三層框架結構。持久層負責應用管理與發布系統的對象抽象與數據庫的映射關系,支持mysql或者oracle等數據庫,可以采用主流的Hibernate或者MyBatis實現;業務層提供系統的基礎服務,基于數據庫操作實現了實體對象的全部方法;表現層負責與客戶端交互,可以采用MVC模型實現具體的業務邏輯,并對外提供REST API接口實現二次開發功能。
整個應用管理與發布系統的功能框架如圖3所示。
3.1.1 持久層
持久層提供對象與數據庫的映射關系,完成對象數據和關系數據的轉換。應用管理與發布系統的實體對象包括用戶、角色、權限、應用、數據、日志等抽象對象,封裝了各對象實體的基礎屬性和與數據庫的映射關系,所有操作最終反應到數據庫的更新。
3.1.2 業務層
業務層提供應用管理與發布系統的基礎服務功能,采用事務模式,將對象的所有業務操作封裝成服務供表現層調用,最終通過對象訪問將數據持久化到底層數據庫。
應用管理與發布系統業務層主要包括:
用戶管理服務:是用戶、角色、權限對象的實體化,與用戶數據表對應,提供用戶管理相關的所有基礎服務功能。
權限管理服務:是角色、權限對象的實體化,用權限數據表對應,提供權限分配操作。
應用管理服務:是應用App與數據Data的實體化,提供了應用管理相關操作的服務封裝。
日志服務:為系統提供日志服務接口,是事務執行的記錄,包含執行人、執行時間、執行動作和執行結果,為系統維護提供服務接口。
3.1.3 表現層
表現層實現了應用管理與發布系統的具體功能接口,分為三大部分,用戶相關功能包括用戶管理、權限分配;應用相關功能應用上傳、應用審核、應用更新、應用發布、應用查詢、應用下載;日志功能包含日志記錄和日志查詢。
表現層采用Spring MVC((model-view-controller:模型-視圖-控制器)框架,實現模塊的高內聚低耦合,提高系統開發效率和系統穩定性。
3.1.4 客戶端
客戶端包含瀏覽器、移動應用和桌面應用三端,基于服務端表現層提供的具體功能接口,結合界面實現和用戶操作,通過對服務端的請求響應,實現具體用戶的注冊、登錄,以及應用的上傳、查詢、下載更新等功能。
3.2 應用管理與發布系統實現
在應用管理與發布系統分層架構設計的基礎上,采用Eclipse開發環境與Spring MVC框架,可以快速完成系統編碼開發,利用打包工具生產war包后,部署到tomcat容器并啟動服務,即可訪問應用管理與發布系統。
3.3 應用管理與發布系統的二次開發
本系統采用分層架構模型設計,提供了豐富的可擴展性和二次開發接口,開發者可以在服務層或應用層根據自身需求進行服務和功能擴充。同時,基于應用管理與發布系統,管理者可以更方便的實現對用戶的權限控制和應用軟件審核,提高系統的安全性。
4 結語
本系統完成了應用管理與發布的全部功能,驗證了分層架構設計在系統設計和實現時體現的優勢,在軟件系統設計時,采用分層架構模型設計,可以讓系統設計層次更清晰,需求更明確,對于系統是否能夠滿足要求可以提前進行估計;同時,分層架構模型設計具有豐富的擴展能力,為系統升級和功能擴展提供基礎。
參考文獻
[1]孫小斐.濰坊市政協提案管理系統的設計與實現[D].山東大學,2012.
[2]田龍.某省建議提案信息管理系統的設計與實現[D].廈門大學,2015.
[3]許彥.某商業銀行工會職代會提案管理系統的設計與實現[D].廈門大學,2016.
[4]王峰.基于J2EE的汽車零部件信息發布平臺[D].內蒙古科技大學,2012.