网络GIS究竟是什么
从早期庞大而专有的GIS系统到如今轻便且大众化的嵌入式移动地理信息系统,乃紧随计算机技术、网络技术、数据库技术和软件技术等的发展,在数据模型、数据的组织与管理、体系结构、计算模式和地理服务等方面正在或已经发生了巨大的变化。在这众多的变化中,“网络化”是GIS 在发展历程和今后发展中的最重要特点。从局域网到城域网和广域网, 从互联网到无线网络, 计算机网络同其他通信网络的每一步发展都在改变着GIS 的应用规模和地理服务方式, 而伴随着计算机网络发展的分布式计算技术也在从早期的集中式或基于主机的计算模式(Host- based Computing Model) 、文件服务器计算模式( PC/File Server - based Computing Model) 发展为客户/服务器模式(Client/Server,C/S) 、浏览器服务器模式(Browse/Server, B/S),再发展为如今的多层分布式计算、Web服务和网格计算模式,分布式计算模式也在逐步影响着GIS的计算方法和体系结构。可以说网络与因网络发展而存在的分布式计算技术深深影响和改变着GIS,促进网络GIS 的发展。
网络GIS概念
网络地理信息系统是在网络环境下的一种处理、分析和显示地理信息的计算机信息系统。地理信息是描述地球表面的地理位置和地理空间关系的信息。地理数据是地理信息的载体,它包括带有地理位置特征的图像、图形数据和与此相关的文本数据。网络GIS可以是GIS发展过程中某一时段的GIS 产品与应用形式,也可以是所有GIS 体系下的统称。因此,网络GIS有“狭义网络GIS”和宏观的“广义网络GIS”之分(张书亮等,2007)。
“狭义网络GIS”是在一定时期内特定形式的计算机网络和分布式对象技术融合所形成的GIS系统便是狭义性的网络GIS。按照这种定义方法,可将网络GIS分成“基于C/S的网络GIS”、“基于B/S 的网络GIS”、“基于空间Web服务的网络GIS”、“基于移动与嵌入式的网络GIS”和“基于网格的网络GIS”称为狭义的网络GIS。它都因其网络结构形式和分布式对象技术的不同而在体系结构、数据存储与访问方法、数据组织与存储策略等方面存在较大差异。
“广义网络GIS”是多种技术相互融合,互为利用的一种网络GIS。它是随着计算机技术、网络技术、软件技术和数据库技术的发展,计算机网络结构形式和分布式对象技术日益多样化,GIS 数据和功能共享需求的逐步提升,GIS的数据共享和访问方法日益多样化而产生的一种GIS技术。因此,“广义网络GIS”不仅是所有“狭义网络GIS”的统称, 同时它也代表了不同“狭义网络GIS”结合时的产物。一般来讲,“广义的网络GIS”可以是城域网/广域网GIS、Internet/Intranet GIS、无线网络GIS、移动与嵌入式GIS的各种组合。
网络GIS体系结构
1.两层C/S体系结构
在早期的网络GIS体系结构中,一般采用两层C/S体系结构,如图10-1所示。客户机向服务器发出数据请求,服务器将数据传送给客户机进行计算,这种模式的优点充分利用了客户机的性能,使计算能力大大提高;另外,由于客户机和服务器之间的通讯是通过网络协议进行的,是一种逻辑的联系,因此物理上在客户机和服务器两端是易于扩充的。基于C/S结构的WebGIS是由客户机完成GIS分析、输出工作。GIS数据和分析工具最初放在服务器上,运行时下载到客户机,操作灵活。但是C/S应用软件模式大都是基于“胖客户机”结构下的两层结构应用软件。因此,进行业务数据的处理和维护,功能相对简单,这就造成应用系统的性能、可伸缩性和可扩展性低下,对用户的投资缺乏保护。两层C/S结构,以PC为主,适合部门级应用,初级成本虽低,但随着应用规模扩展,网络上异种资源类型的增多,开发、管理、维护的复杂程度加大,频繁的软硬件升级,使后期成本骤升;缺乏关键事物处理的安全性与并发处理能力。
Server作为数据库、文件服务器,进行业务数据的处理和维护,功能相对简单,主要是数据库系统根据客户端传来的请求进行数据库操作,然后将结果传送给客户端软件。这样的Server不可避免造成应用系统的性能、可伸缩性、可扩展性低下。
Client一般由应用程序及相应的数据库连接程序组成,它的主要功能是处理与用户的交互、按照某种应用逻辑进行处理与数据库系统的交互。两层C/S结构应用软件的开发工作主要集中在客户端软件,客户端软件一般由应用程序及相应的数据库连接程序组成,服务器端软件一般是某种数据库系统。客户机端软件的主要功能是处理与用户的交互、按照某种应用逻辑实现与数据库系统的交互;服务器端软件的主要功能是数据库系统根据客户端软件的请求进行数据库操作,然后将结果传送给客户端软件。客户端软件与服务器端软件之间的通信主要是通过SQL语句。两层C/S结构应用软件的开发工作主要集中在客户端,客户端软件不但要完成交互和数据显示,而且还要完成对应用逻辑的处理。
2.三层(或多层)B/S体系结构
三层(或多层)B/S结构(喻占武,2008)的特点是在两层结构的基础上加入一个(或多个)中间件层。它将C/S体系结构中原本运行于客户端的应用程序移到了中间件层,客户端只负责显示与用户交互的界面及少量的数据处理(如数据合法性检验)工作。客户端将收集到的信息(请求)提交给中间件服务器,中间件服务器进行相应的业务处理(包括对数据库的操作),再将处理结果反馈给客户机。
本质上B/S与C/S结构属于同一体系结构,B/S是在C/S体系基础上扩充而成的。这样,用户界面与应用逻辑位于不同的平台上,并且应用逻辑被所有的用户共享。在B/S的系统中,用户可以通过浏览器向分布在网络上的许多服务器发出请求。B/S结构极大的简化了客户机的工作,客户机上只需安装、配置少量的客户端软件即可,服务器将担负更多的工作,对数据库的访问和应用程序的执行将在服务器上完成。B/S体系是在Internet原有瘦客户机/胖服务器的C/S体系基础上发展起来的。这种新的体系前端是浏览器,后端是服务器。服务器包括Web服务器以及数据库服务器两部分。客户机和Web服务器之间的通讯采用标准的HTTP,而Web服务器与数据库之间的交互操作则采用CGI、JDBC或API等方式。这种就形成了表示层,应用逻辑层和数据层的三层构造模型。如图10-2所示。
与传统的C/S体系结构相比,三层体系结构存在如下优点:
(1)客户端零维护
在三层体系结构中,几乎所有的业务处理都是在中间件上完成的,客户端只需要安装相应的浏览器即可,不用做任何其它安装和配置工作,所以也就不存在客户端维护的问题,真正实现了“客户端零维护”。
(2)可扩展性好
三层体系结构的可扩展性好体现在以下三个方面:
第一,工作节点的可扩展性好。由于三层体系结构的客户端零维护的特点,使增加一个工作节点的工作简单到了只需增加一台装有相应的浏览器的PC机即可。
第二,应用系统的可扩展性好。好的应用系统应该能方便地实现一定程度上业务的变化和业务单元的增加。三层体系结构采用面向对象的分析和设计模式,将业务模块都封装到了业务类和服务类中,所以如果一个业务流程变了,或需要增加一个新的业务模块,只需替换或增加新的业务类和服务类即可。
第三,业务逻辑与用户界面及数据库分离,使得当用户业务逻辑发生变化时只需更改中间层的组件即可。
目前,网络GIS在Internet 的应用为典型的三层结构,包括客户机、应用服务器、数据库服务器。这种结构存在两个数据传输瓶颈:服务器提供服务的网络带宽和分布式空间数据存储系统的I/O带宽。为了解决这两个瓶颈,现在一般在服务器层采用服务器集群技术,但是底层存储仍采用磁盘阵列或传统的网络存储技术,空间数据服务和元数据管理都通过服务器来进行,带来了元数据服务器瓶颈问题。因此,有学者提出多层体系结构,如包括应用层、服务层、传输层和存储层的四层结构,用服务器集群技术解决服务器提供服务的网络带宽瓶颈,用基于对象存储技术解决分布式空间数据存储系统的I/O带宽瓶颈。
网络GIS内容体系
1. 基于C/S的网络GIS
基于C/S的网络GIS 采用分布式系统架构,构建于部门局域网络之上。它主要完成海量空间数据查询统计、地图编辑、空间分析、专题制图、数据转换输出等功能。快捷性、安全性、灵活性和高效性是基于C/S的网络地理信息系统的最大特点。
2. 基于B/S的网络GIS
基于B/S 的网络GIS 常常被称之为WebGIS,即互联网地理信息系统, 以互联网为环境, 以Web页面作为GIS 软件的用户界面,把Internet 和GIS技术结合在一起, 为各种地理信息应用提供GIS 功能。与传统GIS 相比,具有B/S体系结构的网络GIS使原来基于单机或局域网的GIS扩展到整个因特网, 使得地学数据和地学模型有可能在全球范围内共享。此外, WebGIS 还具备开发和应用管理成本低, 使用简单、能实现真正的信息共享、平台具有很强的独立性、良好的可扩展性、更广泛的访问范围和平衡高效的计算负载等诸多优点。
3. 基于空间Web服务的网络GIS
基于Web Service的网络GIS是将地理信息技术和Web Service分布式计算技术相结合的产物,将地理信息系统架构在Web Service上可以轻松实现地理信息互操作,实现透明的数据和功能跨平台无缝访问。目前,OGC成立了专门研究如何利用Web服务及其相关技术解决地理信息领域互操作问题的研究项目即OGC Web 服务启动项目(OGCWeb Services Initiative),即OWS (OGC Web Services),该项目提出一个可进化、基于开放地理数据互操作规范的、能够无缝集成各种在线空间处理和位置服务的框架,使得分布式空间处理系统能够通过XML和HTTP 技术进行交互,并为各种在线空间数据资源、来自传感器的信息、空间处理服务和位置服务进行基于Web的发现、访问、整合、分析、利用和可视化等操作提供互操作框架。
4.基于GRID的网络GIS
基于GRID的网络GIS简称GRID GIS,它是指实现网络环境中空间信息共享和协同服务的分布式GIS软件平台和技术体系。它将地理上分布、系统异构的各种计算机、空间数据服务器、大型检索存储系统、地理信息系统、虚拟现实系统等,通过高速互联网络连接并集成, 为对用户透明的虚拟的空间信息资源的超级处理环境。较之于传统的WebGIS,GRID GIS在网络结构、应用功能和实现方式等方面都同WebGIS有较多的差异。