《WebGIS开发实践手册》1.3.1

来源: 发布时间:2010-03-22 点击数:
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所示:
 
图 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所示:
 
图 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所示:
 
图 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也有莫大的
IDC
域名注册
主机服务
租用托管
数据修复
优化推广
网站建设
解决方案
管理咨询
企业内训
广告设计
技术整合
云主机
ICP备案说明
教育产业
维普点卡
计算机培训
人才外包
服务外包
全程外包
软件研发
Zoomla!逐浪CMS
企业管理软件
三维与仿生应用
软件管理
IT外包
短信接口
社区
江西IDC排行榜
微博
东方红公益
7*24小时服务中心
微信互动
会员
纪念品
发哥的博客
上海站长聚会
软件开发沙龙
宣传视频
用户手册
全站检索
关于我们
公司介绍
发展历程
工作机会
团队介绍
汇款方式
联系我们