方利,王文杰,高振記*,王明浩,花潔,曾秀俐,2
1.中國(guó)環(huán)境科學(xué)研究院,北京 100012
2.湖南科技大學(xué)建筑與城鄉(xiāng)規(guī)劃學(xué)院,湖南湘潭 411201
基于SOA的環(huán)境科學(xué)數(shù)據(jù)共享平臺(tái)設(shè)計(jì)與實(shí)踐
方利1,王文杰1,高振記1*,王明浩1,花潔1,曾秀俐1,2
1.中國(guó)環(huán)境科學(xué)研究院,北京 100012
2.湖南科技大學(xué)建筑與城鄉(xiāng)規(guī)劃學(xué)院,湖南湘潭 411201
針對(duì)我國(guó)環(huán)境科學(xué)數(shù)據(jù)異構(gòu)、分散,缺乏空間數(shù)據(jù)共享及共享范圍局限等問(wèn)題,提出了基于面向服務(wù)的架構(gòu)(SOA)的環(huán)境科學(xué)數(shù)據(jù)共享平臺(tái)技術(shù)架構(gòu),在建立環(huán)境科學(xué)數(shù)據(jù)庫(kù)及元數(shù)據(jù)庫(kù)基礎(chǔ)上,綜合應(yīng)用SOA、Web Service、Service GIS、中間件等技術(shù)實(shí)現(xiàn)元數(shù)據(jù)服務(wù),空間與屬性數(shù)據(jù)互檢索服務(wù),空間數(shù)據(jù)聚合服務(wù),網(wǎng)絡(luò)數(shù)據(jù)抽取服務(wù)以及異構(gòu)資源注冊(cè)服務(wù)等功能,集成了環(huán)境專(zhuān)題數(shù)據(jù),基礎(chǔ)地理數(shù)據(jù),遙感影像、水文、氣象、空間數(shù)據(jù)服務(wù)等各類(lèi)環(huán)境資源,實(shí)現(xiàn)了各類(lèi)異構(gòu)環(huán)境數(shù)據(jù)資源的共享及注冊(cè)服務(wù)。該技術(shù)可為構(gòu)建我國(guó)大型綜合性環(huán)境共享平臺(tái)提供可供參考的模式。
環(huán)境科學(xué)數(shù)據(jù);數(shù)據(jù)共享平臺(tái);元數(shù)據(jù);SOA;Service GIS;中間件
我國(guó)環(huán)境信息化建設(shè)始于“七五”期間,經(jīng)過(guò)“中國(guó)100個(gè)城市環(huán)境信息系統(tǒng)建設(shè)”、“污染源自動(dòng)監(jiān)控項(xiàng)目”、“環(huán)境信息傳輸與統(tǒng)計(jì)能力建設(shè)項(xiàng)目”、“國(guó)家水體污染控制與治理科技重大專(zhuān)項(xiàng)”等重大專(zhuān)項(xiàng)建設(shè),各種污染源、環(huán)境質(zhì)量監(jiān)控?cái)?shù)據(jù)、衛(wèi)星遙感數(shù)據(jù)以及環(huán)境管理業(yè)務(wù)數(shù)據(jù)急劇膨脹,使環(huán)境數(shù)據(jù)共享與服務(wù)面臨新的挑戰(zhàn)[1]。同時(shí)由于我國(guó)各級(jí)環(huán)境管理部門(mén)在信息化建設(shè)方面缺乏統(tǒng)一規(guī)劃和業(yè)務(wù)協(xié)同,信息資源未被充分開(kāi)發(fā)和有效應(yīng)用[2],造成“縱向信息煙囪、橫向信息孤島”的局面[1]。環(huán)境數(shù)據(jù)作為一種重要的戰(zhàn)略信息資源,其內(nèi)容包含環(huán)境背景、環(huán)境專(zhuān)題、水文、氣象、土地利用、社會(huì)經(jīng)濟(jì)、人口等數(shù)據(jù),涉及環(huán)境保護(hù)、水利、氣象、國(guó)土資源等眾多部門(mén),以信息共享技術(shù)促進(jìn)部門(mén)間協(xié)同應(yīng)對(duì)環(huán)境問(wèn)題,是環(huán)境管理工作發(fā)展的必然趨勢(shì),對(duì)政府決策、科學(xué)研究以及公眾知情權(quán)具有重要意義[2-3]。
在國(guó)外,科學(xué)數(shù)據(jù)共享工作開(kāi)展較早,共享機(jī)制較為完善。美國(guó)在20世紀(jì)最后10年確立了在國(guó)家層面上建設(shè)國(guó)有科學(xué)數(shù)據(jù)和信息全社會(huì)共享的戰(zhàn)略部署[4]。目前美國(guó)國(guó)家航空航天局(NASA)、美國(guó)地質(zhì)調(diào)查局(USGS)、美國(guó)國(guó)家氣候數(shù)據(jù)中心(NCDC)、美國(guó)農(nóng)業(yè)部(USDA)自然資源保護(hù)中心(NRCS)、美國(guó)全球環(huán)境和社會(huì)研究院(IGES)等機(jī)構(gòu)已經(jīng)建成數(shù)據(jù)共享網(wǎng)絡(luò),面向全社會(huì)提供遙感影像、水文監(jiān)測(cè)、土地植被、水資源、海洋、大氣、高程、洪水、干旱、颶風(fēng)、暴雪、森林火災(zāi)、氣候、自然資源保護(hù)等公共數(shù)據(jù)資源及模型服務(wù)①美國(guó)主要數(shù)據(jù)共享平臺(tái)網(wǎng)址:http://nasadaacs.eos.nasa.gov/about. html;http://waterdata.usgs.gov/nwis;http://eros.usgs.gov;http://www. ncdc.noaa.gov;http://www.wcc.nrcs.usda.gov/;http://www.iges.org/ cola.html。。歐洲委員會(huì)于2008年1月提出共享歐洲環(huán)境信息的概念,建立一個(gè)共享的環(huán)境信息系統(tǒng)(SEIS),為環(huán)境管理和制定環(huán)境政策提供信息支持,為非政府組織、研究機(jī)構(gòu)、大學(xué)以及公眾方便和自由的獲取環(huán)境信息創(chuàng)造條件[5]。國(guó)外在環(huán)境科學(xué)數(shù)據(jù)科研及應(yīng)用方面,也開(kāi)展了一些技術(shù)研究及實(shí)踐工作,如探討了科學(xué)數(shù)據(jù)共享的關(guān)鍵因子[6]及影響因素[7],基于元數(shù)據(jù)[8]、Web服務(wù)[9]、空間互操作[10]等技術(shù)實(shí)現(xiàn)某一領(lǐng)域的生態(tài)和環(huán)境科學(xué)數(shù)據(jù)的共享。
我國(guó)科學(xué)技術(shù)部于2002年啟動(dòng)了“科學(xué)數(shù)據(jù)共享工程”,相繼建立了地球系統(tǒng)科學(xué)[11]、氣象[12]、農(nóng)業(yè)[13]等數(shù)據(jù)共享平臺(tái),面向全社會(huì)提供數(shù)據(jù)服務(wù),已取得了較好的應(yīng)用效果。2004年底,國(guó)家環(huán)境保護(hù)總局啟動(dòng)了“環(huán)境科學(xué)數(shù)據(jù)庫(kù)建設(shè)與共享”項(xiàng)目,目的是以環(huán)境質(zhì)量、環(huán)境科研和生態(tài)環(huán)境數(shù)據(jù)為核心,研制一批高質(zhì)量的具有環(huán)保系統(tǒng)數(shù)據(jù)特征的標(biāo)準(zhǔn)數(shù)據(jù)集,初步建立國(guó)家級(jí)環(huán)境科學(xué)分布式共享服務(wù)網(wǎng)絡(luò)體系[14],服務(wù)于環(huán)境管理(目前尚在建設(shè)中)。我國(guó)在環(huán)境數(shù)據(jù)共享的框架[1]及構(gòu)建技術(shù)方面[15-17]已開(kāi)展了一些研究,建立了一批環(huán)境數(shù)據(jù)共享平臺(tái)[18-24],服務(wù)于特定領(lǐng)域的科研項(xiàng)目。近年來(lái),隨著面向 服 務(wù)的架構(gòu) (serviceoriented architecture,SOA)技術(shù)的成熟,該技術(shù)逐漸應(yīng)用于一些共享平臺(tái)的建設(shè),如地球系統(tǒng)科學(xué)數(shù)據(jù)共享平臺(tái)基于SOA技術(shù)實(shí)現(xiàn)了分站點(diǎn)的注冊(cè),即數(shù)據(jù)同步[25];段曉宇[26]研究了基于SOA的交通信息共享平臺(tái)體系架構(gòu),實(shí)現(xiàn)了不同系統(tǒng)間交通信息的交換功能;周英[27]探討了SOA的技術(shù)實(shí)現(xiàn),并在校園信息共享平臺(tái)中基于ASP.Net構(gòu)建了學(xué)籍信息查詢(xún)Web服務(wù)的發(fā)布及調(diào)用。
總體來(lái)看,我國(guó)環(huán)境科學(xué)數(shù)據(jù)共享還存在以下問(wèn)題:目前已經(jīng)建立的共享平臺(tái)或信息發(fā)布網(wǎng)絡(luò),通常只面向某類(lèi)環(huán)境要素,這些數(shù)據(jù)資源異構(gòu)、分散且共享范圍有限;大部分共享平臺(tái)網(wǎng)站主要提供元數(shù)據(jù)或?qū)傩詳?shù)據(jù)共享,環(huán)境空間數(shù)據(jù)共享資源獲取困難;缺乏面向管理、科研及公眾服務(wù)的,集成各類(lèi)環(huán)境數(shù)據(jù)的大型綜合性環(huán)境共享平臺(tái)。針對(duì)這些問(wèn)題,筆者提出一種基于SOA架構(gòu)的環(huán)境科學(xué)數(shù)據(jù)共享平臺(tái)構(gòu)建方法,該平臺(tái)可集成各類(lèi)異構(gòu)環(huán)境科學(xué)數(shù)據(jù),具有開(kāi)放性、可擴(kuò)展性,可為我國(guó)環(huán)境科學(xué)數(shù)據(jù)的共享提供參考。
環(huán)境科學(xué)數(shù)據(jù)共享平臺(tái)的體系架構(gòu)決定了平臺(tái)的組件構(gòu)成及其相互間的通訊模式,其將影響環(huán)境科學(xué)數(shù)據(jù)共享服務(wù)的水平及質(zhì)量,表現(xiàn)為共享平臺(tái)的互操作性、可擴(kuò)展性、開(kāi)放性等要求。采用面向服務(wù)的體系架構(gòu)SOA,在基于網(wǎng)絡(luò)的分布式環(huán)境中,將各類(lèi)環(huán)境數(shù)據(jù)的元數(shù)據(jù)共享、空間數(shù)據(jù)共享、資源注冊(cè)等各種功能以服務(wù)的形式提供給用戶(hù)。
SOA架構(gòu)的基本元素是服務(wù),任何業(yè)務(wù)功能都能被作為提供的一個(gè)服務(wù)使用,應(yīng)用系統(tǒng)是一系列服務(wù)的集成[28]。SOA通過(guò)一組實(shí)體提供和消費(fèi)服務(wù)實(shí)現(xiàn)異構(gòu)系統(tǒng)之間的互操作。這些服務(wù)具有松耦合、獨(dú)立、可互操作、位置明確,可通過(guò)網(wǎng)絡(luò)查找其地址等特點(diǎn),服務(wù)的接口采用中立的方式定義,可使用統(tǒng)一和標(biāo)準(zhǔn)的方式進(jìn)行通信,獨(dú)立于具體實(shí)現(xiàn)服務(wù)的硬件平臺(tái)、操作系統(tǒng)和編程語(yǔ)言等[29]。
基于SOA架構(gòu)搭建的環(huán)境科學(xué)數(shù)據(jù)共享平臺(tái)系統(tǒng)架構(gòu)如圖1所示。
圖1 基于SOA的環(huán)境科學(xué)數(shù)據(jù)共享平臺(tái)架構(gòu)Fig.1 Environmental data sharing platform based on service oriented architecture
平臺(tái)的數(shù)據(jù)層,包括平臺(tái)本地?cái)?shù)據(jù)資源及外部數(shù)據(jù)資源,數(shù)據(jù)資源通過(guò)元數(shù)據(jù)注冊(cè)將其元數(shù)據(jù)信息存入平臺(tái)元數(shù)據(jù)庫(kù)。本地及第三方持有的空間數(shù)據(jù)服務(wù)、外部數(shù)據(jù)源、網(wǎng)絡(luò)發(fā)布數(shù)據(jù)、其他數(shù)據(jù)共享網(wǎng)站則也可以注冊(cè)服務(wù)的方式注冊(cè)為平臺(tái)的共享資源。數(shù)據(jù)資源及元數(shù)據(jù)庫(kù)、服務(wù)索引庫(kù)共同為服務(wù)應(yīng)用層提供數(shù)據(jù)支撐。
平臺(tái)的服務(wù)層,主要業(yè)務(wù)應(yīng)用功能以服務(wù)的形式提供,由服務(wù)策略、服務(wù)管理以及具體的服務(wù)構(gòu)成。服務(wù)由Web服務(wù)(Web Service)及Service GIS服務(wù)構(gòu)建,分別提供屬性數(shù)據(jù)服務(wù)及空間數(shù)據(jù)服務(wù)。二者分別基于XML、GML語(yǔ)言,采用通用的數(shù)據(jù)服務(wù)/協(xié)議/消息傳遞(SOAP/WSDL/UDDI)機(jī)制,共同構(gòu)建數(shù)據(jù)共享服務(wù),并以O(shè)GC服務(wù)、SOAP服務(wù)、API接口等不同形式發(fā)布。各類(lèi)服務(wù)以組裝、集成的方式搭建成系統(tǒng),共享平臺(tái)服務(wù)由元數(shù)據(jù)服務(wù)、空間數(shù)據(jù)服務(wù)、網(wǎng)絡(luò)數(shù)據(jù)共享服務(wù)、異構(gòu)數(shù)據(jù)資源注冊(cè)服務(wù)以及平臺(tái)管理服務(wù)等組建而成。由于采用通用的數(shù)據(jù)互操作協(xié)議,在SOA架構(gòu)下,各種服務(wù)可進(jìn)行統(tǒng)一注冊(cè)、管理、發(fā)現(xiàn)與應(yīng)用,同時(shí)也可方便地進(jìn)行服務(wù)或數(shù)據(jù)資源節(jié)點(diǎn)的擴(kuò)展,從而保障了平臺(tái)的開(kāi)放性和可擴(kuò)展性。
平臺(tái)的應(yīng)用層,面向環(huán)境管理與職能部門(mén)、科研部門(mén)、企業(yè)、公眾等各類(lèi)用戶(hù),用戶(hù)通過(guò)平臺(tái)界面提交指令并獲取共享平臺(tái)返回的各類(lèi)數(shù)據(jù)服務(wù)功能。
環(huán)境科學(xué)數(shù)據(jù)庫(kù)的構(gòu)建是數(shù)據(jù)共享平臺(tái)的核心。環(huán)境科學(xué)數(shù)據(jù)類(lèi)型復(fù)雜,存在多源、異構(gòu)、海量等特點(diǎn),包含空間數(shù)據(jù)和屬性數(shù)據(jù)、多數(shù)據(jù)類(lèi)型、多數(shù)據(jù)格式、多空間尺度和多時(shí)間尺度等。收集各類(lèi)環(huán)境科學(xué)數(shù)據(jù),設(shè)計(jì)其分類(lèi)體系,構(gòu)建共享平臺(tái)環(huán)境科學(xué)數(shù)據(jù)分類(lèi)體系(圖2)。從提供數(shù)據(jù)服務(wù)的方式劃分,分為空間數(shù)據(jù)和屬性數(shù)據(jù)兩大類(lèi)。空間數(shù)據(jù)可提供空間數(shù)據(jù)服務(wù)及元數(shù)據(jù)服務(wù),屬性數(shù)據(jù)可提供元數(shù)據(jù)服務(wù)??臻g數(shù)據(jù)分為環(huán)境專(zhuān)題數(shù)據(jù)、基礎(chǔ)地理數(shù)據(jù)、遙感影像數(shù)據(jù)以及數(shù)字高程模型(DEM)數(shù)據(jù);其中矢量數(shù)據(jù)又按照空間尺度、時(shí)間尺度以及圖層進(jìn)行組織。屬性數(shù)據(jù)包括環(huán)境質(zhì)量監(jiān)測(cè)數(shù)據(jù)、環(huán)境統(tǒng)計(jì)數(shù)據(jù)以及污染源數(shù)據(jù);然后再按照時(shí)間尺度以及環(huán)境要素分類(lèi)。
圖2 環(huán)境科學(xué)數(shù)據(jù)分類(lèi)Fig.2 Environmental data classification
在共享平臺(tái)數(shù)據(jù)分類(lèi)的基礎(chǔ)上,進(jìn)行數(shù)據(jù)整理及建庫(kù)工作,流程如圖3所示。對(duì)各類(lèi)環(huán)境數(shù)據(jù)進(jìn)行規(guī)范化分類(lèi)及編碼,其中空間數(shù)據(jù)需要進(jìn)行坐標(biāo)轉(zhuǎn)換、統(tǒng)一空間基礎(chǔ)、數(shù)據(jù)編輯等工作。對(duì)數(shù)據(jù)進(jìn)行完整性、邏輯一致性、空間精度等數(shù)據(jù)質(zhì)量檢查,確保數(shù)據(jù)庫(kù)質(zhì)量。
對(duì)實(shí)體數(shù)據(jù)庫(kù)整理完成之后,提取其元數(shù)據(jù)信息,包括數(shù)據(jù)內(nèi)容、數(shù)據(jù)類(lèi)型、數(shù)據(jù)量、參照系統(tǒng)、數(shù)據(jù)質(zhì)量等基本信息,以及分發(fā)單位、聯(lián)系信息等,將元數(shù)據(jù)錄入到平臺(tái)的元數(shù)據(jù)庫(kù)。
圖3 環(huán)境科學(xué)數(shù)據(jù)整理與建庫(kù)流程Fig.3 Flow chart of environmental database building
經(jīng)過(guò)數(shù)據(jù)整理建庫(kù)工作,建成包含環(huán)境專(zhuān)題數(shù)據(jù)、基礎(chǔ)地理數(shù)據(jù)、遙感影像數(shù)據(jù)以及DEM等各類(lèi)空間數(shù)據(jù)庫(kù)。其中矢量數(shù)據(jù)采用ArcSDE空間數(shù)據(jù)引擎、Shape文件等方式存儲(chǔ),遙感影像以文件方式存儲(chǔ),屬性數(shù)據(jù)以及元數(shù)據(jù)采用Oracle數(shù)據(jù)庫(kù)進(jìn)行存儲(chǔ),總數(shù)據(jù)量超過(guò)4 GB。錄入元數(shù)據(jù)信息3 000多條。
環(huán)境科學(xué)數(shù)據(jù)共享平臺(tái)基于SOA架構(gòu),采用J2EE(Java 2 Platform,Enterprise Edition)開(kāi)發(fā)平臺(tái),開(kāi)發(fā)工具為Eclipse 4.3,Web服務(wù)器為T(mén)omcat 7.0。系統(tǒng)功能主要基于Web服務(wù)或Service GIS技術(shù)構(gòu)建,主要功能包括元數(shù)據(jù)服務(wù)、空間數(shù)據(jù)服務(wù)、數(shù)據(jù)資源注冊(cè)服務(wù)、統(tǒng)計(jì)分析服務(wù)以及系統(tǒng)用戶(hù)與權(quán)限管理等功能。
3.1 元數(shù)據(jù)服務(wù)
根據(jù)不同的用戶(hù)權(quán)限提供元數(shù)據(jù)服務(wù),包括元數(shù)據(jù)錄入與編輯、元數(shù)據(jù)注冊(cè)與審核、元數(shù)據(jù)查詢(xún)以及目錄管理等功能(圖4)。元數(shù)據(jù)編輯人員可進(jìn)行元數(shù)據(jù)錄入、編輯、刪除等操作;平臺(tái)外部用戶(hù)注冊(cè)以后,可進(jìn)行元數(shù)據(jù)注冊(cè),并能管理自己注冊(cè)的所有元數(shù)據(jù)信息;系統(tǒng)管理員對(duì)提交注冊(cè)的元數(shù)據(jù)進(jìn)行審核,審核通過(guò)以后,改元數(shù)據(jù)信息進(jìn)入元數(shù)據(jù)庫(kù),正式對(duì)外發(fā)布;平臺(tái)所有用戶(hù)均可使用元數(shù)據(jù)查詢(xún)以及元數(shù)據(jù)目錄服務(wù)。
圖4 元數(shù)據(jù)服務(wù)功能Fig.4 Functions of metadata services
元數(shù)據(jù)服務(wù)功能以Web服務(wù)形式提供,Web服務(wù)的開(kāi)發(fā)流程如圖5所示。Web服務(wù)的實(shí)現(xiàn)包括服務(wù)器端開(kāi)發(fā)及客戶(hù)端開(kāi)發(fā)。
圖5 Web服務(wù)開(kāi)發(fā)流程Fig.5 Development process of Web Services
服務(wù)器端開(kāi)發(fā)步驟:1)創(chuàng)建一個(gè)Web服務(wù)項(xiàng)目;2)編寫(xiě)Web Service類(lèi),只需要用@Web Service標(biāo)注Java類(lèi)為Web Service類(lèi),@Web Method標(biāo)注類(lèi)方法為Web Service方法,這些被標(biāo)記的類(lèi)和方法,在服務(wù)發(fā)布之后,就能被客戶(hù)端調(diào)用;3)在Web.xml文件中進(jìn)行配置申明服務(wù);4)在Web服務(wù)器Tomcat下發(fā)布服務(wù);5)產(chǎn)生服務(wù)描述文件WSDL(Web Services description Language),供客戶(hù)端獲取。如以下幾行為在服務(wù)器端編寫(xiě)的Web Service類(lèi)及方法。
基于Eclipse的JAX-WS(Java API for XML Web Services)開(kāi)發(fā)包進(jìn)行客戶(hù)端的開(kāi)發(fā):1)獲取WSDL文檔;2)解析文件內(nèi)容,了解服務(wù)器端的服務(wù)信息以及調(diào)用方式,生成客戶(hù)端Stub,在這個(gè)過(guò)程中,可以調(diào)用EJB(Enterprise JavaBean)組件層中開(kāi)發(fā)的組件,如元數(shù)據(jù)錄入、編輯、注冊(cè)等組件,實(shí)現(xiàn)復(fù)雜的業(yè)務(wù)邏輯操作,基于JDBC組件實(shí)現(xiàn)行數(shù)據(jù)庫(kù)的訪問(wèn);3)編寫(xiě)客戶(hù)端SOAP請(qǐng)求消息(指定調(diào)用的方法以及調(diào)用的參數(shù)),發(fā)送給服務(wù)器端;4)等待服務(wù)器端返回的SOAP回應(yīng)消息,解析得到的返回值;5)通過(guò)JSP(Java Server Pages)技術(shù)動(dòng)態(tài)生成頁(yè)面,顯示最終結(jié)果。
3.2 空間與屬性數(shù)據(jù)互檢索功能
空間與屬性數(shù)據(jù)互檢索是指元數(shù)據(jù)及其空間位置的互相檢索功能,可通過(guò)元數(shù)據(jù)屬性中的空間位置信息定位到該元數(shù)據(jù)對(duì)應(yīng)的空間數(shù)據(jù),也可通過(guò)在地圖中進(jìn)行空間查詢(xún),獲取該空間區(qū)域的所有元數(shù)據(jù)信息,這樣用戶(hù)可方便地了解某一地區(qū)所有的數(shù)據(jù)資源。
如用戶(hù)通過(guò)元數(shù)據(jù)檢索獲取了一條元數(shù)據(jù)記錄,當(dāng)點(diǎn)擊“查看數(shù)據(jù)集”時(shí),如果該數(shù)據(jù)集是空間數(shù)據(jù)且發(fā)布了空間數(shù)據(jù)服務(wù),則系統(tǒng)會(huì)打開(kāi)該空間數(shù)據(jù)服務(wù)頁(yè)面;如果該數(shù)據(jù)集是屬性數(shù)據(jù),則系統(tǒng)打開(kāi)數(shù)據(jù)集的詳細(xì)屬性頁(yè)面。當(dāng)用戶(hù)進(jìn)行空間數(shù)據(jù)檢索時(shí),通過(guò)在地圖窗口中拉框操作或者輸入行政區(qū)域名稱(chēng),則系統(tǒng)會(huì)查詢(xún)?cè)摽臻g區(qū)域范圍內(nèi)所包含的所有元數(shù)據(jù)信息(圖6)。
空間數(shù)據(jù)與屬性數(shù)據(jù)互檢索功能的主要邏輯處理功能業(yè)務(wù)邏輯層通過(guò)EJB組件完成,然后將其封裝為Web服務(wù),封裝流程同3.1節(jié)元數(shù)據(jù)服務(wù)開(kāi)發(fā)流程,在服務(wù)器端增加申明空間數(shù)據(jù)檢索及屬性數(shù)據(jù)檢索Web服務(wù)類(lèi),然后在JAX-WS中增加相應(yīng)Web服務(wù)類(lèi)客戶(hù)端的開(kāi)發(fā)。
3.3 空間數(shù)據(jù)聚合服務(wù)功能
目前大部分?jǐn)?shù)據(jù)共享平臺(tái)直接提供的數(shù)據(jù)以屬性數(shù)據(jù)為主,空間數(shù)據(jù)的共享主要通過(guò)申請(qǐng)審批方式獲取,數(shù)據(jù)獲取手續(xù)繁瑣且周期較長(zhǎng)。環(huán)境科學(xué)數(shù)據(jù)共享平臺(tái)提供集環(huán)境專(zhuān)題、基礎(chǔ)地理、遙感等多種類(lèi)型、多種來(lái)源的空間數(shù)據(jù)聚合服務(wù),用戶(hù)通過(guò)網(wǎng)絡(luò)就可直接獲取空間數(shù)據(jù)進(jìn)行應(yīng)用。
圖6 基于空間范圍查詢(xún)?cè)獢?shù)據(jù)Fig.6 Metadata retrieval by spatial dimensions
空間數(shù)據(jù)聚合服務(wù)通過(guò)服務(wù)式 GIS(Service GIS)技術(shù)構(gòu)建[30],Service GIS是一種面向SOA的GIS技術(shù)體系,以美國(guó)開(kāi)放地理信息系統(tǒng)協(xié)會(huì)(OGC)指定的數(shù)據(jù)共享規(guī)范,將GIS功能以服務(wù)的形式發(fā)布,用統(tǒng)一協(xié)議的方式使客戶(hù)端能夠讀取任意數(shù)據(jù)服務(wù)器提供的空間數(shù)據(jù),同時(shí)支持各種標(biāo)準(zhǔn)Web服務(wù)協(xié)議(如REST服務(wù)、OGC服務(wù)、SOAP服務(wù)等)之間的再聚合等,使服務(wù)端、客戶(hù)端及第三方應(yīng)用能進(jìn)行多層次的聚合,為客戶(hù)端應(yīng)用提供矢量數(shù)據(jù)服務(wù)、柵格數(shù)據(jù)服務(wù)以及地圖服務(wù)(圖7)。共享平臺(tái)的空間數(shù)據(jù)聚合服務(wù)以幾種方式提供:1)平臺(tái)本身的環(huán)境專(zhuān)題數(shù)據(jù)直接以服務(wù)形式發(fā)布;2)調(diào)用其他網(wǎng)站發(fā)布的基礎(chǔ)地理數(shù)據(jù)作為底圖,加載本地環(huán)境專(zhuān)題數(shù)據(jù),然后發(fā)布成服務(wù);3)直接調(diào)用并發(fā)布其他網(wǎng)站的空間數(shù)據(jù)服務(wù)。
圖7 空間數(shù)據(jù)服務(wù)聚合服務(wù)Fig.7 Technology of spatial data aggregation services
客戶(hù)端可通過(guò)在瀏覽器中輸入服務(wù)的地址、在GIS軟件平臺(tái)中直接加載Web服務(wù),獲取對(duì)空間數(shù)據(jù)的基本操作或高級(jí)分析功能。如果客戶(hù)端沒(méi)有GIS平臺(tái),也可通過(guò)瀏覽器方式直接訪問(wèn)服務(wù),并通過(guò)網(wǎng)址加載其他的Web服務(wù)或者本地?cái)?shù)據(jù),進(jìn)行聚合服務(wù)應(yīng)用,實(shí)現(xiàn)多種客戶(hù)端跨平臺(tái)、跨網(wǎng)絡(luò)、跨語(yǔ)言調(diào)用。
圖8為通過(guò)空間數(shù)據(jù)聚合服務(wù)組件提供的空間數(shù)據(jù)服務(wù),左側(cè)為本地發(fā)布的環(huán)境專(zhuān)題數(shù)據(jù)服務(wù),包括全國(guó)地貌、土壤類(lèi)型等數(shù)據(jù),中間的地圖是調(diào)用ArcGISOnline網(wǎng)站發(fā)布的基礎(chǔ)地理信息數(shù)據(jù)作為底圖(包括基礎(chǔ)地理數(shù)據(jù)、遙感影像等),環(huán)境專(zhuān)題數(shù)據(jù)可作為圖層直接加載到地圖中。每個(gè)空間數(shù)據(jù)服務(wù)同時(shí)提供獲取該服務(wù)的鏈接,包括URL地址、接口等,用戶(hù)可直接通過(guò)網(wǎng)絡(luò)訪問(wèn)或在地圖GIS平臺(tái)中打開(kāi)數(shù)據(jù),與本地?cái)?shù)據(jù)集成應(yīng)用。
圖8 環(huán)境空間數(shù)據(jù)聚合服務(wù)Fig.8 Application of environmental data aggregation services
3.4 網(wǎng)絡(luò)數(shù)據(jù)抽取功能
基于中間件技術(shù)研制了網(wǎng)絡(luò)數(shù)據(jù)抽取功能,將國(guó)家水文水資源共享平臺(tái)、中國(guó)氣象科學(xué)數(shù)據(jù)共享服務(wù)網(wǎng)等網(wǎng)站每日發(fā)布的數(shù)據(jù)(氣象、水文等),抓取、存儲(chǔ)并發(fā)布到環(huán)境科學(xué)數(shù)據(jù)共享平臺(tái),實(shí)現(xiàn)了異構(gòu)網(wǎng)絡(luò)數(shù)據(jù)的共享。
網(wǎng)絡(luò)數(shù)據(jù)抽取中間件由服務(wù)器端組件和客戶(hù)端組件構(gòu)成,客戶(hù)端主要功能包括建立與服務(wù)端的連接通道;按照數(shù)據(jù)訪問(wèn)協(xié)議,向數(shù)據(jù)抽取中間件服務(wù)端提交查詢(xún)字符串,接收并解析查詢(xún)結(jié)果。服務(wù)器端主要功能包括建立到數(shù)據(jù)服務(wù)器數(shù)據(jù)庫(kù)的連接;監(jiān)聽(tīng)、探測(cè)客戶(hù)端的連接請(qǐng)求;根據(jù)通用數(shù)據(jù)訪問(wèn)協(xié)議,解析客戶(hù)端的數(shù)據(jù)訪問(wèn)請(qǐng)求并執(zhí)行SQL語(yǔ)句,將結(jié)果數(shù)據(jù)發(fā)送至數(shù)據(jù)請(qǐng)求的客戶(hù)端;判斷負(fù)載,實(shí)現(xiàn)服務(wù)端負(fù)載平衡。
通過(guò)網(wǎng)絡(luò)數(shù)據(jù)抽取中間件在網(wǎng)絡(luò)中查找數(shù)據(jù),將查找的信息解析成結(jié)構(gòu)化數(shù)據(jù),同時(shí)提起其元數(shù)據(jù)信息,分別存入平臺(tái)的數(shù)據(jù)庫(kù)及元數(shù)據(jù)庫(kù),然后將元數(shù)據(jù)及實(shí)體數(shù)據(jù),以服務(wù)形式發(fā)布到環(huán)境科學(xué)數(shù)據(jù)共享平臺(tái)。
通過(guò)網(wǎng)絡(luò)數(shù)據(jù)抽取服務(wù)訪問(wèn)國(guó)家水文水資源共享平臺(tái)(http://xxfb.hydroinfo.gov.cn/),抽取其每日發(fā)布的全國(guó)重點(diǎn)雨情、大江大河水庫(kù)實(shí)時(shí)水情等數(shù)據(jù),并將其發(fā)布到環(huán)境信息共享平臺(tái),提供元數(shù)據(jù)及實(shí)體數(shù)據(jù)的下載(圖9)。
圖9 水文數(shù)據(jù)抽取及共享Fig.9 Data mining and sharing of hydrological data
3.5 異構(gòu)數(shù)據(jù)資源注冊(cè)功能
共享平臺(tái)提供異構(gòu)數(shù)據(jù)資源注冊(cè)功能,通過(guò)提供通用URL資源、空間信息服務(wù)、FTP資源以及網(wǎng)頁(yè)目錄服務(wù)等多種服務(wù)注冊(cè)方式[22],每種類(lèi)型封裝了對(duì)相應(yīng)的數(shù)據(jù)規(guī)范和類(lèi)型的支持,將其他網(wǎng)站的數(shù)據(jù)服務(wù)、空間信息服務(wù)、FTP以及目錄資源等注冊(cè)到共享平臺(tái),實(shí)現(xiàn)更高效的資源共享服務(wù)的擴(kuò)展。具體技術(shù)細(xì)節(jié)參見(jiàn)文獻(xiàn)[22]。共享平臺(tái)基于空間信息服務(wù)方式實(shí)現(xiàn)了ArcGISOnline網(wǎng)站空間數(shù)據(jù)資源的注冊(cè)及應(yīng)用。
基于SOA架構(gòu)思想,采用J2EE平臺(tái)的SSH開(kāi)發(fā)框架,綜合應(yīng)用Web服務(wù)、Service GIS、中間件等技術(shù),建立了中國(guó)環(huán)境科學(xué)數(shù)據(jù)共享平臺(tái),基于Tomcat 6.0對(duì)平臺(tái)進(jìn)行部署及網(wǎng)絡(luò)發(fā)布。該平臺(tái)實(shí)現(xiàn)了環(huán)境專(zhuān)題數(shù)據(jù),基礎(chǔ)地理數(shù)據(jù),遙感影像、水文、氣象等各類(lèi)異構(gòu)環(huán)境資源的共享服務(wù);實(shí)現(xiàn)了國(guó)家水文水資源科學(xué)數(shù)據(jù)共享網(wǎng)、中國(guó)氣象科學(xué)數(shù)據(jù)共享服務(wù)網(wǎng)的數(shù)據(jù)抓取及共享;實(shí)現(xiàn)了ArcGISOnline等網(wǎng)站的空間數(shù)據(jù)注冊(cè)及聚合服務(wù)。
探討了基于SOA的系統(tǒng)技術(shù)架構(gòu),開(kāi)發(fā)了環(huán)境科學(xué)數(shù)據(jù)共享平臺(tái),建立了環(huán)境科學(xué)數(shù)據(jù)庫(kù)及元數(shù)據(jù)庫(kù),綜合應(yīng)用SOA、Web服務(wù)、Service GIS、中間件等技術(shù)實(shí)現(xiàn)了元數(shù)據(jù)服務(wù),空間與屬性數(shù)據(jù)互檢索服務(wù),空間數(shù)據(jù)聚合服務(wù),網(wǎng)絡(luò)數(shù)據(jù)抽取服務(wù)以及異構(gòu)資源注冊(cè)服務(wù)等功能,集成了環(huán)境專(zhuān)題數(shù)據(jù),基礎(chǔ)地理數(shù)據(jù),遙感影像、水文、氣象、空間數(shù)據(jù)服務(wù)等各類(lèi)異構(gòu)環(huán)境資源,實(shí)現(xiàn)了各類(lèi)異構(gòu)環(huán)境數(shù)據(jù)資源的共享及注冊(cè)服務(wù)。平臺(tái)為構(gòu)建我國(guó)大型綜合性環(huán)境共享平臺(tái)提供了可供參考的模式。該平臺(tái)已為國(guó)家水體污染控制與治理科技重大專(zhuān)項(xiàng)“流域水環(huán)境風(fēng)險(xiǎn)評(píng)估與預(yù)警平臺(tái)”等多個(gè)科研項(xiàng)目提供了數(shù)據(jù)服務(wù)支持,具有較強(qiáng)的實(shí)用性和可擴(kuò)展性。
環(huán)境科學(xué)數(shù)據(jù)共享平臺(tái)的數(shù)據(jù)資源共享模式及長(zhǎng)效運(yùn)行機(jī)制有待進(jìn)一步探討。以環(huán)境科學(xué)數(shù)據(jù)分中心的模式不斷集成、擴(kuò)展環(huán)境科學(xué)數(shù)據(jù)共享資源,構(gòu)建資源更為豐富、多節(jié)點(diǎn)的環(huán)境數(shù)據(jù)共享平臺(tái);在此基礎(chǔ)上,構(gòu)建深層次的環(huán)境數(shù)據(jù)挖掘與應(yīng)用服務(wù),以進(jìn)一步提升共享平臺(tái)的服務(wù)價(jià)值與應(yīng)用水平。
[1] 李順,許富春,王利強(qiáng),等.國(guó)家環(huán)境數(shù)據(jù)共享與服務(wù)體系研究[J].中國(guó)環(huán)境管理,2011,3(2):11-17.
[2] 盧淑萍.環(huán)境信息資源整合的初探[J].江西能源,2008(4):38-40.
[3] 卜偉,黃洪.信息共享平臺(tái)在環(huán)境管理中的支撐作用[J].環(huán)境科學(xué)與管理,2008,33(8):28-29.
[4] 劉闖.美國(guó)國(guó)有科學(xué)數(shù)據(jù)共享管理機(jī)制及對(duì)我國(guó)的啟示[J].中國(guó)基礎(chǔ)科學(xué),2003,5(1):34-39.
[5] 邢黎聞.奧地利與歐洲“共享環(huán)境信息系統(tǒng)(SEIS)”[J].信息化建設(shè),2009(7):52-53.
[6] SAYOGO D S,PARDO T A.Exploring the determinants of scientific data sharing:understanding the motivation to publish research data[J].Government Information Quarterly,2013,30(Suppl 1):19-31.
[7] BERTZKY M,STOLL-KLEEMANN S.Multi-level discrepancies with sharing data on protected areas:what we have and what we need for the global village[J].Journal of Environmental Management,2009,90(1):8-24.
[8] LEINFELDER B,TAO J,COSTA D,et al.A metadata-driven approach to loading and querying heterogeneous scientific data[J].Ecological Informatics,2010,5(1):3-8.
[9] CONNER L G,AMES D P,GILL R A.HydroServer Lite as an open source solution for archiving and sharing environmental data for independent university labs[J].Ecological Informatics,2013,18(6):171-177.
[10] HAN W G,DI L P,ZHAO P S,et al.DEM explorer:an online interoperable DEM data sharing and analysis system[J]. Environmental Modelling&Software,2012,38(12):101-107.
[11] 諸云強(qiáng),孫九林,廖順寶,等.地球系統(tǒng)科學(xué)數(shù)據(jù)共享研究與實(shí)踐[J].地球信息科學(xué)學(xué)報(bào),2010,12(1):1-8.
[12] 趙勝鋼.國(guó)家農(nóng)業(yè)科學(xué)數(shù)據(jù)共享平臺(tái)體系結(jié)構(gòu)研究[D].北京:中國(guó)農(nóng)業(yè)科學(xué)院,2009.
[13] 郭亞曦.我國(guó)氣象科學(xué)數(shù)據(jù)共享系統(tǒng)建設(shè)與服務(wù)[J].中國(guó)科技資源導(dǎo)刊,2008,40(1):14-18.
[14] 國(guó)家環(huán)境保護(hù)總局信息中心.科學(xué)數(shù)據(jù)共享工程與國(guó)家環(huán)境數(shù)據(jù)中心建設(shè)[EB/OL].(2005-11-09).http://www.zhb.gov. cn/ztbd/jlh/zg/200511/t20051109_71462.htm.
[15] 萬(wàn)軍,朱蕾,朱玉琴.環(huán)境基礎(chǔ)數(shù)據(jù)資源共享平臺(tái)研究[J].裝備環(huán)境工程,2010,7(6):228-230.
[16] 楊大勇,林奎.環(huán)境信息共享研究[J].測(cè)繪科學(xué),2007,32(5):188-189.
[17] 全鼎余,趙坤榮,楊大勇,等.環(huán)境監(jiān)測(cè)信息共享與時(shí)空表達(dá)研究[J].計(jì)算機(jī)測(cè)量與控制,2011,19(3):539-542.
[18] 馮莉,劉曉玫,何報(bào)金.基于智能客戶(hù)端的太湖流域數(shù)據(jù)共享系統(tǒng)實(shí)現(xiàn)[J].測(cè)繪科學(xué),2007,32(1):93-95.
[19] 錢(qián)大君,吳健平,余柏蒗,等.上海市資源與環(huán)境數(shù)據(jù)共享平臺(tái)的實(shí)現(xiàn)[J].計(jì)算機(jī)工程,2008,34(10):283-285.
[20] 何春銀.江蘇省太湖流域水環(huán)境信息共享平臺(tái)集成關(guān)鍵技術(shù)及其應(yīng)用[J].環(huán)境監(jiān)測(cè)管理與技術(shù),2009,21(6):58-61.
[21] 孫維國(guó).基于智能客戶(hù)端的岷江流域數(shù)據(jù)共享系統(tǒng)研究[D].黑龍江:東北林業(yè)大學(xué),2009:1-3.
[22] 馬紅旺,高振記,方利,等.基于Geoportal的流域水環(huán)境信息共享平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)[J].環(huán)境工程技術(shù)學(xué)報(bào),2012,2(5):390-395.
[23] 許亞飛,畢如田,余勤飛,等.基于WebGIS的污染場(chǎng)地信息共享平臺(tái)的架構(gòu)設(shè)計(jì)與應(yīng)用[J].環(huán)境工程技術(shù)學(xué)報(bào),2013,3(1):71-77.
[24] 孫強(qiáng),李順,陸晨,等.基于信息資源規(guī)劃的流域水環(huán)境數(shù)據(jù)中心設(shè)計(jì)與實(shí)踐[J].中國(guó)環(huán)境監(jiān)測(cè),2013,29(1):127-132.
[25] 諸云強(qiáng),馮敏,宋佳,等.基于SOA的地球系統(tǒng)科學(xué)數(shù)據(jù)共享平臺(tái)架構(gòu)設(shè)計(jì)與實(shí)現(xiàn)[J].地球信息科學(xué)學(xué)報(bào),2009,11(1):1-9.
[26] 段曉宇.基于SOA的分布式交通信息共享平臺(tái)研究[D].北京:北京交通大學(xué),2009:47-52.
[27] 周英.基于SOA技術(shù)的校務(wù)信息共享平臺(tái)研究與設(shè)計(jì)[D].湖南:湖南大學(xué),2012:39-40.
[28] LINTHICUM D S.云計(jì)算與SOA[M].馬國(guó)耀,譯.北京:人民郵電出版社,2011:3-5.
[29] 姜國(guó)華,李曉林,季英珍.基于SOA的框架模型研究[J].電腦與信息技術(shù),2007,15(6):37-39.
[30] 宋關(guān)福.Service GIS引發(fā)地理信息服務(wù)共享與聚合革命[J].地理信息世界,2008(6):83-85.○
Design and Implementation of Environmental Data Sharing Platform Based on SOA
FANG Li1,WANG Wen-jie1,GAO Zhen-ji1,WANG Ming-hao1,HUA Jie1,ZENG Xiu-li1,2
1.Chinese Research Academy of Environmental Sciences,Beijing 100012,China
2.College of Architecture and Urban Planning,Hunan University of Science and Technology,Xiangtan 411201,China
An environmental data sharing platform based on service oriented architecture was designed and implemented to share heterogeneous environmental data scattered in various systems and locations characterized by heterogeneous and lack of spatial data sharing.Some key technologies such as service oriented architecture(SOA),Web Service,Service GIS,and middleware technology were integrated and applied in this platform to realize functions such as metadata service,attribute data and spatial data mutually retrieving service,spatial data aggregation service,web data mining service,and multi-service register service.The platform can share different environmental data such as environmental thematic data,fundamental geographic data,remote sensing images,hydrological and meteorological data,and spatial data services based on environmental databases and metabase.In addition,the platform based on service oriented architecture bears openness and expansibility so that various environmental data resources and spatial data services from networks can be integrated into the platform.
environmental data;data sharing platform;metadata;SOA;Service GIS;middleware
X320
A
10.3969/j.issn.1674-991X.2014.04.054
1674-991X(2014)04-0333-08
2013-11-19
國(guó)家水體污染控制與治理科技重大啟動(dòng)專(zhuān)項(xiàng)項(xiàng)目(2009ZX07528-004);中國(guó)環(huán)境科學(xué)研究院改革啟動(dòng)專(zhuān)項(xiàng)項(xiàng)目(2010GGQD04)
方利(1979—),女,副研究員,博士,主要從事GIS理論研究及技術(shù)應(yīng)用、環(huán)境信息集成等方向研究工作,fangdanli@163.com
*責(zé)任作者:高振記(1971—),男,副研究員,博士,主要從事地理信息系統(tǒng)應(yīng)用、地下水污染防治等方向研究工作,gaozj@craes.org.cn