黃 東,李海彬,徐林春,練偉航,鄭 泳
(廣東省水利水電科學研究院,510635,廣州)
第一次全國水利普查獲取了海量的水利信息數(shù)據(jù),如何有效管理、充分展示和深度發(fā)掘利用這些來之不易的數(shù)據(jù)和信息,滿足水利行業(yè)內外應用與共享服務的需求,推進水利信息化建設,是各級水利部門和普查機構目前迫切需要思考的問題。
傳統(tǒng)數(shù)據(jù)庫的緊耦合信息資源整合模式,存在標準化程度不高、開放性差等缺點。面向服務體系結構(Service Oriented Architecture,SOA) 具有松耦合、標準化、開放性、跨平臺等優(yōu)點,目前廣泛地應用于企業(yè)級應用開發(fā)領域。本文探討了基于SOA架構的省級水利普查數(shù)據(jù)共享與應用服務框架,利用Web Service及其擴展技術、組件技術和Net技術,初步構建了一個廣東省水利普查數(shù)據(jù)共享與應用服務平臺,為實現(xiàn)水利普查數(shù)據(jù)的高效管理、充分展示、科學分析和輔助決策打下基礎,為省級水利普查機構進一步開發(fā)應用水利普查數(shù)據(jù)提供參考。
SOA是一種軟件體系結構。該結構由服務提供者、服務請求者及服務代理3個部分組成。服務提供者向服務代理發(fā)布服務,服務請求者通過服務代理查詢獲悉服務提供者信息,向服務提供者請求服務,服務提供者響應并進行服務綁定,對服務請求者進行服務。
Web Service作為實現(xiàn)SOA的主流技術,利用XML作為數(shù)據(jù)格式保證了Web服務的平臺、語言無關性;SOAP通過HTTP協(xié)議承載由XML格式化的消息實現(xiàn)Web服務的訪問;WSDL則利用 XML規(guī)范對 Web服務進行定義、描述;UDDI實現(xiàn)Web服務的發(fā)布、發(fā)現(xiàn)與管理。服務提供者在UDDI注冊中心發(fā)布以WSDL形式描述的服務,服務使用者使用服務時,在UDDI注冊中心查詢獲取服務的WSDL信息,并依據(jù)WSDL信息通過SOAP協(xié)議與服務提供者進行消息通信,實現(xiàn)服務的綁定與調用。
廣東省級水利普查數(shù)據(jù)共享與應用服務框架由數(shù)據(jù)層、傳輸層、資源層、平臺層、應用層及服務層組成。整個框架以服務為中心,數(shù)據(jù)資源以Web服務方式提供各類應用。應用通過數(shù)據(jù)共享服務平臺請求數(shù)據(jù),以屏蔽底層數(shù)據(jù)的復雜組織以及實現(xiàn)環(huán)境。同時,共享服務平臺通過控制各類應用的訪問權限,保證了數(shù)據(jù)分發(fā)的安全性。水利普查數(shù)據(jù)服務提供者、服務代理以及服務使用者構成了水利普查數(shù)據(jù)共享與應用服務框架的三類角色。
水利普查數(shù)據(jù)內容眾多,數(shù)據(jù)層的任務是建立起支撐水利普查數(shù)據(jù)共享與應用服務運行的水利普查成果綜合數(shù)據(jù)庫 (基礎數(shù)據(jù)庫和空間數(shù)據(jù)庫),包括水利普查成果數(shù)據(jù)的獲取、建庫與更新。
主要指共享與應用服務運行的網(wǎng)絡環(huán)境,包括省、地、縣三級互通的行業(yè)內網(wǎng)(三防網(wǎng)),以及用于各級政府的政務網(wǎng)。其中,三防網(wǎng)用于行業(yè)內各級數(shù)據(jù)的共建共享,政務網(wǎng)用于同級行業(yè)之間數(shù)據(jù)的共建共享。
資源層旨在整合省、地、縣三級的水利普查數(shù)據(jù)及相關信息資源,它以廣東省、地、縣三級的水利普查數(shù)據(jù)資源為基礎,其他水利相關業(yè)務數(shù)據(jù)為輔助,省級水利數(shù)據(jù)中心為支撐,建立水利普查數(shù)據(jù)資源目錄和管理體制,實現(xiàn)對全省水利普查數(shù)據(jù)資源的統(tǒng)一存儲、統(tǒng)一管理和統(tǒng)一調度。
平臺層即在數(shù)據(jù)層、資源層之上構建一個數(shù)據(jù)共享及應用服務平臺。平臺層具有兩類角色,一類是服務的提供者,一類是服務的代理。作為服務的提供者,為應用系統(tǒng)提供數(shù)據(jù)服務調用接口。作為服務的代理,注冊并發(fā)布服務,對應用系統(tǒng)提供服務調用方法。數(shù)據(jù)中心和數(shù)據(jù)子節(jié)點在數(shù)據(jù)層對空間數(shù)據(jù)組織和管理模式不必一致,在平臺層開發(fā)相應的應用服務中間件,將基于空間數(shù)據(jù)的空間查詢、空間分析、空間計算、空間制圖等功能封裝為Web服務并注冊、發(fā)布。
水利行業(yè)內及行業(yè)外如國土、環(huán)境、交通、公眾等部門或領域在服務層的支持下和相應用戶權限允許下,通過對數(shù)據(jù)服務接口的調用,便可獲取水利普查成果數(shù)據(jù),建立如省級水利設施效能評估、流域(庫區(qū)/灌區(qū))監(jiān)測與綜合管理、水土保持監(jiān)測與管理、水利普查成果查詢展示服務等應用系統(tǒng),最終建立多主題的流域輔助決策支持系統(tǒng),全面提升數(shù)字流域管理與服務的能力。需要指出的是,通過服務層,應用部門不但可以訪問其他部門數(shù)據(jù),同時也可以將其私有的數(shù)據(jù)以服務方式發(fā)布給其他部門使用。
服務層主要將數(shù)據(jù)以服務的方式提供給用戶使用,包括行業(yè)內及行業(yè)外應用兩種形式,為保證數(shù)據(jù)的安全性,針對不同用戶將采用服務加密處理,降低數(shù)據(jù)泄密的風險。
(1)數(shù)據(jù)庫建設
①以 “第一次全國水利普查數(shù)據(jù)處理上報系統(tǒng) (省級)(廣東?。保ㄒ韵潞喎Q“上報系統(tǒng)”)導出的水利普查數(shù)據(jù)為基礎(excel格式),重新設計數(shù)據(jù)庫表結構。
②依據(jù)《水利工程基礎信息代碼編制規(guī)定》(SL213—1998)、《廣東省水利信息與編碼規(guī)范》,完成水利普查對象的工程編碼規(guī)則編制,明確水利普查數(shù)據(jù)庫與水利數(shù)據(jù)工程代碼的轉換關聯(lián)關系。
③將沿用水利普查空間數(shù)據(jù)采集與處理現(xiàn)有圖層,在國家標準規(guī)范的基礎上對空間數(shù)據(jù)庫圖層數(shù)據(jù)及結構進行擴展,以支持相應的功能擴展。
(2)數(shù)據(jù)庫管理系統(tǒng)
利用C#語言,基于ArcGIS Engine 10組件庫和oracle 11g數(shù)據(jù)庫軟件,開發(fā)了C/S結構的數(shù)據(jù)庫管理系統(tǒng),實現(xiàn)基礎數(shù)據(jù)屬性指標與空間信息的關聯(lián)整合,達到水利普查基礎數(shù)據(jù)和空間數(shù)據(jù)的數(shù)據(jù)入庫、管理維護和應用服務的無縫銜接。
數(shù)據(jù)庫管理系統(tǒng)由數(shù)據(jù)入庫、數(shù)據(jù)瀏覽、數(shù)據(jù)編輯、數(shù)據(jù)查詢、數(shù)據(jù)統(tǒng)計、數(shù)據(jù)導出、數(shù)據(jù)更新、數(shù)據(jù)脫密處理、服務發(fā)布、數(shù)據(jù)切片、數(shù)據(jù)備份、運行維護管理組成。
利用Java語言,基于J2EE三層架構體系、ArcGIS Server和 Web Service接口,開發(fā)B/S結構的水利普查數(shù)據(jù)共享與應用服務平臺。水利普查數(shù)據(jù)共享與應用服務平臺總體架構主要由服務系統(tǒng)和運維管理系統(tǒng)組成,主要實現(xiàn)發(fā)布管理、數(shù)據(jù)共享、屬性服務、操作監(jiān)控等功能。
平臺以服務的方式提供水利普查信息資源的共享,主要包括地圖服務、功能服務、屬性服務等,是相關應用系統(tǒng)的數(shù)據(jù)信息來源。
用戶通過平臺,可了解到當前可以使用的各種服務,通過服務的申請及審核,可以直接獲取到相應的服務,既保證了數(shù)據(jù)的安全性,又保證了數(shù)據(jù)的實時性和一致性。
利用微軟C#及XAML語言,使用微軟最新silverlight5開發(fā)技術,基于 ArcGIS Server for silverlight API,開發(fā)了B/S結構的水利普查成果展示系統(tǒng)。通過向水利普查數(shù)據(jù)共享與應用服務平臺申請服務完成水利普查成果的綜合展示和數(shù)據(jù)分析。主要功能分為成果展示和數(shù)據(jù)分析兩方面:①結合空間信息技術,將普查對象的數(shù)量、分布等情況進行空間展示以及圖表形式的分析統(tǒng)計。②系統(tǒng)分析依托matlab強大的數(shù)值計算、數(shù)據(jù)分析及算法開發(fā)功能,利用其自帶工具箱將matlab算法編譯成C#可執(zhí)行文件供系統(tǒng)調用,使系統(tǒng)具備雙樣本均值檢驗、回歸分析、聚類分析等數(shù)值分析功能,實現(xiàn)水利工程效能、水資源利用現(xiàn)狀等多方面的評估分析。
以第一次全國水利普查數(shù)據(jù)為基礎建設的典型應用系統(tǒng),其建設目標是集成多主題流域信息,服務于流域綜合管理決策,尤其為武江流域的防洪指揮調度提供支持,為政府、相關部門及用戶提供現(xiàn)代化的信息數(shù)字支持。
主要由流域信息管理子系統(tǒng)和防洪決策支持子系統(tǒng)組成。流域信息管理系統(tǒng)功能主要包括水利普查數(shù)據(jù)在內的數(shù)據(jù)輸入、查詢、統(tǒng)計分析更新、維護和輸出等。防洪決策支持子系統(tǒng)功能主要包括洪水演進模擬、洪水調度、洪水淹沒損失分析、防洪形勢分析等,從而達到防洪指揮調度輔助決策的作用。
廣東省水利普查數(shù)據(jù)共享與應用服務平臺在充分了解不同層次、不同用戶的應用需求的基礎上,實現(xiàn)了水利普查成果數(shù)據(jù)的有效管理和充分展示,為科學準確分析廣東省水利發(fā)展現(xiàn)狀和未來發(fā)展趨勢提供了現(xiàn)代化的手段。
該平臺基于SOA架構和WebService技術,提供了一整套從前端海量普查數(shù)據(jù)存儲、發(fā)布與共享,到后端業(yè)務應用系統(tǒng)的定制與服務的完整解決方案,是一個全開放的系統(tǒng),在各地水利普查數(shù)據(jù)共享與應用平臺建設中具有很大的推廣價值。
[1]程忠慶.基于SOA與Web服務的后勤信息資源整合框架研究[J].計算機與數(shù)字工程,2009(1).
[2]吳建斌.Web Services平臺體系結構的研究 [J].計算機工程與科學,2005(10).