摘要:廣泛應用現代信息技術,加強非工程措施的建設,是實現防汛現代化的必然選擇,建立WebGis圖文一體化的防汛防旱指揮系統將有效降低自然災害帶來的各類損失。本文在分析國內防汛指揮系統建設成果的基礎上,以某市防汛防旱指揮系統設計為具體實例,使用EJB、JSF等技術設計并實現了集工情、汛情和防汛管理于一體的基于SOA的防汛防旱指揮系統。該系統自投入運行以來,取得了良好效果。
關鍵詞:SOA;WebGis;JBoss;防汛防旱
中圖分類號:TP302.1文獻標識碼:A 文章編號:1009-3044(2008)36-2651-02
Design and Realization of the SOA-based Flood and Drought Control System
ZHANG Yun-fei
(Hohai University,Nanjing 210098,China)
Abstract: Wider use of modern information technology,to Strengthen the construction of non-engineering measures is the necessary choice to realize the flood control modernization.In this paper we analyse the results of internal flood control system,using EJB、JSF technology,design and finish the SOA-based flood and drought control system for one city.The system has since been put into operation,achieved good results.
Key words:SOA; WebGis; Jboss; flood and drought control
1 引言
廣泛應用現代信息技術,充分開發信息資源,積極拓展防汛信息化應用的深度和廣度,在重視防汛工程建設與管理的同時,加強非工程措施的建設,是實現防汛現代化的必然選擇。只有充分利用現代信息技術加強對大江、大河、水庫、水閘的水情動態監測,通過科學調度,確保汛期安全,保障社會經濟的可持續發展。而應用現代科學技術來提高水利工程的管理、控制及運行水平,及時掌握雨水情、工情、氣象等信息,提供有關工程運行的各項技術參數,監視工程運行實況,是確保工程正常運行的重要手段,也是為各級領導防汛指揮調度決策提供實時的、合理的、科學的決策依據。
近年來,隨著信息技術的迅速發展,計算機應用系統在各級水利防汛部門中已得到一定開展,但是還存在一些亟待解決的問題:不能準確掌握到實時的雨水情信息、氣象信息、工情信息和災情信息,信息資源不足、信息共享困難,已有信息資源的綜合服務能力弱。這些問題嚴重制約了及時、準確、有效地進行防汛抗旱調度決策。本文在分析國內防汛指揮系統建設成果的基礎上,以某市防汛防旱指揮系統設計為具體實例,使用EJB、JSF等技術設計并實現了集工情、水雨情、汛情和防汛管理于一體的WebGis系統。
2 系統軟件總體設計結構
長期的實踐證明,完全依靠工程措施不可能完全地有效解決當前復雜的水問題。防汛防旱指揮系統的核心是進行減災決策,根據防汛防旱系統的需求特點分析,對系統開發提出的要求是:所建立的防汛防旱指揮系統應能在一定的硬件環境支撐下,快速靈活地以多種方式提供水情、雨情、工情和旱情實況,進行暴雨、洪水、旱情預報,提供各種情況下的防汛防旱調度方案集,分析決策預案實施后的風險情況,評估受災區的災情,為防汛防旱決策過程中的各主要工作環節提供多層次的信息服務和多種支持手段。基于SOA的防汛防旱指揮系統總體結果如圖1所示。

圖1 基于SOA的防汛防旱指揮系統總體示意圖

圖2 基于SOA的防汛抗旱指揮系統的應用軟件框架圖

圖3 基于SOA的防汛抗旱指揮系統的應用軟件系統結構圖

圖4 ArcIMS的體系結構
系統由信息采集系統、網絡(通信)系統、數據匯集平臺、數據庫、應用支撐平臺、用戶應用和安全體系及安全管理服務系統等組成。各個部分間由標準化的協議與接口結合為一個有機的整體。
系統的信息來源主要有兩個方面,一是由系統采集的防汛抗旱信息(簡稱內部信息),二是需要從其它水利信息系統和水利行業外獲取的信息(統稱外部信息)。信息的傳輸與處理遵循標準化的協議,以保證信息的相對完整性與一致性。
以系統體系結構為基礎構造的各級各類防汛抗旱業務應用系統可以在服務層次、構件層次和信息資源層次協同工作,以實現信息交換與共享,減少重復開發,達到降低建設、管理與運行維護成本和保持開放性與可靠性的目的。
本系統采用基于SOA的分布式應用框架和B/S結構,系統從服務器到客戶端分為數據庫層、數據操作及事務管理層、中間件層、Web組件層、瀏覽器。中間件層又分為實體層和會話層。如圖2所示。
為了提高應用系統的靈活性、可重用性、高可靠性及使用的方便性, 整個系統分層實現,中間件應用服務平臺的開發是整個系統的核心,應用軟件系統結構如圖3所示。
JAVA中間件系統軟件層主要是運行在操作系統之上的數據庫軟件和應用服務器軟件。在該防汛抗旱指揮系統中,數據庫采用Oracle,應用服務器可以采用開源的JBoss、BEA公司的WebLogic、IBM公司的WebSphere等。
應用系統中間件,開發大量的可重用的中間件,對數據庫數據進行封裝,實現數據統一訪問;實現統一數據權限機制以及數據挖掘中間件等。
通用工具層是提高應用系統的靈活性、可重用性、高可靠性及使用的方便性關鍵,包括:通用的可任意配置界面和查詢條件的數據查詢工具、通用的報表工具、通用的基于數據標準規范的數據通訊與交換工具、基于Web的統一接口的GIS顯示工具等。
應用層是最終面向用戶的定制化的應用系統。該系統包括工情、水雨情、汛情和防汛管理四個子系統,主要使用JSF和EJB技術。
3 系統設計的關鍵技術
3.1 SOA技術
SOA是在計算環境下設計、開發、應用、管理分散的邏輯(服務)單元的一種規范。SOA的一個中心思想就是使得企業應用擺脫面向技術的解決方案的束縛,輕松應對企業商業服務變化、發展的需要。基于SOA的企業應用系統通常會更加真實地反映出與業務模型的結合,SOA 描述了一套完善的開發模式來幫助客戶端應用連接到服務上。這些模式定制了系列機制用于描述服務、通知及發現服務、與服務進行通信。SOA不是一定需要 Web 服務來實現,并且一個基于Web 服務開發出來的應用也不代表就是一個基于 SOA 構架應用。Web 服務只是服務實現的一個典型,是實現企業 SOA的一個組件(非必需組件)。SOA 為基于服務的分布式系統提供了概念上的設計模式。Web 服務則是基于標準的、可經濟實惠地實現 SOA的一項技術。
3.2 WebGIS 實現技術
ArcIMS是ESRI推出的新一代基于Web的制圖和GIS軟件。用戶既可以使用通用瀏覽器訪問數據,也可以使用專業的GIS工具,ArcIMS的體系結構如圖4。
本系統中的地圖都是建立在ArcIMS上的,實踐證明具有靈活的數據發布方式、豐富的客戶端功能、跨平臺、支持元數據的發布、管理和快速檢索等諸多優點。
3.3 基于JBOSS的系統集成平臺
Jboss應用服務器具有許多優秀的特質:其一,它將具有革命性的JMX微內核服務作為其總線結構;其二,它本身就是面向服務的架構(Service-Oriented Architecture,SOA);其三,它還具有統一的類裝載器,從而能夠實現應用的熱部署和熱卸載能力。因此,它是高度模塊化的和松耦合的。
整個系統從水雨情、實時工情、以及河道閘壩視頻的采集到客戶端分為兩大部分,第一部分是數據匯集平臺,將各類信息匯集到數據中心,這部分采用windows平臺,主要軟件基于windows開發;第二部分是基于數據中心的防汛防旱指揮系統主體部分,基于J2EE平臺開發;兩個部分之間通過數據中心相連。第二部分首先是數據訪問層,包括:中心數據庫訪問、地圖服務訪問、視頻信息訪問。其次系統會話層,會話層包含了所有的處理邏輯,包括:業務功能邏輯處理組件、系統框架處理組件、數據挖掘處理組件、通用工具邏輯處理組件、地理信息處理關聯組件等。最后是Web層,客戶顯示組件,包括:業務功能客戶端組件、通用工具的顯示組件、視頻顯示組件、Chart顯示組件、GIS顯示組件等。
4 子系統功能實現
4.1 工情信息服務功能
工情信息服務提供防汛相關人員通過Web瀏覽器對工情信息進行查詢,并以各種直觀的方式展示查詢的結果。
4.1.1 查詢內容
1)防洪工程基本信息
完成靜態工情信息查詢功能,從工情數據庫中查詢靜態工情信息。主要包括:政區名稱及代碼信息查詢、測站水文特征與防洪任務信息查詢、流域概況信息查詢、水系概況信息查詢、工程基本信息綜合查詢、重點防洪地區防洪工程圖的查詢與顯示、重點防洪地區防洪工程示意圖的查詢與顯示、蓄滯洪區平面圖的查詢與顯示等。
2)工程運行信息
完成動態工情信息查詢功能,從工情數據庫中查詢動態工情信息。主要包括:實時特殊工情查詢(包括決口、壩堤、堵口、筑壩、漫灘等來自水情拍報的特殊工情)、實時工情查詢(目前是人工及時輸入)等。
3)工程視頻監視信息
主要查詢有關水利樞紐的工程控制參數以及保存的視頻信息。
4) 險情信息
查詢數據庫中的歷史工程險情信息。險情信息由人工采集和輸入。
4.1.2 實現的功能
該查詢以地圖為背景,在地圖上點擊單個目標,也可以拉框或拉任意多邊形查詢,還可以采用表格式查詢多站信息,被選中的目標在地圖上閃爍或加亮突出顯示。整個系統完全基于WebGIS方式實現;查詢結果通過表格、過程線、直方圖、電子地圖、三維模擬和視頻等形式展示;提供多個工程查詢結果的切換等功能。
4.2 水雨情信息服務功能
水雨情信息服務子系統功能包括三個部分,分別是雨情信息查詢、水情信息查詢和水雨情預報信息查詢。
1) 雨情查詢
由于降雨數據來源有2種,報訊和遙測,對應存儲在不同庫中,表結構也有差別,此外,在操作習慣上,也是按照數據來源不同,進行功能操作。所以,在功能分組時按照數據來源進行功能分組,具體分成實時雨情,遙測雨情,歷史雨情和預報雨情。①實時雨情:實時雨情能夠從實時水文數據庫中查詢出報訊站點雨情信息,按照流域分區排列生成日降雨量表和旬月降雨量匯總表;同時提供單站雨情查詢、多站雨情查詢與分析、各種雨情日報表、雨情流量比對分析等功能。②遙測雨情功能類似實時雨情,差別在數據來源上。③歷史雨情:歷史雨情從歷史整編水文庫中獲取流域上降雨日報表,和歷史水情合為一組,最終功能組為歷史水雨情。④預報雨情:預報雨情從水文庫中獲取流域上預報降雨日報表,和水情預報合為一組,最終功能組為預報水雨情。
2) 水情查詢
水情查詢根據數據來源分成實時水情,遙測水情,歷史水情,預報水情。歷史水情和預報水情和雨情信息合作一組。①實時水情:實時水情能從實時水文庫中查詢出各種水文報訊站點數據,按照流域或河系進行分組顯示,提供河道、閘壩、水庫、長江水位、潮位等多種水文數據報表;同時提供單站水情查詢、多站水情查詢與分析,各種水位、流量的實時/歷史過程線比較,以及庫容曲線、河道水面線、洪水傳播時間。②遙測水情:類似實時水情,不包括庫容曲線、河道水位斷面曲線等基本信息查詢。③歷史水情:供歷史河道、閘壩、水庫水情日報表。④預報水情:提供預報實測水位過程對比曲線的查詢。
4.3 汛情信息服務功能
汛期監視系統采用計算機顯示屏或大屏幕投影方式,提供具有報警功能的實時水雨情、工情、現場圖像等汛情監視畫面。汛情報警采用自動觸發和用戶觸發兩種方式.汛情監視系統遵循地理信息系統設計的一般原則,將地圖分為水系層、河道測站層、水庫測站層等若干圖層。在此基礎上提供了對河道測站、水庫測站、閘壩測站以及雨量測站的實時監視,同時系統能夠自動地用不同的顏色標示出測站超警、超保、超汛限等狀態。系統提供對水情信息的自動監視,還提供險工險段圖像、洪峰、主要控制站等專項監視。在提供水雨情、工情實時監視的基礎上,充分發揮地理信息系統的優勢,提供基于地理信息的方便、快捷的輔助決策功能。
5 結束語
某市降水和水資源在時間和空間上的分布不均勻,加上地形的特點,是個容易發生水旱災害的地區。基于SOA的防汛抗旱指揮系統自投入運行以來,取得了良好效果:系統較完整實現了水文數據庫、地理信息數據庫的建設,建立了汛情監視系統,實現了對工情信息的查詢和防汛管理,為決策者提供了很好的支持。對基于SOA的防汛防旱指揮系統的研究將進一步利用龐大的水文數據庫對汛期做一些預報,實現數據分析系統、洪水預報系統、防汛會商等。
參考文獻:
[1] 譚培倫,高波. 長江防洪系統實時調度研究[M] . 北京:中國水利電力出版社,1997:260-262.
[2] 張火青. 基于GIS和WEB技術的城市防汛信息系統[J]. 計算機工程與應用. 1999(6).