《WebGIS开发实践手册》1.3.1

1.3. WebGIS详解

随着Internet技术的发展和普及,GIS与WWW进行了结合,形成了所谓的WebGIS(又称万维网GIS),它已经成为GIS发展中最重要的方向之一,也是本书关注点重点与核心内容。

1.3.1. WebGIS──特殊的Web应用程序

“WebGIS是指基于Internet平台进行信息发布、数据共享、交流协作,客户端应用软件采用WWW协议,实现GIS信息的在线查询和业务处理等功能。是运行于互联网上的地理信息系统。[1]

在这一定义中,可以看到WebGIS的两个基本特点:

Ø 它是一种基于网络的地理信息系统程序,即它是一种GIS系统;

Ø 基于HTTP协议实现的Web应用,即它是一种Web应用程序;

因此,WebGIS=Web+GIS,说它是一种GIS系统,是从GIS服务器角度,WebGIS并没有脱离GIS的范畴,它仍然是用于地理数据的发布管理之用;而理解它是一种Web应用程序,则是从开发者的角度,程序员要编写的,也无非是某种Web页面应用程序。WebGIS的整个大架构包含了GIS管理者、GIS服务器和GIS的用户,只不过这一切都是基于Web来实现的,如图 1‑9所示:

clip_image001

1‑9 WebGIS架构

WebGIS就是由一种特殊的Web应用程序,Web 应用程序是多个Web 页的集合,这些 Web 页可以与访问者进行交互、页面之间相互进行交互,还能与 Web 服务器上的多种资源(包括数据库)进行交互,通俗地讲,它就是各种类型的文件,如HTML、ASP、JSP、CFM和PHP等。当我们打开浏览器,输入一个URL并从服务器获得响应内容时,实际上就是在使用一个Web应用程序。

Web应用程序技术可以分为两个发展阶段,俗称Web1.0和Web2.0。 第一阶段多是属于一些静态应用,例如获取HTML页面,或与服务进行简单的交互,如用户登录,查询数据库,提交数据等(这些应用也被称为 Web1.5);第二阶段更强调用户与网络服务器之间的互动性。事实上,Web2.0并不是一个技术标准,它可能使用已有的成熟技术,也可能使用最新的技术,但都必须彰显互动概念。

在网络环境中,WebGIS功能通常以Web服务的形式提供,这使得用户在新建一个包含有制图功能的页面程序时非常方便,如Google Maps、Yahoo! Maps等服务,都提供了专门的API给开发人员,让用户在自己的业务流程中嵌入地图内容,这种过程被称为“Mashup”,这是一种借助分布式环境实现“我为人人、人人为我”的“大同”思想的体现,如图 1‑10所示:

clip_image003

1‑10 使用GIS服务和其它服务构成Mashups

WebGIS应用程序的页面能够通过HTML、JSP、ASP或任何任何类型的Web页文件构成,其特殊之处在于,它的请求提交的方法并不是通过常用的“超链接”形式,而是使用鼠标与Web浏览器上地图进行的,因此,我们开发WebGIS应用程序的过程,就是考虑如何向一台Web服务器发送地图请求或其它类型请求,并将响应进行解释显示的过程[2]

但是Web服务器只能接收HTTP请求,根据请求的信息解析相应的脚本语言或程序语言并生成HTML标记,将其作为响应返回,它本身没有任何GIS功能。事实上,在WebGIS的交互架构中,Web服务器只起到了一个“二传手”的作用,它接收HTTP请求,并将请求中包含的信息提交给GIS应用服务器,后者对提交的信息进行处理,返回相应的结果,并传至Web服务器,然后再由Web服务器传至客户端,至于GIS应用服务器返回的是指向某张地图图片的链接还是查询的文本数据,Web服务器是毫不关心的。

整个WebGIS过程如图 1‑11所示:

clip_image005

1‑11 一个WebGIS会话过程

GIS应用服务器与Web服务器之间一般都有一个数据连接的通道,如ArcIMS的Connector(连接器)等,但这并不是开发人员需要关心的问题。开发人员要了解的只是如何提交请求给驻留在Web服务器上的连接通道并从该通道获得响应以解析即可。

小知识:Web服务器

我们所指的Web服务器有两种含义,一是能够接收HTTP协议请求,并返回HTML格式响应的一种应用程序软件;第二是运行该软件的计算机系统。

我们通常使用的Web服务器软件有以下几种:

l Microsoft IIS

Internet Information Server (IIS)是Windows平台上最常用的Web服务器,很多著名网站都是建立在IIS 平台上。IIS提供了一个图形界面的管理工具,即Internet服务管理器,用于监视配置和控制Internet服务。

IIS是一种Web服务组件,其中包含了Web服务器、FTP服务器、NNTP服务器和SMTP 服务器,分别用于网页浏览、文件传输、新闻服务和邮件发送等方面,它使得在网络上发布信息成了一件很容易的事。同时,它提供了 ISAPI(Intranet Server API)作为扩展Web服务器功能的编程接口,这让IIS能够以插件方式引入其它类型文件的访问支持,如访问Python文件、JSP文件等。

默认的IIS支持HTML、HTM和ASP文件,通过安装ASP.NET插件,IIS也能支持ASPX等类型的文件访问和交互。

l Apache

Apache是世界上使用数量最多的Web服务器,它是一款开源产品,由Apache软件基金会[3]管理。世界上很多著名的网站都是Apache支持的,它的成功之处主要在于源代码开放、有一支开放的开发队伍、支持跨平台的应用(可以运行在几乎所有的Unix、Windows、Linux系统平台上)以及它的可移植性等。

l Tomcat

Tomcat是一个基于Java的开源、运行servlet和JSP Web应用软件的Web应用软件容器。它是根据servlet和JSP规范进行执行的,如果需要运行Servlet和JSP文件,可以考虑使用Tomcat,如在ArcIMS的安装中,也可以使用Tomcat作为其Servlet引擎。

l IBM WebSphere

WebSphere Application Server 是一种功能完善、开放的Web应用程序服务器,它是IBM电子商务计划的核心部分。它基于 Java 的应用环境,用于建立、部署和管理 Internet 和 Intranet Web 应用程序。

l ServletExec

ServletExec是一个快速的Servlet和JSP引擎插件,它可以集成到大多数流行的Web服务器之中,如IIS或Apache,同时支持多种平台,包括Windows、Solaris、MacOS、 HP-UX和Linux等。

ServletExec能够让Java小程序(servlet)快速地处理来自Web浏览器到请求并能动态地生成自定义的html文件,它也是ArcIMS在Windows平台上部署时的首选Servlet容器。


[1] 马林兵 张新长 伍少坤. WebGIS原理与方法教程. 北京:科学出版社 2006.9 p1

[2] 从这个过程来看,目前大部分WebGIS仍然处于Web1.0阶段

[3] Apache软件基金会与Mosaic也有莫大的关系

posted on 2009-09-14 12:14  浩淼  阅读(14395)  评论(0编辑  收藏  举报

导航