鄭偉鴻 林 珠
(1.廣東省科技基礎條件平臺中心,廣東 廣州 510033;2.廣東省高性能計算重點實驗室,廣東 廣州 510033)
基于SSH架構的重點實驗室信息統計管理系統設計
鄭偉鴻1,2林珠1,2
(1.廣東省科技基礎條件平臺中心,廣東廣州510033;2.廣東省高性能計算重點實驗室,廣東廣州510033)
在SSH框架技術的基礎上,設計出實驗室體系管理信息統計系統,該系統可提高對省重點實驗室和省企業重點實驗室的管理信息的收集、統計的工作效率。
實驗室;統計;Strust;Spring;Hibernate
全省實驗室體系管理信息統計的開展,對省重點實驗室和省企業重點實驗室的運行狀況、人力資源、儀器設備和經濟效益等進行調查并統計,不僅有利于對實驗室體系的深化管理,而且為進一步統計分析省重點實驗室和省企業重點實驗室各項指標的分布情況提供數據依據,為省科技廳制定相關政策提供參考。隨著信息技術的發展,運用信息化技術實現能夠代替人工繁瑣的統計方式的信息化系統,是提高全省實驗室體系管理信息統計工作效率、節約人力和物力資源的必由之路。經過調查分析,該系統需提供:(1)操作直觀,方便簡潔的信息填報功能;(2)分類統計功能;(3)用戶權限管理和信息安全。
SSH框架是由Strust+Spring+Hibernate集成的框架,是目前較為流行的web應用程序開發框架。SSH繼承了J2EE的分層架構模式,分別為表示層、業務邏輯層和數據持久層。
2.1Strust實現表示層
Strust主要解決表示層的實現問題,以WebWork為核心,采用攔截器的機制來處理用戶的請求,使得業務邏輯控制器與Servlet API完全脫離開[1],可以有效地提高開發人員的效率。Strust的工作原理為:(1)用戶通過使用瀏覽器客戶端發送HTTP協議的請求。(2)HTTP請求到達服務器后,經過控制器,使用框架結構填充Form Bean。(3)經過填充的數據請求通過框架中控制器的Action組件進行數據業務處理。(4)經過控制器處理過的業務數據調用Struts的基礎部件實現業務邏輯。(5)將業務邏輯經過轉換形成JSP業務進行處理,并將處理結果返回。(6)用戶在客戶端或者瀏覽器上得到HTTP請求的響應。
2.2Spring實現業務邏輯層
Spring是一種輕量級J2EE開源框架,它產生的主要目的就是提出一個EJB的簡化替代品。這種應用程序開發過程和測試的簡化是Spring的關鍵特征。它基于MVC結構,以控制反轉(inversion of control,IoC)或依賴注入(dependency injection,DI)原則和面向方面編程(aspect-oriented programming,AoP)思想為基礎,提供管理業務對象服務[2]。
IoC/DI是Spring的核心,即組件的關系由容器來控制,而非傳統的程序代碼,從而極大地改善了代碼的可重用性。IoC通過一些外部管理器,在它產生的時候可以向Bean注入所有依賴。Bean僅需要通過編碼和改變對象屬性的方法定義需求的特性。DI機制,可以在運行期為組件配置所需資源,而無需在編寫組件代碼時就加以指定,在相當程度上降低了組件之間的耦合,實現了組件真正意義上的即插即用。AOP是對面向對象編程(OOP)的補充,將程序分解為各個關注點,從而能夠模塊化管理這種橫切多個對象的關注點[3]。
2.3Hibernate實現數據持久化
Hibernate是一個優秀的Java持久化層解決方案,是當今主流的對象——關系映射(Object Relation Mapping,簡稱ORM)工具。在面向對象程序設計中,關系數據庫中的表間關系有對象間關系沒有有效的轉換機制來完成匹配,Hibernate的出現很好地完成了二者之間的匹配問題。Hibernate可以將對象間關系按照一定的邏輯與數據庫中表之間的關系進行高耦合度的匹配。Hibernate的使用可以減少原來面向對象程序設計時大量的程序與數據庫之間SQL的轉換,有效提高開發效率[4]。
整合Strust、Spring和Hibernate的架構是輕量級java EE框架,其具備了多種優勢,如(1)分離了Java代碼和JSP代碼,降低對開發人員要求的復合度。(2)系統以分層的模式實現,層與層之間相對獨立,耦合度低。(3)具有良好的可拓展性和可移植性。

圖1 SSH架構工作原理圖
3.1開發工具與開發語言
本系統使用Java語言在Eclipse3.6平臺上進行研發。應用上述的輕量級框架SSH框架,并綜合應用JSP、Javascript技術,使用DIV/CSS布局,實現動態顯示,加強系統的人機交互。
3.2系統業務
廣東省實驗室體系管理信息統計系統面向全省范圍的重點實驗室和企業重點實驗室的相關管理人員,以及廣東省科學技術廳負責該部分工作的相關人員,主要用于全省實驗室管理信息的填報和對實驗室管理信息數據的統計,具體業務流程如圖2所示:

圖2 業務流程
3.3系統結構
根據分析和業務發展的需要,現給出了實驗室體系管理信息統計系統結構圖,如圖3所示:

圖3 實驗室體系管理信息統計系統結構圖
整個系統在分布式企業開發平臺(J2EE)框架基礎之上搭建,具備了建立現代企業級分布式應用系統的必要前提條件。本系統開發選擇在Windows操作平臺下開發,但最終部署在Linux系統上。
提供服務的部署環境的應用服務器,我們將選用開源的Tomcat WEB應用服務器,既可以為客戶節約很大一部分成本,同樣可以完成需要的功能。
在業務邏輯的實現上,充分結合J2EE基礎架構。使用Java Bean技術實現業務邏輯層面的功能。在業務邏輯層之上,是抽象程度更高、粒度更大的Web服務層服務,實現客戶服務。
經過需求分析和系統設計分析后,可以明確實驗室體系管理信息統計系統中所需的實體類及其所包含的屬性方法。然后使用Power Designer設計出數據庫的概念模型和物理模型,并畫出類圖,分析實體類之前的關聯關系。最后根據分析結果在Native工具中創建數據庫表、序列、索引等數據對象。數據庫設計時盡量減少數據冗余,堅決反對低級冗余,即重復性冗余。提倡高級冗余,即派生性冗余,目的是為了提高數據處理的速度,減少數據訪問時間。為了在盡量減少數據冗余的同時又提高數據的訪問速度,我們采用的策略是在概念數據模型設計階段遵守第三范式,而在物理數據模型設計時考慮降低范式標準,增加一些常用的派生字段,用來保證數據訪問時間達到最小,提高數據的處理速度。
5.1系統管理
系統管理主要是實現對系統用戶的權限分配管理。
系統采用用戶申請注冊,審核員或管理員審核并分配權限,帳號密碼登錄的形式進入系統。主要功能包括:(1)用戶注冊:系統登陸界面中點擊相應鏈接進入用戶注冊界面,填寫用戶基本信息并提交,等待審核。(2)用戶審核:由審核員或管理員在系統內部進行,審核通過的用戶即可登陸使用。(3)搜索:根據輸入用戶帳號進行條件查詢。(4)重置:清除查詢條件。(5)編輯:進入編輯用戶信息界面(編輯角色信息界面)。(6)刪除:刪除相應的用戶(角色)。(7)角色分配:對相應用戶進行角色分配。(8)權限分配:對相應角色進行模塊的權限設置,進入修改權限界面,選中在所需要操作的模塊前的勾選框。
5.2數據填報
通過審核的錄入員根據其所在實驗室的實際情況,進行數據填報操作。為后續的數據統計分析提供依據。錄入員選擇不同的大類標簽,對相應數據進行填報。數據填報后,錄入員可以根據需要選擇保存或提交,選擇保存,則數據可以再次編輯修改,選擇提交,則無法再次編輯修改。
5.3實驗室總覽
實驗室總覽用于對各實驗室填報的信息進行管理。該模塊根據實驗室的類型分為“省重點實驗室”與“省企業重點實驗室”兩大類。管理員通過該模塊,可以查看各實驗室填報的數據與信息,從而清晰地知道各實驗室填報的進度和狀態。并可以對填報不合格的實驗室數據進行駁回重填。
為了保障填報數據的安全性和完整性,以及保證數據統計的真實性和準確性,需要對實驗室體系管理信息統計系統做充分的安全保障。
首先是對系統模塊的安全控制。用戶登錄后,只有用戶具有操作權限的模塊才會顯示給用戶使用。否則將不會顯示在界面上。
其次,通過對界面上的原子操作的控制,用戶沒有權限的原子操作將不會顯示在界面上。
最后,即使用戶通過非法途徑可以登錄無權限的界面進行操作,在數據提交時,服務器將對提交數據進行嚴格權限檢查,對于無操作權限的提交,將會禁止。
[1]杜素芳.SSH框架技術分析[J].科技廣場,2014(5):76-78.
[2]Craig walls,Ryan Breidenbach.Spring in Action中文版[M].北京:人民郵電出版社,2006.
[3]Johnson R,Hoeller J.Expert one-on-one J2EE development without EJB[M].America:Wrox,2004.
[4]藺小清.基于SSH框架的高等職業院校畢業管理平臺的研究與設計[J].價值工程,2014(17):216-217.
Design on the Information Statistics Management System of Key Laboratory Based on SSH Framework
Zheng Weihong1,2Lin Zhu1,2
(1.Guangdong Computing Center,Guangzhou 510033,Guangdong; 2.Guangdong Key Laboratory of High Performance Computing,Guangzhou 510033,Guangdong)
Based on the SSH framework technology,this paper designs a laboratory management information statistics system, which can improve the efficiency of information collection and statistics for provincial key laboratories and enterprise key laboratories.
laboratory;statistics;Strust;Spring;Hibernate
TP311.52
A
1008-6609(2016)06-0013-03
鄭偉鴻,男,廣東饒平人,雙學士,工程師,研究方向:虛擬化技術、軟件研發。
科技基礎條件資源數據共享平臺建設,項目編號:2013B061800011;廣東省高性能計算重點實驗室運行經費,項目編號:粵科財字[2013] 82號;科技資源數據分析與開放共享服務平臺建設,項目編號:2014B070706004;基于高性能計算的廣東沿海風暴潮災害預報關鍵技術研發,項目編號:粵科規財字[2014]116號。