国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

中間件技術(shù)在雨水情管理系統(tǒng)中的應(yīng)用研究

2014-12-25 03:20:06徐國榮孫志斌
江西水利科技 2014年4期
關(guān)鍵詞:水情中間件雨量

徐國榮 ,孫志斌

(1.江西省撫州市臨川區(qū)撫河河道堤防管理局,江西 撫州344000;2.江西省水利科學(xué)研究院,江西南昌330029;3.江西省水工安全工程技術(shù)研究中心,江西南昌330029)

0 引言

目前在水利信息化領(lǐng)域中,中間件技術(shù)開發(fā)大多基于J2EE平臺。應(yīng)用集成有兩種框架,一種是以EJB為代表的重量級框架,另一種是以 Struts、Spring、Hibernate為代表的輕量級框架[1]。在傳統(tǒng)的J2EE體系中,EJB是重量級組件,增加了部署方面的難度,在很多情況下的企業(yè)級應(yīng)用需要一個輕量級的解決方案。隨著以Spring為代表的輕量級框架的出現(xiàn),它們?yōu)槠髽I(yè)級的應(yīng)用提供了更多的選擇。輕量級框架旨在消除與傳統(tǒng)J2EE API有關(guān)的不必要的復(fù)雜性和限制,它也將縮短應(yīng)用程序的開發(fā)部署時間,這樣做的直接好處就是縮短了啟動時間,降低了運行環(huán)境的要求,也減輕了測試的工作量[2]。在上述研究背景下,本文在研究了輕量級框架中間件技術(shù)開發(fā)前提下,將此技術(shù)應(yīng)用在雨水情管理系統(tǒng)中很有意義。

1 J2EE的輕量級框架

在J2EE平臺下的輕量級框架應(yīng)用體系中,數(shù)據(jù)持久化采用的是Hibernate框架,中間負(fù)責(zé)業(yè)務(wù)邏輯的采用Spring框架,而表現(xiàn)層借鑒的是Struts框架[3]。

1.1 表現(xiàn)層框架Struts

Struts是開源的一款框架產(chǎn)品,實現(xiàn)的是一個MVC模式的框架結(jié)構(gòu),主要包括模型、視圖和控制器3個部分[4]。MVC過程的實現(xiàn)就是將模型通過控制器利用視圖表現(xiàn)出來的一種方式。Mode可以由不同的Java Bean組成,對應(yīng)業(yè)務(wù)邏輯組件而實現(xiàn)具體的業(yè)務(wù)邏輯,直接與底層的數(shù)據(jù)源打交道[5];VIEW可以是由多種視圖文件來表示,可以是JSP、HTML等等[6]。系統(tǒng)開發(fā)應(yīng)用該結(jié)構(gòu)的核心就是控制器,引入了攔截器機制??刂破鞣职l(fā)客戶端的不同請求到具體的業(yè)務(wù)邏輯模型中去,并且依據(jù)不同的請求和回轉(zhuǎn)的結(jié)果決定跳轉(zhuǎn)到哪個視圖的顯示[7]。

1.2 數(shù)據(jù)持久層框架Hibernate

Hibernate框架核心技術(shù)是ORM映射[8]。Hibernate通過使用O/R映射工具,將需要操作的數(shù)據(jù)庫映射成多個可操作的對象Java類。這種不與數(shù)據(jù)庫耦合的方式,使開發(fā)者能夠在對象層面上充分使用SQL功能[9]。Hibernate使用的是快照形式來判斷數(shù)據(jù)庫里的字段是否改變的。若數(shù)據(jù)庫更新后內(nèi)容發(fā)生改變,Hibernate會使用SQL語句提交更新內(nèi)容[10]。通過Hibernate的使用,我們可以減少因大量使用SQL語句的JDBC操作帶來的麻煩。

1.3 業(yè)務(wù)邏輯層框架Spring

Spring是為了解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性而創(chuàng)建的一個開源的輕量級容器框架,具有控制翻轉(zhuǎn)IOC功能[11]??刂品崔D(zhuǎn)是通過依賴尋找或依賴注入實現(xiàn),依賴注入與依賴查找相比,依賴注入更適合目前程序開發(fā)。主要因為依賴注入查找定位的操作跟程序代碼完全無關(guān),在任何容器外部可以輕松的使用對象,不依賴容器的API,應(yīng)用對象可以不需要特殊的接口獨立于容器而運行[12]。依賴注入具有3種實現(xiàn)方法:構(gòu)造子注入、設(shè)值注入、接口注入。理論上來說,構(gòu)造子函數(shù)是依賴注入的主要方式,設(shè)值注入是輔助的方式。但是在現(xiàn)實開發(fā)中,設(shè)值注入應(yīng)用較多,本次雨量水情系統(tǒng)開發(fā)也采用了設(shè)值注入的方式。

2 輕量級框架的整合策略

SSH框架就是Struts、Spring和Hibernate框架組合的簡稱。Struts實際上就是完成一個MVC的過程,是一種展示層的解決方案[13]。Struts框架不能直接整合Hibernate底層框架,Hibernate框架的持久化數(shù)據(jù)源的API不能直接連接Struts框架,必須在它們之間有個中間的連接層。Spring框架正好符合這個功能,既能向上為Struts框架提供控制器的支撐服務(wù),向下為Hibernate框架提供DAO接口服務(wù),又能在自身內(nèi)部完成業(yè)務(wù)邏輯[14-15]。這3種框架就是以這樣耦合的方式組合在一起,能夠很好的為系統(tǒng)提供層次分明的技術(shù)功能支持。

3 中間件技術(shù)在雨量水情查詢系統(tǒng)中的應(yīng)用

3.1 系統(tǒng)概述

雨量水情查詢系統(tǒng)是水利汛情發(fā)布系統(tǒng)的重要組成部分,通過計算機網(wǎng)絡(luò)技術(shù)和應(yīng)用技術(shù)可以提供一個雨情和水情信息綜合的查詢平臺。該系統(tǒng)有利于雨量和水情信息的整合,從而有利于水利部門服務(wù)能力的提升。通過雨量查詢系統(tǒng),使用者可以查詢相關(guān)地區(qū)的雨量、水情信息,也可以為水利部門的決策管理者做出及時、科學(xué)、有效的決策提供實時依據(jù)。

3.2 系統(tǒng)需求分析

根據(jù)某地水利信息化建設(shè)新要求,原雨量數(shù)據(jù)庫和水情數(shù)據(jù)庫是已經(jīng)建成的集中式數(shù)據(jù)庫,分屬不同的數(shù)據(jù)庫系統(tǒng),數(shù)據(jù)庫里包含著各地水庫的庫內(nèi)水位、汛限水位、入出庫流量和雨量等信息。雨量數(shù)據(jù)庫系統(tǒng)采用的是MySQL,而水情數(shù)據(jù)庫系統(tǒng)采用的SQL Server2000。根據(jù)系統(tǒng)需求分析,通過SSH整合能統(tǒng)一平臺,實現(xiàn)異構(gòu)數(shù)據(jù)庫的訪問及操作。系統(tǒng)用例圖見圖1。

圖1 系統(tǒng)用例圖

3.3 系統(tǒng)模塊劃分及功能描述

雨量水情查詢系統(tǒng)要求不同的用戶具有不同的權(quán)限,即不同操作人員看到的用戶界面不一樣,所有的用戶都能使用雨量、水情單庫查詢功能和多庫的綜合查詢功能。其中,具有管理員權(quán)限的人員還可以對雨量和水情數(shù)據(jù)信息進(jìn)行增刪改操作及用戶管理設(shè)置,圖2為系統(tǒng)模塊構(gòu)成圖。

以綜合查詢模塊為例來進(jìn)行功能簡介。綜合信息查詢功能用戶可以根據(jù)地區(qū)、市縣、站點等名稱同時查詢該地方的雨量和水情信息,也可根據(jù)信息關(guān)鍵字全庫檢索,并按照表格的形式將同一地方雨量水情信息顯示在同一個頁面上。綜合信息查詢流程圖見圖3。

3.4 主要模塊的編碼實現(xiàn)

3.4.1 登錄模塊實現(xiàn)

登錄模塊功能主要由LoginAction來控制。在Struts.xml中創(chuàng)建Login的控制器Action,它會在 Spring中使用Login接口處理登入業(yè)務(wù)邏輯,而在Sysmanager-DAOImpl實現(xiàn)登入的具體操作,調(diào)用SysmanagerDAO對數(shù)據(jù)庫操作。在Hibernate框架中Sysmanager.hbm.xml為Sysmanager表與Sysmanagerbean類的映射文件。

3.4.2 雨量信息管理模塊編碼實現(xiàn)

雨量信息管理模塊功能主要由RainAction來控制。 在Struts.xml中創(chuàng)建RainAction的控制器load_Action、add_Action、delete_Action,它會在 Spring 中使用Rain接口處理雨量業(yè)務(wù)邏輯,在RainDAOImpl實現(xiàn)登入的操作,調(diào)用RainDAO操作數(shù)據(jù)庫。在Hibernate 框架中 Rain.hbm.xml為 Rain 表與 Rainaction bean類的映射文件。

3.4.3 綜合查詢模塊的編碼實現(xiàn)

綜合查詢模塊功能除了上述的由RainAction、WaterAction控制外,還另外增加了ProvinceAction、CityAction、CountyAction動作。在 Struts.xml中會分別創(chuàng)建這 3種控制器的load_Action,它們會在Spring中調(diào)用相應(yīng)的接口來處理業(yè)務(wù)邏輯,通過ProvinceDAOImpl、City-ActionDAOImpl、CountyDAOImpl來實現(xiàn)具體的業(yè)務(wù)邏輯。 在 Hibernate 框架中 Province.hbm.xml、CityAction.hbm.xml、County.hbm.xml分別為 Province、City 、County表與各自bean類的映射文件。

圖2 系統(tǒng)模塊構(gòu)成圖

圖3 綜合信息查詢流程圖

3.5 系統(tǒng)特點

雨量水情查詢系統(tǒng)整體設(shè)計利用了基于J2EE的輕量級框架,該框架中間件技術(shù)開發(fā)在水利信息化中得到了很好的應(yīng)用。

3.5.1 系統(tǒng)結(jié)構(gòu)清晰

整個系統(tǒng)設(shè)計采用SSH(Struts2+Spring+Hibernate)開發(fā)設(shè)計,系統(tǒng)結(jié)構(gòu)清晰,可以分為3個層次:視圖表現(xiàn)層、業(yè)務(wù)邏輯處理層、數(shù)據(jù)持久層。視圖表現(xiàn)層借鑒Struts框架,實現(xiàn)的是一個MVC的過程;Spring框架負(fù)責(zé)處理業(yè)務(wù)邏輯,通過事務(wù)流程的配置和接口方法的設(shè)計來完成業(yè)務(wù)的處理;數(shù)據(jù)持久化的工作由Hibernate框架的O/R技術(shù)來支持,負(fù)責(zé)數(shù)據(jù)的持久化。雨量水情查詢系統(tǒng)就是在上述模塊有條不紊的協(xié)作中完成工作。

3.5.2 系統(tǒng)易實現(xiàn)和復(fù)用

按照上述應(yīng)用框架開發(fā)的系統(tǒng)各模塊相對獨立,功能明確,互不影響,各模塊之間耦合性亦比較小,各層次調(diào)用關(guān)系明確。系統(tǒng)開發(fā)人員不必掌握太多的編程技巧就可以按照流程式配置來完成整個系統(tǒng)的結(jié)構(gòu)設(shè)計,使得系統(tǒng)易于設(shè)計實現(xiàn)。雨量水情查詢系統(tǒng)將整個大型的系統(tǒng)模塊化,劃分成多個易于實現(xiàn)的小模塊,大大縮短了系統(tǒng)開發(fā)的時間。在水利信息化過程中,水利部門采用的數(shù)據(jù)庫信息都已標(biāo)準(zhǔn)化,因此可以將本系統(tǒng)開發(fā)的框架復(fù)用到其他系統(tǒng)開發(fā)中,減少代碼開發(fā)。

4 結(jié)語

相對比較重量級的EJB,基于輕量級框架開發(fā)的web應(yīng)用具有可擴展性、可維護(hù)性好等諸多優(yōu)點。Spring實現(xiàn)了對EJB技術(shù)的替代和更好的組件重用性,能夠作為一個應(yīng)用于所有層的綜合框架,適合作為一些大型軟件項目的底層平臺。它能夠提供輕量級的管理業(yè)務(wù)組件的IOC容器,很好地將表現(xiàn)層和數(shù)據(jù)持久層聯(lián)系起來。SSH框架的組合,能夠很好實現(xiàn)系統(tǒng)中間層,為系統(tǒng)提供相應(yīng)的服務(wù)。因此,在水利信息化上利用Spring、Struts、Hibernate的輕量級框架組合的中間件技術(shù)開發(fā)具有十分廣泛的應(yīng)用前景。

[1]水利部信息化工作領(lǐng)導(dǎo)小組辦公室.2009年度中國水利信息化發(fā)展報告[M].北京:中國水利水電出版社,2010.

[2]朱慶偉,吳宇紅.一種對象/關(guān)系映射框架的分析和應(yīng)用[J].計算機應(yīng)用,2004(4):20-24.

[3]解建倉,張永進(jìn).面向水利信息化的中間件技術(shù)及其支持服務(wù)平臺[J].中國水利,2005,25(5):35-39.

[4] 和應(yīng)民,曲志超.J2EE 中間件的開發(fā)與應(yīng)用[J].計算機工程,2004,5(10):27-29.

[5]朱錚雄.基于Spring框架的Web Services系統(tǒng)整合與研究[J].計算機應(yīng)用與軟件,2007,24(10):129-132.

[6]龐 欣.面向電子商務(wù)平臺的Tuxedo中間件的設(shè)計與開發(fā)[D].天津:天津大學(xué),2012.

[7] PaulM.Goodrum,MattA.MeLaren,Adam Durfee.The application of active RFID technology for tool tracking on construction job sites[J].Automation Construction,2006,2(15):292-302.

[8] Musolesi.Epidemic Messaging Middleware for Ad hoc networks [J].Personal and Ubiquitous Computing, 2005,2(1):12-13.

[9]于培亮.基于CORBA的分布式監(jiān)控系統(tǒng)的設(shè)計與開發(fā)[D].濟(jì)南:山東大學(xué),2012.

[10]羅軍剛.面向水利應(yīng)用集成的水利信息門戶的研究與應(yīng)用[D].西安:西安理工大學(xué),2006.

[11]李 璇,林立新.支持多種終端的多媒體展示中間件[J].計算機應(yīng)用與軟件,2012,24(2): 105-108.

[12] David M.Geary.Mastering the JSP Standard Tag Library [J].Prentice Hall PTR, 2002,5(8):102-106.

[13]張永進(jìn).面向防汛抗旱指揮系統(tǒng)的應(yīng)用集成中間件平臺研究[D].西安:西北大學(xué),2007.

[14]黃煙波,張紅宇.基于Struts和Hibernate的 J2EE架構(gòu)[J].計算機應(yīng)用,2004(10):30-35.

[15]洪志全.分布式數(shù)據(jù)服務(wù)中間件實現(xiàn)技術(shù)研究[J].計算機應(yīng)用研究,2003,4(1):46-49.

猜你喜歡
水情中間件雨量
寧夏紅柳溝流域水沙變化及產(chǎn)沙分析
基于小波去噪的稱重雨量數(shù)據(jù)分析
RFID中間件技術(shù)及其應(yīng)用研究
電子制作(2018年14期)2018-08-21 01:38:10
基于VanConnect中間件的設(shè)計與開發(fā)
電子測試(2018年10期)2018-06-26 05:54:02
甜水情
SL—1 型雨量傳感器故障分析排除和維護(hù)
西藏科技(2016年5期)2016-09-26 12:16:40
2011年遼寧省汛期水情分析
中間件在高速公路領(lǐng)域的應(yīng)用
一種支持智能環(huán)境構(gòu)建的中間件
流域平均雨量
耒阳市| 若羌县| 故城县| 玉田县| 区。| 鄢陵县| 阿拉尔市| 金沙县| 怀仁县| 平舆县| 武隆县| 库车县| 阿荣旗| 嘉鱼县| 旺苍县| 琼海市| 南澳县| 兴山县| 京山县| 通州市| 澎湖县| 湟中县| 绥阳县| 临沧市| 黎川县| 长治市| 酉阳| 鄱阳县| 报价| 上蔡县| 石家庄市| 苍梧县| 玛曲县| 平湖市| 上虞市| 德兴市| 随州市| 北流市| 沈丘县| 高青县| 淮安市|