摘 要:使用Java語言,綜合運用Struts2+Mybatis+Spring框架構建基于B/S架構的移動移動維護工作評價系統(tǒng)。系統(tǒng)使用Oracle數據庫、web容器采用Tomcat5.5、使用阿里巴巴研發(fā)的druid連接池技術,移動手機端使用基于Android系統(tǒng)開發(fā)的客戶端。
關鍵詞:Java;B/S;SMS
中圖分類號:TP311.52
隨著計算機和網絡的普及,現在越來越多的系統(tǒng)進入了電子化、系統(tǒng)化、集成化的程度。采用人工紙質記錄的系統(tǒng),因費時、費力、成本高等缺點,已經越來越多的被信息化的系統(tǒng)所取代。Java語言是現今web開發(fā)的主流開發(fā)語言,以其優(yōu)良的穩(wěn)定性、跨平臺性被越來越多的應用于B/S架構系統(tǒng)的開發(fā)中。框架技術正是Java語言封裝性、集成性的體現。因移動數據的量比較大,加上數據安全性的要求,所以需要解決大數據優(yōu)化問題以及存儲問題、備份還原問題等。
1 系統(tǒng)總體設計
1.1 維護工作評價系統(tǒng)網絡拓撲結構
圖1 網路拓撲圖
圖中移動設備服務器就是web服務器,該服務器具有雙網卡,因移動機房對網絡安全要求比較高,外網服務器是不能接入內網,所以在移動服務器一張網卡連接內網,用來與互聯(lián)網通信,另外一張網卡與內網相連,同時Oracle數據庫服務器也是在內網中,web服務器與Oracle數據庫服務器之間有硬件防火墻、網閘等安全設備,保證內部網絡的安全。
1.2 系統(tǒng)架構設計
本系統(tǒng)除采用JavaWeb主流的三層架構搭建,即:DAO層(數據訪問層)、Service(業(yè)務層)、表示層,與傳統(tǒng)的三層有所不同的是,在DAO層下面增加了數據庫連接池技術,保證對數據庫操作的最優(yōu)化處理。在Web前端即表示層采用基于MVC架構的Struts2框架,此框架在開發(fā)效率、穩(wěn)定性以及可擴展性方面都比Struts1.x和其他web框架要優(yōu)異。
1.3 數據庫連接池工作原理簡介
數據庫連接池在初始化時將創(chuàng)建一定數量的數據庫連接放到連接池中,這些數據庫連接的數量是由最小數據庫連接數來設定的。無論這些數據庫連接是否被使用,連接池都將一直保證至少擁有這么多的連接數量。連接池的最大數據庫連接數量限定了這個連接池能占有的最大連接數,當應用程序向連接池請求的連接數超過最大連接數量時,這些請求將被加入到等待隊列中。Druid首先是一個數據庫連接池。Druid是目前最好的數據庫連接池,在功能、性能、擴展性方面,都超過其他數據庫連接池,包括DBCP、C3P0、BoneCP、Proxool、JBossDataSource。Druid已經在阿里巴巴部署了超過600個應用,經過一年多生產環(huán)境大規(guī)模部署的嚴苛考驗。
2 系統(tǒng)功能概述以及解決方案
系統(tǒng)分為系統(tǒng)配置模塊、包機人模塊、故障模塊、報表模塊和日常工作模塊等組成。系統(tǒng)配置模塊主要包括賬號配置、機房配置、網元配置、考核配置等。其中賬號配置部分考慮到數據的安全性問題,賬號密碼部分采用不可逆的MD5加密。具體功能如下圖所示:
權限控制部分基于角色和操作的權限設計,因本系統(tǒng)要求不同權限的人登錄系統(tǒng)所能進行的操作不同,普通的系統(tǒng)設計采用屏蔽用戶操作界面,即在用戶登錄進去之后將相應的操作菜單隱藏,從而達到控制用戶操作的權限。但是這種操作是有弊端的,比如用戶如果知道了訪問的URL地址,可以采用模擬用戶請求的方式,這樣就繞過了剛才的權限限制。為此本系統(tǒng)在設計上考慮到此問題,在action前面通過增加攔截器,捕捉用戶請求的URL以及用戶的當前會話對象,根據用戶的賬號取出該賬號的操作權限,通過數據處理得到用戶的操作權限。
雖然現在信息化程度已經突飛猛進,但是訪問一些企業(yè)網站,經常會發(fā)現網頁打開的速度非常慢,經常出現網頁空白很長一段時間,IE顯示出網頁的加載速度非常慢,減低了用戶的體驗。為了彌補這個不足,本系統(tǒng)在設計上采用ajax(AsynchronousJavaScript+XML)異步請求技術,Ajax不是一個技術,它實際上是幾種技術,每種技術都有其獨特這處,合在一起就成了一個功能強大的新技術。Ajax是結合了Java技術、XML以及JavaScript等編程技術,可以讓開發(fā)人員構建基于Java技術的Web應用,并打破了使用頁面重載的慣例。Ajax是使用客戶端腳本與Web服務器交換數據的Web應用開發(fā)方法。這樣,Web頁面不用打斷交互流程進行重新加裁,就可以動態(tài)地更新。使用Ajax,用戶可以創(chuàng)建接近本地桌面應用的直接、高可用、更豐富、更動態(tài)的Web用戶界面。
Struts2框架應用在表示層,他可以使用攔截器進行權限的控制,另外Struts2框架是線程安全的,不會造成數據的臟讀。Mybatis框架是現如今比較流行的持久化層的框架,他比Hibernate優(yōu)勢的地方在于,該框架是一個半JDBC半ORM的框架,這樣的好處可以使程序員可以從數據庫操作底層對數據庫進行操作,靈活性更強,而且操作的效率比單純的ORM框架效率要高,他避免了每次進行對象操作到SQL操作的轉化,節(jié)省了資源和運行時間。Spring框架在整個項目中充當粘合劑的功能,本系統(tǒng)主要使用了Spring框架的依賴注入和聲明式事務的兩大特點,Spring框架在中間充當管家的角色,所有bean對象的管理都由Spring來控制,比如Struts需要得到對象,需要向Spring申請,由Spring集中管理對象,并且Spring還可以保證對象的單例特點,避免生成中間的垃圾對象。
手機客戶端部分采用Android系統(tǒng)開發(fā),手機端程序通過WebService技術與服務器進行信息交互,比如故障檢修,工作人員可以通過手機上報檢修情況,服務器如果有新任務下達也可以通過接口將信息傳輸到手機端。通信的數據庫格式采用xml語法預先定義。
3 總結
利用Java中的Struts2+Mybatis+Spring實現移動移動維護工作評價系統(tǒng),是在B/S領域的一次成功的應用。系統(tǒng)中采用了現今比較流行的技術,使用Oralce數據庫作為作為數據庫服務器,使用CentOS系統(tǒng)為web服務器的操作系統(tǒng),相信這種組合模式肯定會使系統(tǒng)不論在可擴展性、穩(wěn)定性、安全性方面有明顯的優(yōu)勢。
參考文獻:
[1]田海利,姚丹霖.Struts框架技術在J2EE中的研究和應用[J].計算機與信息技術,2005(12).
[2]陶維.基于SSH多架構Web系統(tǒng)設計及其應用[J].科技和產業(yè),2009(03).
[3]劉子林,王敬芬,韓新民.基于框架的小型通用收費系統(tǒng)設計[J].信息系統(tǒng)工程,2011(05).
[4]潘衛(wèi)華,潘衛(wèi)紅,孫蘇琪.移動Agent技術在分布式數據庫系統(tǒng)中的應用[J].華北電力大學學報,2003,1,22:1-30.
[5]符光寶,邵定宏,李蘭友.基于Struts框架的檔案管理系統(tǒng)應用研究[J].計算機工程與設計,2008(13).
[6]劉雅正,陳受凱,唐向陽.基于簡化MD5的TFIDF算法[J].科學技術與工程,2012(31).
作者單位:濰坊工程職業(yè)學院,山東青州 262500