基于Web+Service的分布式互操作的GIS

2020-04-14 02:42

第19卷第4期2003年7月地理与地理信息科学

GeographyandGeo-InformationScienceVoi.19No.4Juiy2003

基于WebService的分布式互操作的GIS

邬伦1,唐大仕2,刘瑜1

(1.北京大学地球与空间科学学院,北京100871;北京100871)2.北京大学信息科学与技术学院,

摘要:分布式、可互操作的WebGIS一直是人们追求的目标,传统的WebGIS建立于B/S结构之上,该文介绍一种新型的WebGIS,即基于WebService的GIS。WebService是近几年发展起来的基于网络的新技术,基于WebService的地理信息系统具有分布式、可互操作、方便集成现有GIS资源的特点并具有良好的扩展性,是WebGIS的发展趋势。提出了其系统框架,并阐述了其关键技术,包括:地理该文介绍了基于WebService的分布式互操作的GIS的特点、

对象在WebService中的表达,服务的描述、发现、注册,以及用WebSerivce集成现有的GIS系统等。关键词:分布式;互操作;地理信息系统WebService;中图分类号:P208

文献标识码:A

文章编号:(2003)1672-050404-0028-05

目前已经有多种不同的技术方法被应用于研制实现Web地理信息系统(WebGIS),包括CGI(Com-通用网关接口)方法、服务器应monGatewayInterface,

用程序接口(ServerAPI)方法、插件(Piug-ins)法、Ja-[1]

。vaAppiet、ActiveX方法以及Corba、DCOM方法等但是,这些方法对于网络分布的功能层次清晰性、模块接口规范性、易于扩充等方面都有待进一步提高。特别是,要将GIS各个子系统的功能分布于网络不

同的软硬件环境,要将GIS应用扩展到跨部门、跨地区、跨行业甚至面向全社会的GIS应用,各个子系统应更好地互操作,这就要求一种更好的技术支

[2,3]持。WebService(即Web服务)概念的提出、Mi-crosoft的NET计划和SunONE正在逐步把软件改造

WebService中的服务是通过网络进行分布式计

算的基本构造单元,一个服务接受使用SOAP的调用,并由WSDL(WebServiceDescriptionLanguage)描述调用所需的具体信息。服务本身则通过UDDI(Uni-进行注册versaiDescription,DiscoveryandIntegration)和发现。

SOAP是在分散或分布的环境中交换信息的简单协议,它使用SOAP封套(enveiop)描述消息的发送者、接收者、处理方式和消息的内容等。SOAP使用

[4]

,因此SOAP可以XML作为标准的数据传送格式

跨越异构系统进行互联。和CORBA、DCOM等协议

相比,通用、轻量级的特点,而且通SOAP具有简单、

过SOAP可封装以前的各种远程调用协议。WSDL是一种以XML的方式对WebService的调用和通信加以描述的语言。客户端可以通过WSDL对服务的描述来决定如何访问这些服务。UDDI为WebService在技术层次上提供了三个重要的支持:标准化、透明的、专门描述Web服务的机制、调用可访问的Web服务注册中心。Web服务的简单机制、在注册中心,通过tModai(类型模型)来定义Web服务,其中可以包含说明SOAP接口的WSDL文档。通过使用WebWebService技术的一大特点是,

可以掩盖各种不同实现之间的区Service定义接口,

别以及各相互联结的系统之间的异构性。在Web整个网络成为一个开放式的组件平Service技术中,

台,通过组合不同的Web组件,应用程序很容易得到近乎无限的扩展,从而满足用户的各种功能需求。

成简单易用的WebService,基于WebService的计算

环境正在不断形成,并成为软件研发应用的重要方向。在这样的背景下,基于WebService的地理信息系统(GIS)可以使得位于网络上的GIS系统实现分布式、互操作的GIS系统。1

1.1

WebService简介

WebService及其原理

WebService是一种基于对象/组件模型的分布式计算技术。WebService的基础是XML(可扩展标记语言)及基于其上的SOAP(SimpieObjectAccess

,WebService的基本结Protocoi简单对象访问协议)

构是:客户端和服务端把请求和数据结果以XML的

形式进行SOAP包装,以HTTP等形式进行传送,从而实现相应交互。

收稿日期:2003-01-26;修订日期:2003-03-20

作者简介:邬伦(1964-),男,教授,博士生导师,从事地理信息方法教学与研究。

第4期l.2

WebService与GIS的结合

邬伦等:基于WebService的分布式互操作的GIS第29页

行集成,实现社会化GIS、公众GIS等。2

2.l

基于以上分析可以看出,WebService为分布式

互操作的软件系统提供了很好的前景,在现有GIS系统基础之上,对已有的数据及功能模块进行重新解析、包装及组合,可以实现一个基于WebService的地理信息系统。其基本要素是Web服务,服务间数据通信采用XML作为数据流的格式,控制通信采用WebService调用的方式。

基于WebService的分布式互操作GIS的

系统构建

系统的体系结构

互Internet下的地理应用系统要求具有跨平台、

操作、松耦合协作等需求特性,从系统框架上看,基于WebService的体系结构由五部分组成(图2)。

基于WebService的GIS系统具有以下优点:l)复用度高。开发者集中精力设计GIS信息处理部分,而不再需要同时考虑整个系统的架构、通讯方式等细节;2)灵活方便。XML作为一种开放式的通讯方式,在具有形式化、结构化等特点的同时具有良好的可扩充性,使系统具有较高的灵活性,可以支持不同形式的客户端,也可以使用现有的GIS软件及数据资源;3)便于更新维护。服务提供者与服务的请求者相分离,降低了系统的耦合度,服务者结构的改变不会部分的修改,不会因为依赖关系影响全局。另外,服务的使用者与提供者之间的维护成本也大大降低。

在基于WebService的GIS系统中,有三种角色:

Provider,Reguest和Registry

(图l)。服务提供者Provider)实现GIS的Web服务,并将其服务的描述

用WSDL在注册中心(如OGCServiceRegistry)中注册;客户方(Reguest)通过在注册中心发现(find)相应的服务描述后,与相应的服务提供者进行绑定bind),从而实现服务。

图lWebService系统中的三种角色

Fig.l

ThreerolesinWebService

可见,WebService是实现新一代(第四代)GIS的

重要手段,第四代GIS的目标是由以系统为中心向

以数据为中心[5],实现空间数据共享与服务的转变,

成为OS、DBMS之上的主要应用集成平台,WebSer-vice正是这种平台实现的基本方式。同时,WebSer-vice在GIS中的应用,

同它在其他领域中的应用一样,将是革命性的变化,由于WebService可以集成现有的各个平台上的GIS数据与服务,还可以方便地与OA、MIS、

电子商务、电子政务、公众服务系统等进图2基于WebService的GIS系统的体系结构

[6]

Fig.2

ArchitectureofGISbasedonWebService

[6]

(l)地理数据服务(DataService):提供对空间数据的服务,主要有WFS(WebFeatureService,矢量数据服务),WCS(WebCoverageService,栅格数据服务),地理数据服务返回的结果通常是带有空间参照系的数据。

(2)地图表现服务(PortrayaiService):提供对空间数据的表现,主要有WMS(WebMapService,地图服务),其中地图可以由多个图层组合起来,可以用SLD

(StyiedLayerDescriptor)对地图进行描述。地图服务的返回结果通常是矢量图形或栅格图形。(3)过程处理服务(ProcessingService):提供地理数据的查找、索引等服务,主要有Geocoder(地学编码服务)、Gazetteer(地名索引服务)、CoordinateTransfer

Service

(坐标转换服务等)。(4)发布注册服务(Registry):提供对各种服务的注册服务,以便于服务的发现。其中包括:数据类型、数据实例、服务类型、服务实例的注册服务。注册服务提供了各个注册项的登记、更新及查找服务。(5)客户端应用(CiientAppiication):即客户端的基本应用,如地图的显示、地图浏览以及其他一些增值服务。

2.2

核心的地理信息服务

为了构建基于WebService的GIS,需要定义一套基本的地理信息服务。OGC(OpenGISConsortium)组

织也正在抓紧制定这方面的标准[7,8]

。本文提出核

((第30页地理与地理信息科学第l9卷

心的地理信息服务,也是基于这些标准的。同其他的WebService一样,核心的地理信息服务也用接口(Interface)来进行表达,相同的服务都要实现相同的接口,接口之间还可以有继承关系(表l)。l)WMS是地图服务,它将有相同的空间参照系的各个图层(包括Feature图层及Coverage图层)组合在一起。

给定空间坐标及边界范WMS的主要接口是GetMap,

围,可以得到相应的地图。而图形的格式可以有PNG,GIF,JPEG,TIFF等。2)SLD是WMS中的一种

组件,在该层可以使用COM,CORBA,J2EE及SOL

标准,而HTTP及SOAP是绑定到WebService的基本协议。3)在服务层,可以建立在OGC已定义了的简单要素的COM、另外CORBA及SOL规范的基础上,一些规范包括栅格Coverage规范,坐标转换,Portray-服ai,Gazetteer,Geocoder,Geoparser等服务规范。4)务描述层产生用于发现服务的基本信息,包括:服务类型信息、操作、绑定规则、服务提供者的网络地址。服务的发现层是发WSDL是现阶段的标准协议。5)重要方式,SLD是将图层中的各个要素用Styie进行处理,即用几何对象或图标来表示图层中的各个对象,并用XML进行描述。基于SLD的WMS的服务结果,通常是SVG,CGM,PS等矢量图形格式。3)WFS提供对地理Feature

(要素)的存取。Feature的结果通常用基于XML的GML

(GeographicMarkupLan-guage)

进行表达;而客户在向服务方提出的查询请求可以用基于XML的FiiterEncodingSpecification(过滤条件编码语言)进行表达。4)WRS为Web注册服务,是对元数据及服务进行的注册服务。其中,注册库中的信息可以包括:地理要素字典、服务注册库、数据模式注册库、传感器注册。5)Geocoder服务是地理编码服务,是按地名或其他属性查询到相应的地理对象的服务,它可以提供任何地理对象相对应的网络资源的地址。

表l

核心的地理信息服务的接口

TablelInterfacesofkernelGeographicalInformationServices

服务种类

接口继承主要接口说明

WebService(WS)GetCapabiiities服务能力的查询WebRegistryServiceWSRegisterService注册服务GetDescriptor信息描述

WMS

(WebMapService)WSGetMap

获取地图

GetFeatureInfo

Feature信息WFS

(WebFeatureService)WS

GetFeature

获取FeatureDescribeFeatureTypeFeature类型描述

WCS

(WebCoverageService)WSGetCoverage

获取CoverageSLD

(StyiedLayerDescription)WMSDescribeLayer

图层样式TWFS(TransactionWFS)WFSTransaction

事务服务LockFeatureFeature加锁GeoCoder

WFS

GeocodeFeature地理编码

2.3实现各个层次的基本协议

在可互操作的GIS中,为了便于实现各个WebService的发布、查找、绑定及调用,在本系统中要基于已有的协议,从底层到顶层依次为:l)最底层是通信协议,如TCP/IP,HTTP,SMTP,IIOP,FTP等;在数据表示及编码层,使用XML;在数据格式及数据Schema层,使用HTML,OGC提出的表示地理要素的

GML等。2)

绑定层主要使分布服务成为可能,绑定是在网络上连到服务端点的机制,为了使用传统的

布和查找服务,使用服务描述层的信息。UDDI是现在WebService发展的标准方式,OGC制定的CataiogService规范是关于地理信息内容和服务的发现服务的。6)最顶层是服务集成层,它用于支持决策分析、模型化、工作流、流程处理集成等。已有一些协议,如WSFL,XLANG等来表示工作流及WebService的交互与集成。

图3

互操作的WebGIS中的协议

Fig.3

ProtocolstackofinteroperableWebGIS

3

基于WebService的GIS中的关键问题及解决方式

在可以互操作的GIS中,要解决的关键问题,一是数据可以互相理解,这要求能交互的空间对象的表达;二是功能(服务)可以发现和利用,这就要求服务能够进行描述、发布和注册;三是能够利用现有GIS系统的数据和软件资源,

这就要求能够集成现有的GIS系统。下面提出这三方面问题的解决方案。

3.l

地理对象及服务在WebService中的表达

在异构数据库和分布计算的情况下,GIS要求能

够进行互操作,即GIS在相互理解的基础上,能透明地获取所需的信息。OpenGIS是OGC制定的关于地

理数据互操作的规程[9]

,在GIS互操作中对象的基本概念Feature(要素)和Coverage,分别用来描述地理实体和现象。其中Feature可以表示任何占有时间—空间范围的实体,它是GIS处理和服务的对象,在分

第4期邬伦等:基于WebService的分布式互操作的GIS第3l页

布式GIS中,它还是操作的基本单元。因此,在系统

实现过程中,基于Feature来表达地理对象是一个可行的方案。

在WebService中,服务之间传递数据都通过

它可以将地理对象Feature用GML来表SOAP协议,

[l0]

达,这就提供了一个可以互相理解的统一的表达

元数据描述,它可用于调用者动态地组织这些服务;描述服务的类型信息。3)

在基于WebService的系统中,建立专门的服务器来实现注册中心的功能。注册服务的接口要包含以下基本功能:服务提供者的信息。添加、删除、l)修改、查询服务的提供者;服务的信息。更新服务2)的数据描述及WSDL文档;服务的类型信息。添3)加、删除及查询类型描述;对服务进行分类、并能4)扩展分类信息。

方式,(数据模式,或称大Feature对象的XMLSchema

纲)。其中Feature相关的有非空间属性及空间数据,空间数据则用Geometry来表达。在用GML表达地理对象的同时,也可以用基于XML的方式来表达服务请求,图4是GetMap接口的XMLSchema。其中,包括信息,如地图范围(BoundingBoX),SLD方式,输出(Output)方式,还有对调用过程中出现的异常EXceptions)的表达。

图4

GetMap接口请求的XmISchema图

Fig.4

XmlschemaofGetmapinterface

3.2

服务的描述、发布和注册

在WebService中,重要的是建立一个资源共享的框架,它能够发布、发现、建立及协调WebService。

这样的实现系统应具有以下功能:l)不同种类的地理信息服务可以有相互独立的提供者;2)每种服务类型可以有多个相互独立的实例;3)在运行时能够根据服务类型、服务内容、服务质量来查找相应的服务实例;4)可以存取时空数据的元数据;5)存取描述服务的元数据;6)根据发现的元数据来调用(绑定)相应的服务;7)允许组织、协调及序列化相关的服务。

对于基于WebService的GIS系统,在通行的

UDDI的基础上,

针对地理信息系统的需要进行描述、发布和注册。其中,基于WSDL规范的服务描述

文件,是描述、发布和注册服务的关键。它是对服务的实例及其提供者的高层描述,通过注册服务(Reg-ister)存于注册库中。服务描述文件的内容包含三部分:l)地理信息服务的接口信息,它可用于自动处理过程进行查询和调用相当的服务;2)

是地理数据的为了更广泛地实现GIS的互操作,除了商业机构可以建立注册服务外,还可以由行业协会以及政府组织来建立相应的注册中心,而对于服务的提供者,可以向公众收费或免费地提供服务。

3.3

集成现有系统

用新的互操作服务体系代替部分传统的GIS,新的构件能逐渐替代旧的孤立的系统,并改进新的客户端和新的服务器功能。基于WebService来集成现

有的系统,将构造出开放式地理信息处理系统的综合软件体系结构。在这样的体系结构中,要将现有GIS应用模块和其中的数据,

通过包装,产生基于XML形式的WebService的运行接口。

这些接口在具体实现时,系统需要实现四类构件:l)

客户端服务(如查看器及编辑器),这些组件与用户相交互,提供用户界面以查看及操纵底层的数据。2)目录及注册服务,由元数据及类型信息的库所组成,目录服务处理服务实例的注册、更新与查找,类型信息服务则处理类型名字的注册、更新与查找。3)数据服务,是地理信息服务的主体。数据资源都有名字,通过名字可以找到相关的资源。数据服务通常要对这些资源的名字和属性建立索引以便能快速地查找。数据服务提供了多源的、分布式的GIS系统框架,OGC制定的WebMapServer(WMS)

,WebFeatureServer(WFS),WebCoverageServer(WCS)是其中重要的实现方式。4)应用服务,是建立在空间数据基础上的增值服务,它们通过流程来转换、组合、创造数据。

在现有的GIS系统,从实现技术的角度看,主要有基于J2EE及基于微软的两种平台,而现在Java平

台的WebService及微软的Net平台下的WebService都已有较好的支持,因此集成现有的GIS系统到

WebService系统在不同平台下都可以实现[ll]

。4

结语

通过近几年的发展演变,WebService从最初的

(第32页地理与地理信息科学第19卷

一种Web化调用的构件形式,发展成为由目前W3C定义的软件应用,代表并发展了已有组件技术和正式成为Internet环境下一新Web技术的结合方式,颖而重要的互操作体系。

基于WebService的GIS系统,不仅能存取地理信息内容,还要能存取地理信息服务。用户和软件代理可以发现、调用、组合和监控提供内容和服务的资源。不仅能提供静态的内容,而且动态控制数据、地图的产生以至相关的物理设备。

数据及服务的结构和语义的元数据通过标准的所有的服务都通过接口(interface)来XML进行描述,定义,服务对外公开的是其接口,而不是实现。服务提供者不需要知道请求者如何使用这种功能,而请求者也不需要知道服务者是如何实现,这样就降低了系统的复杂度,从而较好地实现了互操作。

系统中的数据及服务可以通过已有的方式来实现,只需要实现相应的WebService接口即可。现在J2EE平台及微软Net平台较好地支持WebService,相信基于WebService的分布式互操作的GIS系统是很有前景的。

参考文献:

[1]袁相儒.异构地理信息处理环境互操作的InternetGIS方法[J].

武汉测绘科技大学学报,(3):1999194-198.

[2]承继成.数字地球与国家空间信息基础信息[M]清华大.北京:

学出版社,1999.

[3]LLiu,等.DataModehsforInteroperabihity[J].Sciencepress,1999.[4]孙一中.XML理论和应用基础[M]北京邮电大学出版社,.北京:

2000.

[5]方裕,周成虎,景贵飞,等.第四代GIS软件研究[J].中国图象

,(:图形学报(A)2001,69)817-822.

[6]OpenGISConsortium.TheOpenGISServiceArchitecture[R].1998.[7]OpenGISConsortium.WebFeatureServiceImphementationSpecifica-[R].2002.tion

[8]OpenGISConsortium.WebMapServiceImphementationSpecification

[R].2002.

[9]OpenGISConsortium.OpenGISSimpheFeaturesSpecificationFor

[R].1998.CORBA

[10]OpenGISConsortium.OpenGISGeographyMarkupLanguage(GML)

[R]ImphementationSpecification.2002.

[11]DHKim,MSKim.WebGISServiceComponentBasedOnOpenEn-[J]vironment.GeoscienceandRemoteSensingSymposium,IEEEIn-(6):3346-3348.ternationah,2002

InteroperableandDistributedGeographicalInformationSystemsBasedonWebService

WULun1,TANGDa-shi2,LIUYu1

(1.DepartmentofRS&GIS,PekingUniuersity,Beijing100871;2.DepartmentofComputerScience,PekingUniuersity,Beijing100871,China)

Abstract:Asanewdistributedobjecttechnohogy,webservicespecifiesatechnicahframeworkthatahhowsapphicationsofusingdifferentproto-cohstocommunicate,transferinformationandinteroperate.Thus,webserviceenabheaninteroperabhephatformforGeographicahInformation(GIS)Systems.Inthispaper,theauthorsintroduceaweb-service-basedDistributedGIS,putforwarditsarchitecture,andsetforthitskeytechniguessuchastheXMLexpressionofgeographicahobjectsinwebservice,thedescription,register,findandbindofwebserviceandhowtointegrateexistingGISsystem.

Keywords:WebService;distributedcomputing;interoperate;GIS


基于Web+Service的分布式互操作的GIS.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:Xilinx Notes

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: