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