譚善偉+唐軍


摘 要:JeeSite是集多個優秀開源項目,經高度整合封裝而成的高效、高性能、強安全性的開源Java EE快速開發平臺。JeeSite以Spring Framework為核心容器,Spring MVC為模型視圖控制器,MyBatis為數據訪問層,Apache Shiro為權限授權層,Ehcahe對常用數據進行緩存,Activit為工作流引擎。針對關鍵技術結合核心代碼給予講解,最后實現了該系統的設計工作,能夠查看、添加、修改企業,個人,工程項目等信息內容,并監督受理狀態等。
關鍵詞:JeeSite;Spring MVC;開源框架;SSI
中圖分類號:TP393 文獻標識碼:A 文章編號:2095-1302(2017)02-0-02
0 引 言
隨著中國的快速發展,建筑業已是中國國民經濟的主要支柱產業之一,而工程質量是建筑業發展的重要因素,直接關系到人民生命財產的安危。近年來,每個省份都越來越關注和重視建設工程質量的管理。本文所研究的采用基于MVC模式的SSI技術架構開發的建筑質量監督系統對提高相關工作人員的效率及工程質量保障有重要意義。當前系統已經開發完畢,處于試運行階段,結果證明,該技術架構具有很好的擴展性、穩定性,對工作人員工作效率的提升有很大幫助。
1 JeeSite設計思想
1.1 分層設計
分層設計(數據訪問層,業務邏輯層,展示層)層次清楚,低耦合,各層必須通過接口才能接入并進行參數校驗(如在展示層不可直接操作數據庫),可保證數據操作的安全。
1.2 雙重驗證
用戶表單提交雙驗證[1]包括服務器端驗證及客戶端驗證,防止用戶通過瀏覽器惡意修改(如不可寫文本域、隱藏變量篡改、上傳非法文件等)而跳過客戶端驗證操作數據庫。
1.3 安全編碼和密碼加密
用戶表單提交所有數據,在服務器端進行安全編碼,防止用戶提交非法腳本及SQL注入獲取敏感數據等,確保數據安全。登錄用戶密碼進行SHA1散列加密,此加密方法不可逆,以消除密文泄露后的安全隱患。
1.4 訪問和數據驗證
系統對所有管理端鏈接都進行用戶身份權限驗證[2],以防止用戶直接通過URL進入未授權頁面。對指定數據集權限進行過濾,七種數據權限可供選擇(所有權限,公司及子公司,本公司,部門及子部門,本部門,本人數據,跨機構數據)。
2 建筑質量監督系統設計
2.1 建筑質量監督系統功能設計
通過系統開發之前詳細的調研需求分析后,質量監督系統分為基礎信息(人員信息管理、企業信息管理、項目信息管理)和質量監督(質量問題處理、驗收管理、統計報表、質量行為監管、質量問題回復、監督受理、質量監督報告等)。其系統功能圖如圖1所示。
2.2 建筑質量系統架構的實現
建筑質量系統采用Java EE三層結構,表現層是客戶端組件,主要功能在于顯示數據;業務層的功能主要為業務和數據處理;數據層主要實現與數據庫的交互。客戶端通過組件與業務層建立連接,再由中間層與數據庫交互[3]。
實踐證明,采用Java EE三層結構能有效降低建設和維護成本,并適應大規模和復雜的應用需求以及不斷擴展的業務需求。建筑質量系統架構如圖2所示。
3 關鍵技術和實現結果
3.1 Struts在表現層的實現
Struts是基于模型(Model)、視圖(View)、控制器(Controller)的MVC模式應用框架,MVC減弱了業務邏輯和數據接口之間的耦合,幫助開發者控制設計變更。在Struts框架中,Model代表應用的業務邏輯;View是應用的表示層,由JSP頁面產生;Controller提供應用的處理過程控制,一般是Action Servlet。通過這種模式將應用邏輯、處理過程和顯示邏輯分成不同組件,組件之間進行交互和重用,組件化模式在大規模系統開發和管理方面更具優勢。
在SSI集成架構中,Struts2主要為表示層。本系統采用JSP視圖。
3.2 Spring業務邏輯層的實現
Spring是SSI框架中最重要的組成部分,文中描述的幾個關鍵技術點都基于Spring實現。Spring是為簡化企業級應用開發而創建的,它為企業級應用提供了一個輕量級解決方案,其核心是依賴注入( Dependency Injection,DI) 和面向切面編程( Aspect Orient Programming,AOP),通過配置文件來完成業務對象之間的依賴注入[5]。
3.3 iBatis持久層的實現
iBatis是一個基于Java的持久化框架。iBatis 是對象/關系數據庫 (Object/Relational Mapping,ORM)的映射工具,ORM將對象模型表示的對象映射到基于SQL的關系模型數據結構中。在持久層中封裝了對數據庫訪問的細節,向業務邏輯公開接口,保證建立在數據持久層之上的應用程序能夠方便訪問需要的數據源。核心代碼如下:
3.4 部分功能實現效果
建筑質量監督系統的主要目的是方便建設單位、施工單位、勘察單位、設計單位、監理單位、質量檢測六方單位的辦公,提高工作效率。企業用自己的賬號登錄系統,進入企業中心頁面。要對工程進行質量監督,首先企業需要登錄系統的[企業中心]--[監督注冊登記],錄入該標段工程的相關信息。系統界面如圖3所示。
4 結 語
本文基于多個優秀的開源項目,設計出經高度整合封裝而成的具有高效、高性能、強安全性的開源Java EE快速開發平臺JeeSite,并介紹了建筑質量系統的實現。結合實際用戶的體驗,均反映該系統可大大提高六方單位人員的工作效率。
參考文獻
[1]馮潤民.基于 SSH 的高校學生管理系統設計與實現[J].計算機工程,2009,35(6):280-282.
[2] William Crawford,Jonathan Kaplan.J2EE Design Pattern[M].OReilly,2003.
[3]羅國濤.新型框架Struts2.0+Spring2.0+IBatis在MIS系統中的應用[J].軟件導刊,2009,8(4):35-37.
[4] Begin C,Goodin B.i BATIS in Action i BATIS實戰[M].北京:人民郵電出版社,2008.
[5]陳剛.基于SSH的J2EE開發平臺研究與應用[D].成都:四川師范大學,2007.
[6]孟強,單玉祥,李陽冬,等.基于短距離無線通信的交通信息檢測系統設計與實現[J].物聯網技術,2015,5(7):14-15.
[7]田曉娜,趙晴.基于SSI框架的考勤系統的設計與實現[J].物聯網技術,2015,5(2):76-77.
[8]唐永瑞,張達敏.基于SSI的應急事務管理系統的設計與實現[J].計算機技術與發展,2014(4):151-154.