楊 娟,陶葉青
(安徽省宿州學院,安徽 宿州234000)
基于SOAP的地理信息服務(wù)架構(gòu)設(shè)計
楊 娟,陶葉青
(安徽省宿州學院,安徽 宿州234000)
通過討論地理信息Web服務(wù)的研究現(xiàn)狀,探討了采用SOAP技術(shù)解決地理信息Web服務(wù)領(lǐng)域的應(yīng)用的可行性,并設(shè)計了一種基于SOAP的地理信息服務(wù)架構(gòu).
SOAP;地理信息服務(wù);松散耦合
隨著Internet的普及和延伸,GIS提供的信息不再局限于簡單的文字和數(shù)據(jù),還有圖形和圖像.基于Web的公眾型GIS應(yīng)用使更多的用戶可以通過Web得到地理信息服務(wù).此后,基于Internet平臺的地理信息服務(wù)技術(shù)將全面發(fā)展.
目前,大部分軟件系統(tǒng)可分割為三層體系結(jié)構(gòu):數(shù)據(jù)層、業(yè)務(wù)邏輯層和表現(xiàn)層.嚴格地說,這種三層(或多層)體系結(jié)構(gòu)只是B/S兩層體系的擴展和延伸,將局域網(wǎng)內(nèi)的應(yīng)用部分擴展到Internet上,從計算的分布上來說,并沒有擺脫嚴格區(qū)分客戶端和服務(wù)器限制.另一方面,當前基于DCOM或Java RMI等分布式計算平臺在面對極端異構(gòu)的Internet環(huán)境時,存在著一些缺點:它們各自有一套獨立的體系結(jié)構(gòu)和私有協(xié)議,從而導致不同模型的應(yīng)用系統(tǒng)之間通信非常不便;客戶端與服務(wù)器端要求必須緊密耦合,如果服務(wù)端的接口或執(zhí)行方式發(fā)生變化,將會導致客戶端無法執(zhí)行;現(xiàn)有的地理信息服務(wù)系統(tǒng)都是為某一特定的GIS數(shù)據(jù)及其應(yīng)用而設(shè)計的,系統(tǒng)之間的集成和互操作異常困難[1].
所以,如何實現(xiàn)各種網(wǎng)絡(luò)服務(wù)在Internet上的跨平臺、跨軟硬件的無縫集成,已成為IT業(yè)共同關(guān)注的問題.SOAP(簡單對象訪問協(xié)議),是為了解決由于用傳統(tǒng)方式提供 Web服務(wù)所產(chǎn)生的問題而提出的[2],有助于實現(xiàn)大量異構(gòu)程序和平臺之間的互操作性,從而使存在的應(yīng)用能夠被廣泛的用戶所訪問.
1 SOAP協(xié)議在地理信息服務(wù)中的應(yīng)用
地理信息Web服務(wù)結(jié)合了Web技術(shù)的新技術(shù)和新方法,能夠為行業(yè)和公眾提供多類型的地理信息服務(wù)支持.在國內(nèi)外,地理信息服務(wù)技術(shù)發(fā)展迅速,一些非盈利的國際化組織進行了許多標準的研究,各大GIS廠商也相繼發(fā)展相關(guān)前沿技術(shù)的研究.
現(xiàn)有兩個國際化組織進行了業(yè)界廣泛認可的標準化工作:一個是國際化標準組織ISO (International Standard Organization),另一個是開放地理信息系統(tǒng)協(xié)會OGC.
ISO的TC211小組 (簡稱ISO/TC211)側(cè)重于定義數(shù)據(jù)格式和相應(yīng)規(guī)范方面,定義了與GIS Web服務(wù)有關(guān)的框架與規(guī)范:空間子框架 (Spatial Sub Schema),元數(shù)據(jù) (Meta Data),質(zhì)量子框架 (Quality Sub Schema),通用要素模型 (General Feature Model)、應(yīng)用框架的規(guī)則 (Rules for Application Schema),坐標參照系統(tǒng) (Coordinate Ref.Sys),抽象服務(wù)規(guī)范 (Abstract Service Spec).
OGC是全球最大的空間信息互操作規(guī)范的制訂者和倡議者,它側(cè)重于共享方式方面,在參照ISO/TC211標準的基礎(chǔ)上制訂了相應(yīng)的地理信息服務(wù)規(guī)范,目前主要有四個地理信息服務(wù)的相關(guān)規(guī)范:(1)Web Map Services (網(wǎng)絡(luò)地圖服務(wù),WMS); (2)Web Feature Service (網(wǎng)絡(luò)要素服務(wù),WFS); (3)Web Coverage Servic (網(wǎng)絡(luò)Coverage服務(wù),WCS);(4)Web Register Service (網(wǎng)絡(luò)注冊服務(wù),WRS).為了研究Web服務(wù)對網(wǎng)絡(luò)地理信息服務(wù)的影響,OGC還啟動了OWS(OGC Web Services)項目進行研究[3].
在專業(yè)GIS廠商、研究機構(gòu)中,國外的ESRI,Intergraph等公司,國內(nèi)的SuperMap、等公司、機構(gòu)走在了前面.ESRI早在2002年就提出了g.NET戰(zhàn)略思想,把GIS系統(tǒng)的構(gòu)建方式和應(yīng)用從Intranet方式推動到了Internet方式.ESRI在2004年秋天發(fā)布的AcrGIS9中提供了基于Web Service思想的服務(wù)體系,該服務(wù)體系同時支持在NET和JavaEE這兩種體系平臺上的開發(fā)和應(yīng)用.在2008年ESRI推出了AcrGIS的9.3版本,這個版本中服務(wù)器GIS由ArcIMS、ArcGIS Image Server和ArcGIS Server三個部分組成,分別提供動態(tài)地圖、影像與處理的地理信息服務(wù)[4].2011年一月底,ESRI發(fā)布了免費使用在線地圖的消息[6].此處標明不管是商業(yè)還是非商業(yè),內(nèi)部還是外部應(yīng)用.這意味著開發(fā)一個商業(yè)Web應(yīng)用,用戶隨時可用高質(zhì)量的基礎(chǔ)地圖,不必再為使用ArcGIS Online地圖支付會員費了.國內(nèi)的SuperMap等公司也有相應(yīng)的產(chǎn)品,2007年9月,超圖發(fā)布了SuperMap GIS 2008,增加了SuperMap iServer 2008這一全新的Service GIS服務(wù)器軟件開發(fā)平臺.
Web服務(wù)技術(shù),主要有簡單對象訪問協(xié)議SOAP,Web服務(wù)描述語言WSDL以及通用描述、發(fā)現(xiàn)和集成UDDI.這三個標準可謂Web服務(wù)三劍客,極大地推動了Web服務(wù)的普及和發(fā)展,而SOAP協(xié)議更是Web服務(wù)技術(shù)的基礎(chǔ).
地理信息Web服務(wù)采用SOAP作為服務(wù)調(diào)用的協(xié)議,SOAP是一種基于XML的不依賴于傳輸協(xié)議的表示層協(xié)議,用來在應(yīng)用之間方便地以對象的形式交換數(shù)據(jù).目前,國內(nèi)外許多知名企業(yè)采用基于SOAP協(xié)議來實現(xiàn)地理信息Web服務(wù)系統(tǒng)架構(gòu).在國外,主要有ESRI的ArcGIS Server軟件.
ArcGIS Server是ESRI在ArcGIS 9.0系列產(chǎn)品中新推出的一個用于構(gòu)建集中管理、多用戶的企業(yè)級WebGIS應(yīng)用的平臺,開發(fā)者使用ArcGIS Server可以構(gòu)建Web應(yīng)用、Web服務(wù)、以及其它運行在標準的NET或J2EE Web服務(wù)器上的企業(yè)應(yīng)用.同時,ArcGIS Server提供基于SOAP和REST接口,用戶可根據(jù)自己的需要任意選擇其一進行開發(fā).開發(fā)環(huán)境,如NET或Java都提供基于SOAP的工具包,可以自動生成本地類等.
在國內(nèi),基于SOAP的地理信息Web服務(wù)的研究也得到了迅速的發(fā)展.在開發(fā)和應(yīng)用方面,目前提供公眾基礎(chǔ)Web地理信息服務(wù)的應(yīng)用比較多,基本上是政府服務(wù)公眾而建立的網(wǎng)站式服務(wù),包括旅游、購物、住宿、公交等多方面的信息,主要有SuperMap公司的SuperMap IS.NET 6.
SuperMap公司推出的SuperMap IS.NET是基于 Microsoft.NET技術(shù)和SuperMap Objects組件技術(shù)開發(fā),設(shè)計全新的面向服務(wù)的技術(shù)體系結(jié)構(gòu),提供更靈活的二次開發(fā)方式和更強的并發(fā)訪問能力.Super-Map IS.NET引入 Web Services技術(shù),提供了GIS Web Service和 Web Controls,具有安全可靠、系統(tǒng)維護和易于異構(gòu)系統(tǒng)集成、升級簡單方便以及網(wǎng)絡(luò)級可重用等優(yōu)點[5],支持的服務(wù)類型有REST服務(wù)、SOAP服務(wù)、OGC服務(wù)等.
縱觀國內(nèi)外,可以發(fā)現(xiàn)當前國內(nèi)外的研究中缺少成熟穩(wěn)定、應(yīng)用廣泛的地理信息Web服務(wù)構(gòu)架.大多數(shù)的專業(yè)地理信息Web服務(wù)是基于傳統(tǒng)的WebGIS軟件實現(xiàn)的,服務(wù)端與客戶端關(guān)系緊密,耦合度高,不容易實現(xiàn)服務(wù)的擴展與應(yīng)用,服務(wù)接口的不規(guī)范導致數(shù)據(jù)共享差、互操作困難.SOAP協(xié)議雖然較早就引入地理信息領(lǐng)域,但一直以來研究還不夠深入,應(yīng)用不夠廣泛.
Web服務(wù)技術(shù)的發(fā)展引領(lǐng)IT行業(yè)進入了以 “分布式”計算為核心的計算機網(wǎng)絡(luò)時代,引起了IT領(lǐng)域的重大變革,同時給GIS技術(shù)的研究與應(yīng)用帶來了機遇和挑戰(zhàn).一方面,把GIS融入Internet,以提供地圖、空間數(shù)據(jù)等網(wǎng)絡(luò)地理信息服務(wù),推動GIS產(chǎn)業(yè)化和社會化;另一方面,根據(jù)信息技術(shù)的不斷發(fā)展而不斷重構(gòu)GIS體系結(jié)構(gòu)、數(shù)據(jù)組織、軟件組織和應(yīng)用模式,發(fā)展Internet下的分布式地理信息系統(tǒng)[6].地理信息服務(wù)受Web服務(wù)技術(shù)的影響正發(fā)生著從傳統(tǒng)模式到Web服務(wù)模式的轉(zhuǎn)變.
傳統(tǒng)的地理信息服務(wù)模式數(shù)據(jù)產(chǎn)品形式單一、離線服務(wù)導致信息孤島、標準和規(guī)范不統(tǒng)一、數(shù)據(jù)現(xiàn)勢性差等[7].采用Web Service技術(shù)的地理信息服務(wù)模式突破了傳統(tǒng)服務(wù)模式的局限性,解決了地理信息數(shù)據(jù)共享與互操作問題,實現(xiàn)了地理信息系統(tǒng)在異構(gòu)環(huán)境的應(yīng)用部署.SOAP協(xié)議符合工業(yè)化標準,地理信息Web服務(wù)采用SOAP作為服務(wù)調(diào)用的協(xié)議,解決了異構(gòu)系統(tǒng)之間的連接問題,并符合地理信息工業(yè)化標準.[8]
1)設(shè)計基于SOAP RPC架構(gòu)的地理信息服務(wù)系統(tǒng),實現(xiàn)松散耦合的細粒度地理信息功能模塊
依據(jù)OGC的地理信息Web服務(wù)的系列標準,本文設(shè)計地理信息Web服務(wù)框架包含四類服務(wù):(1)地理信息目錄服務(wù),主要向用戶提供服務(wù)的元數(shù)據(jù); (2)地圖服務(wù),提供地理信息可視化,如WMS;(3)要素服務(wù),向用戶提供數(shù)據(jù)庫、空間數(shù)據(jù)文件中的數(shù)據(jù),WFS,WCS;(4)數(shù)據(jù)處理流程服務(wù)WPS(Web Processing Services),提供數(shù)據(jù)處理流程功能,如地名地址匹配服務(wù)、要素緩沖處理等.如圖1所示地理信息Web服務(wù)框架設(shè)計.
圖1 地理信息Web服務(wù)框架設(shè)計
2)基于SOAP協(xié)議的傳輸模式
基于SOAP協(xié)議實現(xiàn)的地理信息Web服務(wù),和許多標準的協(xié)議一樣,SOAP采用客戶和服務(wù)器型的請求響應(yīng)機制.由客戶程序發(fā)出請求、傳遞出參數(shù),服務(wù)器程序做出相應(yīng)的響應(yīng),兩種消息均為XML格式.SOAP傳輸過程如圖2所示.
圖2 SOAP傳輸過程
圖中客戶端向服務(wù)器發(fā)送請求,如WMS請求,首先使用WSDL協(xié)議將WMS請求轉(zhuǎn)換成XML文檔格式并打包在一個SOAP信封中,其中包括遠程調(diào)用外部系統(tǒng)的方法所需要的信息.一個SOAP客戶端可以是Web服務(wù)器,或者是一些基于服務(wù)器的應(yīng)用程序,僅僅用來提交請求給SOAP服務(wù)端.Web客戶端通過HTTP協(xié)議發(fā)送該請求到Web服務(wù)端.Web服務(wù)器端收到這個XML請求后,拆開信封取出經(jīng)XML編碼的客戶端請求,用XML解析器解析SOAP包,然后調(diào)用相應(yīng)的對象,得到符合服務(wù)器端要求的內(nèi)容.
3)基于SOAP的多種服務(wù)組合模式
服務(wù)組合的基礎(chǔ)是Web服務(wù)的形式化描述,Web服務(wù)組合是Web服務(wù)研究領(lǐng)域中一個重要的研究分支,具有重要理論意義和實用價值.每個服務(wù)單獨完成一個功能,但是多種服務(wù)組合后就可完成多項功能.如查詢服務(wù),用到了空間及屬性查詢兩個服務(wù).在調(diào)用地理信息服務(wù)模塊基礎(chǔ)上,開發(fā)一個包含通用功能的框架,完成基于SOAP的地理信息服務(wù)原型平臺.
本文討論了地理信息Web服務(wù)的研究現(xiàn)狀以及SOAP協(xié)議在地理信息Web服務(wù)領(lǐng)域的應(yīng)用,并設(shè)計了一種基于SOAP的地理信息服務(wù)架構(gòu)體系.同時SOAP本身的特點使其在Web資源組織及Web交互應(yīng)用中為系統(tǒng)提供了可擴展的空間,因而基于SOAP的地理信息服務(wù)架構(gòu)體系的可擴展、適用性廣.
[1] 吳功和,劉真.基于GlS WebService的 WebGIS應(yīng)用 [J].華北水利水電學院學報,2006,27(01):71-73
[2] 李冬,周曉宇,徐寶文.SOAP及其對Web服務(wù)的影響計算機工程與應(yīng)用,2002,(12),78-81
[3] ESRI.ArcWeb Service [EB].http://www.esri.com/software/arcwebservices/,2010-10-05
[4] 郭星華.地理信息Web服務(wù)研究 [D].鄭州:解放軍測繪學院碩士論文,2008
[5] 超圖公司.http://www.supermap.com.cn/products,2010-01-25
[6] ESRI.Map Services [EB/OL].http://www.esri.com/services.html/,2010-10-12
[7] 王春娟.基于緩存技術(shù)的 Web應(yīng)用性能優(yōu)化研究 [J].網(wǎng)絡(luò)通訊及安全,2008,(03):438-440
[8] 李久剛,唐新明,汪匯兵,等.REST架構(gòu)的WebGIS技術(shù)研究與實現(xiàn) [J].測繪科學,2010,(03):85-87
Design on Architecture of Geographic Information Service Based on SOAP
YANG Juan,TAO Ye-qin
(School of Geomatics of Suzhou University,Suzhou 234000,Anhui,China)
By discussing the research situation of the Web service of geographic information,the feasibility of USing SOAP technology to solove the viability of the geographic information service is explored.The architecture of the geographic information service based on the SOAP is designed.
SOAP;geographic information service;loosely coupling
TP 393.02
A
1673-1492 (2011)05-0034-04
來稿日期:2011 06 28
安徽省2010年高等學校優(yōu)秀青年人才基金項目 (2010SQRW145);安徽省教學研究資助項目 (20101073);安徽省科技計劃項目 (11020503084);安徽省宿州學院碩士科研啟動基金項目 (2010yss06,2010yss05;2011yss03)
楊娟(1984-),女,江蘇徐州人,安徽宿州學院 (東區(qū))地球科學與工程學院助教,碩士研究生.研究方向為數(shù)字城市與地理信息服務(wù).
劉守義 英文編輯:劉彥哲]