摘要: 随着Internet技术的发展与普及,网络化成为GIS发展的必然趋势,Longley等认为“WWW的到来是GIS领域近20年中最重要、最令人鼓舞的发展”,甚至认为“WWW的出现标志着传统GIS已经彻底死亡”。尽管“传统GIS已死亡”的说法值得商榷,近几年来有关...
随着Internet技术的发展与普及,网络化成为GIS发展的必然趋势,Longley等认为“WWW的到来是GIS领域近20年中最重要、最令人鼓舞的发展”,甚至认为“WWW的出现标志着传统GIS已经彻底死亡”。尽管“传统GIS已死亡”的说法值得商榷,近几年来有关Web技术在GIS中应用的研究层出不穷,Web GIS及相关技术成为学术界、产业界关注的热点,这也是不争的事实。
Web GIS的发展使得网络用户得以通过互联网浏览空间数据、制作专题图以及进行简单的空间检索和空间分析。也就是说,WebGIS较好地解决了地图的共享问题,但对空间数据、服务互操作的实现帮助甚微。一般认为,现有的WebGIS实现主要有以下几个方面的问题: ①无法实现异构空间数据互操作;②无法实现跨平台;③开发、调试和维护困难等。由于这些问题的存在,不同Web GIS之间很难实现互操作,用户的已有投资得不到保护,这对于大中型GIS应用来说是不能接受的,也不能满足GIS继续发展的需要。
Web服务的出现给上述问题的解决带来了一线光明,许多学者都对Web服务在GIS中的应用、特别是对GIS互操作的支持进行了研究。相关研究中的Web服务一般是指基于SOAP、WSDL、UDDI等协议的Web服务;SOAPWeb服务是较新的技术,许多相关协议仍在不断发展中,还不够成熟,而且与互联网的结合并不紧密。基于REST(REpresentational State Transfer,表示状态传递) 的Web服务则构建在互联网标准协议HTTP、URI、XML等的基础上,也就避免了上述问题。因此,本书就基于REST的Web服务在GIS中的应用进行了探讨,提出基于REST风格的、具有通用性的GIS Web服务(GWS)构架;这种GWS不只适用B2B、企业应用集成等少数场合,而且为下一步的GeoWeb的实现进行了尝试性研究,也可以认为GWS是实现GeoWeb的前奏。
1.IT技术对GIS的影响
从第一个地理信息系统(CGIS)诞生至今,GIS已有40多年的发展历史。软件是GIS的核心组成部分(计算机软件、硬件,地理数据,人员和组织)之一,随着IT技术的发展,GIS软件体系结构逐步推进,主要经历以下几个阶段: 集成式GIS、模块式GIS、核心式GIS、组件式GIS和Web GIS等。从GIS的发展历程来看,GIS系统与信息技术的发展密不可分,后者是前者的基础,而前者是后者的应用。模块化GIS和核心式GIS得益于结构化编程技术的影响,组件技术的应用导致了组件式GIS的出现,Internet的普及则促进了Web GIS的发展。
时至今日,不管是大型的GIS应用,如ESRI的ArcGIS Server、ObjectFX公司的基于J2EE的SpatialFX系列产品,还是ArcGIS桌面版、Mapinfo、SuperMap等桌面GIS,大都是基于组件技术构建的系统。Web GIS也十分普及,几乎所有的GIS厂商都推出了自主的WebGIS产品,该技术的发展使得数字地图的发布变得非常简单,一般Internet用户也可以通过互联网浏览空间数据、制作专题图以及进行简单的空间检索和空间分析。
得益于IT技术的进步,GIS的发展与普及达到前所未有的高度。但另一方面,由于WebGIS本身的结构特点和厂商的利益驱动 (使用专有技术)等因素,不同厂商的WebGIS之间很难实现互操作,用户的已有投资得不到保护;与机构内、机构间信息系统的整合也十分困难,甚至根本不可能。因此,大家渐渐地把目光投向开放的技术/标准。
2.Web服务与SOA
分布计算技术和组件技术为促进GIS的发展作出了卓越贡献,但这些技术本身仍在不断进步,Web服务技术和SOA(Service Oriented Architecture,面向服务的体系结构) 就是分布计算领域的最新进展。
顾名思义,Web服务就是可在Web上调用的服务。一个典型的Web服务流程是这样的: 客户应用程序通过HTTP协议向位于特定URL的Web服务发出以特定的格式编码的XML请求消息;该服务收到请求后,进行处理,然后以特定的格式返回应答消息。常见的Web服务可以为客户提供特定股票的交易信息,为物流企业的货物运输提供最佳路线等。
Web服务是一个崭新的分布式计算模型,廉价的带宽、存储设备和无处不在的计算设施使Web服务成为可能。该技术是一系列标准的综合,这些标准包括XML、SOAP、UDDI、WSDL和WSFL等。Web服务利用这些标准提供了一个松散耦合的分布式计算环境;在Web服务的模型中,厂商将其服务成一个个相对独立的Web服务,每个服务提供某类功能,客户可以通过绑定在HTTP之上的SOAP协议来访问这些服务。
Web服务具有完好的封装性、松散耦合、使用标准协议规范、髙度可集成能力等特点,一经发布,其他应用程序(Web服务)即可发现、激活(调用)该服务。Web服务之所以重要,是因为它被实施成用于现有系统集成的一层,而不是重新提出全新的体系结构。尽管Web服务系统还是以客户/服务器技术为基础,Web服务使用的网络层与传统的C/S大不相同,可以是任何开放或安全的网络。Web服务采用了无状态连接技术,使永久性网络连接不再必须,网络节点可以只在必需时再进行连接。这种结构对于分布式GIS系统的实施具有很高实用价值,对于困扰业界的GIS互操作问题的解决同样很有帮助。
与Web服务几乎同时出现的面向服务的体系结构,并不是全新的概念。Pallos认为SOA是由组件、服务、业务过程组成的可以满足机构业务需求的体系结构,而SOA的核心概念“重用”和“互操作”,在IT界已存在了20多年。从某种意义上说,SOA更多是一些指导原则,并不依赖具体的实现技术。尽管SOA概念的提出和Web服务技术的发展有相当的联系,但SOA完全可以使用其他技术实现。也就是说,SOA提供了框架,Web服务则是实现SOA的一种具体技术。SOA的特点是用服务的观点设计、实现系统功能,因此有助于代码重用,降低成本、风险,还可缩短产品进入市场的时间。SOA体系结构如图1。