林业科学  2006, Vol. 42 Issue (增刊1): 133-139   PDF    
0

文章信息

张晓东, 陈华斌, 池天河, 张彦.
Zhang Xiaodong, Chen Huabin, Chi Tianhe, Zhang Yan.
应用Web服务技术实现GIS互操作
Realization of GIS Interoperation by Application of Web Service Technique
林业科学, 2006, 42(增刊1): 133-139.
Scientia Silvae Sinicae, 2006, 42(增刊1): 133-139.

文章历史

收稿日期:2005-07-12

作者相关文章

张晓东
陈华斌
池天河
张彦

应用Web服务技术实现GIS互操作
张晓东1 , 陈华斌2 , 池天河2 , 张彦1     
1. 中国农业大学信息与电气工程学院 北京 100083;
2. 中国科学院遥感应用研究所 北京 100101
摘要: 总结GIS互操作的发展阶段及成果, 解析传统分布式技术与Web服务技术的对比, 提炼GIS互操作的2种实现模式(基于直接访问模式的互操作方法与基于公共接口访问模式的互操作方法), 指出基于Web服务的公共接口的互操作方式是目前最为理想的方法, 描述这种方法的体系结构, 阐述其关键技术, 得出Web服务在空间信息、互操作和集成上具有良好的支持和适应性的结论。
关键词: GIS互操作    分布式GIS    Web服务    
Realization of GIS Interoperation by Application of Web Service Technique
Zhang Xiaodong1, Chen Huabin2, Chi Tianhe2, Zhang Yan1     
1. College of Information and Electrical Engineering, China Agricultural University Beijing 100083;
2. Institute of Remote Sensing Applications, Chinese Academy of Sciences Beijing 100101
Abstract: Through summarizing the achievements and the development stage of GIS interoperability, analyzing the contrast of traditional distributed technique to Web Services technique, abstracting tow modes of GIS interoperability (interoperating mode based on direct accessing and interoperating mode based on common interface), this article pointed out that the ideal method for interoperation was the interoperation mode of common interface based on Web service. Then this article described the structure of the method and expounded the key techniques of the method. At last this article reached the conclusion that Web service was fit for space information, interoperating and integration.
Key words: GIS interoperability    distributed GIS    Web service    

工业上的成长与成熟主要在于实现基于公共接口的互操作(Wilson, 1998)。20世纪70—80年代初期, 多数GIS应用可看作是“信息孤岛”。各个GIS软件本质上都是孤立的(Bishr, 1998), 它们在数据处理和数据显示等方面各具特色。80年代末期至90年代初, 信息技术特别是计算机网络技术和分布式数据库技术的迅猛发展, 使得空间上分布的GIS在网络环境下实现连接成为可能, 进而能透明地交换数据并远程获取GIS服务。为了减少数据重复采集、降低成本和提高效率, GIS用户迫切需要共享地理信息资源, 于是GIS软件厂商考虑如何在GIS软件间架设桥梁, 使地理信息能畅通无阻地在不同GIS软件间传输, 并为广大用户使用, 从而使GIS应用不再是一个个“信息孤岛”。这样, 人们开始越来越关注GIS互操作及其标准的研究。

1 GIS互操作的发展

在过去的几十年里, GIS在追求开放的道路上走得缓慢而艰难。GIS互操作的发展可以划分为地理相关数据库模式、空间化数据库模式与Web服务(Web services)模式3个关键的进化阶段(蔡晓兵, 2003)。

1) 地理相关数据库模式阶段  GIS数据模型第一个进化的形态是所谓地理相关数据库模式。该模式下, 空间数据以文件形式存放, 属性数据放在关系型数据库中, 两者通过一定的关联达到信息的整合。基于地理相关模型的GIS平台与其他核心商业应用之间共享空间信息与交互十分困难。

2) 空间化数据库模式阶段  20世纪90年代中期, 出现了以ESRI的空间数据引擎(spatial database engine, SDE)为代表的新的空间数据库模式。空间数据和其所对应的属性数据同时存放到DBMS中统一管理。客户端可以用API或COM技术将对空间化数据库的访问功能集成或嵌入到不同的GIS平台或其他商业应用环境中去, 总体的思路仍是“统一”和“转换”; 而不同的GIS平台之间, 各自的数据模式要统一起来难度很大。

3) Web服务模式阶段  Goodchild等(1999)提出:GIS共享与互操作的目标就是线信息的自动处理, 从而使用户有效地越过信息收集者、软件服务的设计者自有的边界, 与他们共享信息与服务。Web服务作为一个基础的协议, 对于GIS来说, 分布式的数据和服务可以通过Web服务动态地连接在一起, 使人们可以获得所需要的任何数据和服务。

OGC (open geospatial consortium开放GIS联盟) (龚健雅等, 2004)为地理信息共享和互操作进行了大量研究, 解决了一系列技术问题, 制定了一系列标准, 使地理信息共享和互操作技术达到了实用水平。OGC自开发了Open GIS Abstract Specification、Open GIS Simple Feature Specification for CORBA等规程和实施标准, 建立了由开放式地理数据模型(open geodata model)、OGIS服务模型(OGIS service model)和信息体模型(information community model)组成的网络GIS互操作实现规范。1998年提出Web mapping testbed (WMT), 历经WMT1、WMT2, 并于2000年提出了interoperability program (IP)。2001年3月, OGC提出了关于空间信息服务的技术倡议(request for technology, RFT), 其中描述了服务模型, 标识了模型中的角色与操作, 提出从概念层、技术层和系统层3个层次可以定义并逐步实现空间信息的服务。关于Web服务的接口, OGC也有专门论述, 提出了WFS、WMS等服务的接口规范。

2 GIS互操作的实现方法

GIS互操作的实现方法有2种模式:基于直接访问模式的互操作方法和基于公共接口访问模式的互操作方法。

2.1 基于直接访问模式的互操作方法

直接访问模式是指在一个GIS软件中实现对其他GIS软件功能或数据格式的直接访问。目前, GIS软件直接访问模式主要是通过公开数据格式或提供API函数来实现, 这样可以减少工作量。

直接访问模式要求双方有一个公共接口, 称为桥接口, 如软件代理(software agent)技术。桥接口在通信双方之间加入了一种交互接口, 以实现异构环境的互操作。如图 1所示, 对于一个需要处理n方协调工作的分布式异构环境, 假设n方互为异构, 则需要O (n2)数量级种映射, 若加入第n+1种新环境与原环境互操作, 则需加入n种映射。应用桥接口解决互操作在理论上是可行的, 但在实践中当一种新的异构环境与一个正在运行的GIS系统进行互操作时, 不但自己需要完成桥接口, 而且原GIS系统也必须有对应这种新桥接口的功能。这使得维护工作量很大, 而且效率也不会很高(李琦等, 2000)。

图 1 n个应用程序的直接集成 Fig. 1 The direct integration of some application programmes
2.2 基于公共接口访问模式的互操作方法

为了使不同GIS系统之间能够更好地实现互操作, 在直接访问模式基础上, 又提出了一种标准化接口(冯琰等, 2002), 即一种公认的统一接口, 这是目前来看较为理想的方法之一。

图 2所示, 公共接口不仅要考虑数据格式和操作处理, 还要提供公共的协议。在实际应用中, 这些公共接口是开发者根据接口规范开发的交互式组件, 各个系统就是通过这些组件来实现不同类型地理数据和地理处理方法间的透明访问。公共接口相当于一种规程(specification), 必须共同遵守, 并达成统一的标准。

图 2 基于公共接口的互操作 Fig. 2 Interoperating mode based on common interfaces

通过制定统一的接口函数形式及参数, 不同GIS软件之间可进行互操作。这种传统的方法弊端非常明显:1)互操作性能差 集成不同语言开发程序非常困难, 由于请求方必须知道响应方的技术实现细节才可以访问, 所以DCOM、CORBA与RMI都局限于Intranet内部所安装的程序和组件, 都使用自身默认的专用协议进行通信, 在与其他协议进行交互时它们都不能很好地发挥其作用, 使用DCOM无法调用Java组件, 通过RMI也无法调用COM对象; 2)灵活性差 请求方必须知道响应方的技术实现细节才可访问, 所以无法适应灵活多变的透明性互操作的要求; 3)难以跨平台运行 开发人员在一种平台下开发的程序要移植到其他平台上去运行, 是非常困难的事情; 4)连接问题 DCOM及其类似技术本质上是面向连接的, 不能很好地处理网络中断, 在Internet上无法对连接的可靠性和质量做任何假设, 如果发生中断, 很可能导致采用以上技术的系统崩溃; 5)安全性问题 试图在Internet上使用这些技术会带来更加困难的问题, 因为防火墙常常阻碍除80端口外其他TCP/IP端口的请求访问, 这样就意味着对DCOM及其类似技术关上了大门。

Web服务技术的出现以其开放性、互操作性的优点可以解决以上几个问题。采用Web服务进行透明互操作, 通信双方不再为对方特定环境而设计, 基于Web服务作为接口进行异构环境GIS互操作成为可能, 实现了跨语言、跨平台的互操作, 表 1显示了3种互操作技术方法的比较。

表 1 3种互操作技术方法比较(Basiura et al., 2002) Tab.1 The comparison of three interoperating methods
3 基于Web服务的GIS互操作

将GIS应用程序逻辑分布到网络上不是什么新概念, 将GIS应用逻辑分布和集成在Web上则是新概念。过去, 分布式GIS应用程序逻辑需要一个分布式对象模型, 开发人员可以用本地编程模型, 却将服务放置在远程系统上。这样的分布式GIS的问题在于不能延伸到Internet上, 如果服务器应用程序的接口发生变化, 那么客户端的操作可能会中断, 系统很脆弱。

3.1 Web服务

Gartner将Web服务定义为“通过标准Internet技术与另一台计算机进行动态交互的松耦合组件”; Forrester研究所定义Web服务为“人、系统和应用程序之间的自动化连接, 它将业务功能的元素表示为软件服务, 并创造新的业务价值”; Basiura等(2002)认为“Web服务是指一些应用程序逻辑单元或代码, 这些代码可以完成运算、数据库查询等工作, 是以独立于平台的方式出现的, 通过标准的Web协议, 诸如HTTP、XML、SOAP、WSDL和UDDI等, 可以由客户端的计算机应用程序来访问”。

虽然不同组织定义的Web服务方式不同, 但从本质上讲, 它是使用普通的协议与其他离散软件进行交互的软件组件。Web服务被设计成独立于底层的操作系统和编程语言, 因此Web服务的主要承诺之一就是互操作能力。

3.2 基于Web服务公共接口的互操作

传统的基于API实现公共接口的GIS互操作在互操作性能、灵活性、跨平台等方面都有一些局限性。Web服务的出现极大地简化了异质系统之间的互操作, 实现了分布式系统松散耦合框架, 如图 3所示。更重要的是, 它提出了一种新的理念, 即基于服务的系统构建, 以及将Internet变成一个“可编程的网络”。

图 3 基于Web服务公共接口的互操作 Fig. 3 Interoperating model of common interfaces based on Web service

借助XML和SOAP, Web服务使得GIS互操作和集成问题从层次上被简化。XML提供了跨平台的数据编码和组织方式, 而SOAP定义了跨平台的信息交换的简单包装方法。绑定于HTTP之上的SOAP协议, 可以跨语言、跨操作系统进行远程过程调用, 实现了编程语言和系统平台的无关性。

3.3 Web服务的GIS互操作实现模型

分布于网络中的服务是动态的、嵌入式的, 可集成在客户端, 但更重要的是可集成在服务器端。这样用户或者开发商就可以在其应用中加入相应的GIS数据和工具, 而无需自己去维护或开发, 因此服务端的角色将越来越重要。今后GIS互操作的目标是:用户都能使用对方的服务, 单个的应用将通过服务被集成和融合, 最终实现互操作。

图 4显示网络服务提供了发布、发现和使用GIS应用和数据的框架。GIS Web服务模型包含3种基本成员(GIS服务提供者、GIS服务注册中心和GIS服务请求者)以及它们之间的协同交互。一个典型的交互涉及GIS服务的发布、查找、绑定。一般情况下, GIS服务提供者定义GIS Web服务的描述并将其发布到服务注册中心(如OGC service registry)。GIS服务请求者使用查找服务从注册中心检索服务描述, 然后依据描述中的交互细节调用期望的GIS Web服务。

图 4 GIS Web服务模型 Fig. 4 GIS Web service model SOAP:简单对象访问协议Simple object access protocal; WSDL: Web服务描述语言Web service description language; UDDI:通用发现、描述与集成Universal discovery description and integration; XML:扩展标记语言Extensible markup language.

1) GIS Web服务模型中的角色  GIS服务提供者(provider) :服务提供者在实现GIS的Web服务后, 依据标准协议描述Web的功能和调用接口, 并通过GIS服务注册中心发布这些描述, 从而使不同的请求者能够查找并调用GIS Web服务。GIS服务请求者(request) :GIS服务请求者可以是一个独立软件, 也可以是某个Web服务。在明确需求后, GIS服务请求者向服务注册中心查找特定的GIS Web服务, 并对查询结果进行筛选, 最后通过服务接口绑定所需的Web服务并获得运行结果。GIS服务注册中心(registry) :GIS服务注册中心是使GIS Web服务可以彼此查找并相互调用的基础架构。它使服务提供者可以发布所提供的GIS Web服务; 使不同的服务请求者可以迅速、准确地查找并绑定所需要的GIS Web服务。

2) GIS Web服务模型中的操作  一个完整的Web服务过程应当包含3个阶段:发布GIS服务描述、查找特定服务以及根据服务接口描述绑定服务。这些过程涉及以下3个具体操作——发布:GIS服务提供者将GIS Web服务及调用接口的描述在服务注册中心注册; 查找:GIS服务请求者在本地或服务注册中心检索特定服务及其接口描述; 绑定:GIS服务请求者根据GIS Web服务接口的描述细节, 调用GIS服务, 获得运行结果。

服务请求者通过UDDI在服务注册代理集群(如公有/私有UDDI注册中心)中查找需要的Web服务相关信息(如GIS实体或其他实体的信息)及它们所提供的Web服务相关的调用界面, 然后以WSDL或直接使用SOAP来访问Web服务, 获得响应结果。服务提供者可以通过WSDL、UDDI将Web服务发布到服务注册代理中心, 或直接部署到服务注册代理中心。服务请求者连接服务注册代理或访问服务注册代理, 从而实现分布式Web服务发布和分布式Web服务访问。对于GIS服务请求者来说, 并不知道GIS服务提供者提供GIS Web服务的具体实现技术及分布式的拓扑结构。当服务提供者增加一个组件功能时, 只需提供WSDL或SOAP实现API即可。当然, 对于服务提供者的某一Web服务需要几个组件协同操作时, 可以使用WSDL或SOAP进行互操作, 达到跨平台、分布式异构环境的互操作。

3.4 中国可持续发展信息共享网中的应用

建立地理信息系统和经济建设如出一辙, 经济建设必须修筑好的高速公路。同理, 信息门户的建立也需要好的基础建设。中国可持续发展信息共享网的建立不是实现一项技术或软件, 而是一套完整的解决方案, 其工具包必须基于工业标准构建, 包括基于TCP/IP、HTTP对服务的访问以及元数据存储的标准。数据应该保存在基于工业标准的数据库管理系统, 并可以通过被广泛使用的GIS标准进行访问和服务。

发布地理信息是中国可持续发展信息共享网的主要功能, 一般分2个步骤进行:第一是准备需要发布的数据及功能; 第二是通过GIS Portal (门户)表现这些数据与功能。所以, 中国可持续发展信息共享网需要通过门户提供给用户查找与浏览自己系统内部或其他系统的数据与功能。从功能分类来看, 中国可持续发展信息共享网可以分解为3个分布式GIS组件(图 5) :Web Portal组件, 用于Web站点展现地理信息与服务的应用门户; 地图与目录服务组件, 利用Web服务技术与开放GIS标准发布地理信息服务; 数据服务组件, 提供诸如矢量与栅格等数据的系统管理功能。由该图也可以看出建立中国可持续发展信息共享网采用的关键技术核心为Web服务。

图 5 中国可持续发展信息共享网的组件划分 Fig. 5 Partition of sustainable development shared information Web in China OGC:开放GIS联盟Open geospatial consortium; ISO:国际标准化组织International organization for standardization; SLD:图例Styled layer descriptor legend; WCS:网络图层服务Web coverage service; WFS:网络地图要素服务Web feature service; WMS:网络地图服务Web map service.

Web Portal组件采用标准的Web开发工具开发与部署, 它由2部分组成:Web站点和工具组件。Web站点给用户图形交互界面; 工具组件则提供诸如地理编码、地名链接、制图、查询等GIS功能。这些功能可以不必直接嵌入Web站点, 可以是其他站点提供的、以地理信息服务代理的方式在Web站点上运行。

地图与目录服务组件负责发布地理信息及功能服务。XML、SOAP、WSDL等IT标准支持开发与部署这些服务。此外, 在这些IT标准之上, 对于地理信息服务还有GIS行业的标准, OGC、ISO、FGDC等是定义地理信息服务的主要组织。典型的通过GIS Portal发布的地图与目录服务功能有:地图渲染、矢量流、地图投影、空间属性查询、地理编码、地名词典查询、元数据查询与管理、网络分析、3D地形可视化以及数据提取。

数据服务组件是空间数据管理和高效驱动的中心, 目前基本是在工业标准的RDBMS平台(DB2、Informix、Oracle、SQLServer等)中存储、管理影像数据、矢量数据、DEM数据和CAD数据, 并支持空间数据的分布式存储和管理。

中国可持续发展信息共享网主要提供了查找、制图、发布与管理的分布式GIS应用功能。

1) 查找  用户可以创建查询条件或执行预定义的查询来获取特定的信息, 客户端提交这些查询条件给服务器, GIS Portal服务器将查询结果返回给客户端。通常的查找方式有属性与空间查找、元数据查找、通过地名词典、地理编码进行查找。

2) 制图  制图可以分为影像渲染和要素流方式2种。影像渲染是创建地图当前视图的快照, 要素流是指以流的方式向客户端传送矢量数据。地图浏览器实现对地图数据的可视表达, 集成来自于1个或多个GIS Portal服务器的数据服务, 提供地图导航、打印、选择集查询、数据探察等功能。

3) 发布  主要是添加、删除以及修改元数据。根据站点的复杂度不同, 元数据发布可以是通过页面手工配置, 也可以通过诸如元数据收集这样的工具自动进行。

4) 管理  查看和审批提交到发布站点上的元数据, 是对发布功能简单的扩展。SDI门户通常将这样的功能授予某个管理员, 使得他具有编辑与确定发布内容的功能。

4 Web服务实现GIS互操作的远景

Web服务的设计思想解决GIS互操作问题, 未来可以实现以下目标:

1) 使用一种通用的标准(XML)来描述数据, 屏蔽数据格式的不同, 实现空间地理信息共享, 而且独立于平台与开发语言。目前OGC已完成了将XML应用到地理空间信息领域的研究, 用来描述空间信息, 即GML3.0 (Geography markup language是XML在GIS方面的扩展应用) (Wilson, 1998)。

2) 使用一种标准的通信协议来实现应用系统的交互, 屏蔽系统软、硬件平台的不同, 实现不同的GIS系统的互操作。如OGC的WMS、WFS与WCS。

3) 通过Web服务提供的编程接口, 可以集成现有各个平台上的GIS数据与服务, 还可以方便地与OA、MIS、电子商务、电子政务、公众服务系统等进行集成, 实现空间地理信息应用的有效价值链, 实现社会化GIS、公众GIS。

GIS正经历着由系统为中心向数据与服务为中心的转变, 成为操作系统、DBMS之上的主要应用集成平台, Web服务正是这种平台实现的基本方式。利用Web服务技术解决机器之间的交互问题, 发布高级GIS功能服务。客户端的应用可以通过互联网访问远端的Web服务, 实时地执行查询、制图、地址匹配、路径分析等空间信息服务, 而无需在本地设置相应的数据、应用服务环境和功能。这样, Web服务在GIS中的应用, 同它在其他领域中的应用一样, 将是革命性的变化。

5 结论

Web服务给深受困扰的空间地理信息共享、互操作和集成问题带来了新的解决途径, 是当前可预计的最佳解决方案(王凌云等, 2004; 邬伦等, 2003)。未来的空间信息共享与服务的形式通过Internet的传播遍布全球, 包括地图查询服务、制图服务、地理编码服务、空间数据处理服务等, 还可以将这些服务集成到一个新的服务中并提供出去。空间地理信息必将在社会生产、经济生活中发挥更大的作用。GIS也将借助于Web服务技术, 运用互联网, 最终实现其数字地球的战略构想。

参考文献(References)
蔡晓兵. 2003. 数据共享和互操作的新思路. 地理信息世界, 1(2): 4-6.
冯琰, 施一民. 2002. 开放式地理信息系统(OpenGIS)与互操作技术分析. 测绘工程, 11(4): 22-24. DOI:10.3969/j.issn.1006-7949.2002.04.006
龚健雅, 贾文珏, 陈玉敏, 等. 2004. 从平台GIS到跨平台互操作GIS的发展. 武汉大学学报:信息科学版, 29(11): 985-988.
李琦, 陈爱军. 2000. GeoM LTM———地理空间信息共享和互操作模式研究. 测绘科学, 25(2): 15-20. DOI:10.3771/j.issn.1009-2307.2000.02.004
王凌云, 李琦, 喻文承. 2004. Web Service与地理信息互操作. 测绘科学, 29(1): 38-41.
邬伦, 唐大仕, 刘瑜. 2003. 基于Web Service的分布式互操作的GIS. 地理与地理信息科学, 19(4): 28-32. DOI:10.3969/j.issn.1672-0504.2003.04.007
Basiura R, Batongbacal M. 2002. ASP. NET Web服务高级编程.康博译.北京: 清华大学出版社
Bishr Y. 1998. Overcoming the semantic and other barriers to GIS interoperability. International Journal of Geographic Information Science, 12(4): 299-314.
Goodchild M F, Egenhofer M, Fegeas R, et al. 1999.Interoperating Geographic Information Systems. Norwell, MA: Kluwer Academic Publishers
Wilson J D. 1998. Interoperability opens the GIS cocoon. GIS World, 11(3): 58-60.