第八章C/S与B/S模式下的地理信息系统8.1基于C/S模式的地理信息系统随着计算机网络的发展,基于客户机/服务器体系结构,并在网络支持下的分布式系统结构已经成为地理信息系统的发展趋势。由于GIS的固有的特点,使得运行于网络上的分布式系统特别适合于构造较大规模的GIS应用,其应用表现在以下几个方面:1.数据的分布:在地理信息系统中,主要数据是空间数据,由于数据生产和更新的要求,常常需要存放在空间上分离的计算机上。2.应用功能的分布:GIS的功能组成了由空间数据录入到输出的一个工作流程,不同的人员由于其关注的信息不同,需要不同的GIS功能服务对数据进行处理,将应用分布在网络上就可以解决该问题。3.外设共享:外设的分布是服务分布的一种,由于许多GIS外设较为昂贵,如高精度平板扫描仪,喷墨绘图仪,大幅面数字化仪等,而通过分布式系统可以实现这些设备的共享。4.并行计算:在地理信息系统中,许多模型具有较高的时间复杂性,利用分布系统可以实现并行计算,缩短计算时间。下面将描述分布式系统以及一些网络地理信息系统的模式和实现。分布式系统和C/S模型分布式系统(DistributedSystem)的定义是:一组独立计算机的集合,但是从用户的角度来看,如同于一台计算机。较之于集中式系统(CentralizedSystem以及独立的微机系统,分布式系统具有以下优点(表1,表2):表1:分布式系统的优势--与集中式系统比较[A.S.Tanenbaum]项目描述经济多个微处理器提供了更好的性能/价格比速度一个分布式系统比大型机有更好的总体计算能力固有的分布一些应用系统需要运行于空间上分离的机器可靠性如果一台机器崩溃,整个系统还能够运行
第八章 C/S 与 B/S 模式下的地理信息系统 8.1 基于 C/S 模式的地理信息系统 随着计算机网络的发展,基于客户机/服务器体系结构,并在网络支持下的 分布式系统结构已经成为地理信息系统的发展趋势。由于 GIS 的固有的特点,使 得运行于网络上的分布式系统特别适合于构造较大规模的 GIS 应用,其应用表现 在以下几个方面: 1. 数据的分布:在地理信息系统中,主要数据是空间数据,由于数据生产和更 新的要求,常常需要存放在空间上分离的计算机上。 2. 应用功能的分布:GIS 的功能组成了由空间数据录入到输出的一个工作流程, 不同的人员由于其关注的信息不同,需要不同的 GIS 功能服务对数据进行处 理,将应用分布在网络上就可以解决该问题。 3. 外设共享:外设的分布是服务分布的一种,由于许多 GIS 外设较为昂贵,如 高精度平板扫描仪,喷墨绘图仪,大幅面数字化仪等,而通过分布式系统, 可以实现这些设备的共享。 4. 并行计算:在地理信息系统中,许多模型具有较高的时间复杂性,利用分布 系统可以实现并行计算,缩短计算时间。 下面将描述分布式系统以及一些网络地理信息系统的模式和实现。 分布式系统和 C/S 模型 分布式系统(Distributed System)的定义是:一组独立计算机的集合,但是 从用户的角度来看,如同于一台计算机。较之于集中式系统(Centralized System) 以及独立的微机系统,分布式系统具有以下优点(表 1,表 2): 表 1:分布式系统的优势-与集中式系统比较[A. S. Tanenbaum] 项目 描述 经济 多个微处理器提供了更好的性能/价格比 速度 一个分布式系统比大型机有更好的总体计算 能力 固有的分布 一些应用系统需要运行于空间上分离的机器 可靠性 如果一台机器崩溃,整个系统还能够运行
增量发展计算能力能够以很小的增量增长表2:分布式系统的优势--与微机系统比较[A.S.Tanenbaum]项目描述数据共享允许多个用户访问同一数据库设备共享允许多个用户共享昂贵的外设通讯使人与人之间的通讯变得简单,如电子邮件灵活性以最有效的方式将工作量分布在所有可用的机器上在具有上述优势的同时,由于分布式系统的复杂性,对软件硬件提出了更高的要求,它也具有以下不足之处(表13-3):表3:分布式系统的不足之处[A.S.Tanenbaum]项目描述软件当前支持分布式系统的软件较少网络网络可能充满了或者引发其它的错误安全性容易使得需要保密的数据被访问客户机/服务器(C/S,Client/Server)模型是一种分布式系统结构,在该体系中,客户端通常是同最终用户交互的应用软件系统,而服务器由一组协作的过程构成,为客户端提供服务。客户机和服务器通常运行相同的微内核,一个客户机/服务器机制可以有多个客户端,或者多个服务器,或者兼而有之。客户机/服务器模式基于简单的请求/应答协议,即客户端向服务器提出信息处理的请求,服务器端接收到请求并将请求解译后,根据请求的内容执行相应操作,并将操作结果传递回客户端(图1)。客户机/服务器体系的优点在于简单和高效。HTTP、FTP等协议都是遵循客户机/服务器的模式。在网络地理信息系统的实现中,客户机/服务器模型是经常采用的一种方案。目前,将服务器分解形成数据服务器和应用服务器,形成三层结构,可以更好地区分数据访问操作和应用模型,这是经常被采用的一种结构
增量发展 计算能力能够以很小的增量增长 表 2:分布式系统的优势-与微机系统比较[A. S. Tanenbaum] 项目 描述 数据共享 允许多个用户访问同一数据库 设备共享 允许多个用户共享昂贵的外设 通讯 使人与人之间的通讯变得简单,如电子邮件 灵活性 以最有效的方式将工作量分布在所有可用的 机器上 在具有上述优势的同时,由于分布式系统的复杂性,对软件硬件提出了更高 的要求,它也具有以下不足之处(表 13-3): 表 3:分布式系统的不足之处[A. S. Tanenbaum] 项目 描述 软件 当前支持分布式系统的软件较少 网络 网络可能充满了或者引发其它的错误 安全性 容易使得需要保密的数据被访问 客户机/服务器(C/S,Client/Server)模型是一种分布式系统结构,在该体系 中,客户端通常是同最终用户交互的应用软件系统,而服务器由一组协作的过程 构成,为客户端提供服务。客户机和服务器通常运行相同的微内核,一个客户机 /服务器机制可以有多个客户端,或者多个服务器,或者兼而有之。客户机/服务 器模式基于简单的请求/应答协议,即客户端向服务器提出信息处理的请求,服 务器端接收到请求并将请求解译后,根据请求的内容执行相应操作,并将操作结 果传递回客户端(图 1)。客户机/服务器体系的优点在于简单和高效。HTTP、FTP 等协议都是遵循客户机/服务器的模式。在网络地理信息系统的实现中,客户机/ 服务器模型是经常采用的一种方案。目前,将服务器分解形成数据服务器和应用 服务器,形成三层结构,可以更好地区分数据访问操作和应用模型,这是经常被 采用的一种结构
客户端服务器客户端请求信息7服务器客户端图1:客户端-服务器模型8.2网络地理信息系统的组合方式在分布式的网络地理信息系统中,客户机和服务器分别由相应的软件、硬件以及数据库组成,其组合可以按照数据和应用功能的分布分成五种(表1):表1:网络信息系统的组合方式[李斌]组合方式数据应用功能全集中式中央服务器中央服务器客户端数据集中式中央服务器客户端中央服务器功能集中式全分布式客户端客户端函数库分布客户端或者中央服务器存储,客户端动式服务器态连接执行8.2.1全集中式全集中式的地理信息系统把软件、数据库管理系统和数据库全部集中在中央服务器上,客户系统只负责用户界面功能,即获得用户指令并传递给服务器,显示查询结果,提供系统的辅助功能(图1)。常用的客户设置有三种,第一种是以X-server为代表的,只负责表现逻辑的客户系统,所有的数据处理和运算均在服务器上执行,客户端由专门的X终端或者X模拟器通过X协议实现用户与服务器之间的通讯;第二种是以ArcView为代表的客户软件系统,这类系统除了提供一般的用户界面以外,还具有相当强的分析和处理功能。ArcView可以与ESRI的ARC/INFO、与作为服务器的SDE、Arcstorm,通过网络软件系统NFS或者网络API构成网络地理信息系统;第三种是目前在WebGIS上广泛采用的客户系统,用户界面功能由浏览器执行,WebGIS在后面还将进一步的描述
图 1:客户端-服务器模型 8.2 网络地理信息系统的组合方式 在分布式的网络地理信息系统中,客户机和服务器分别由相应的软件、硬件 以及数据库组成,其组合可以按照数据和应用功能的分布分成五种(表 1): 表 1:网络信息系统的组合方式[李斌] 组合方式 数据 应用功能 全集中式 中央服务器 中央服务器 数据集中式 中央服务器 客户端 功能集中式 客户端 中央服务器 全分布式 客户端 客户端 函数库分布 式 客户端或者 服务器 中央服务器存储,客户端动 态连接执行 8.2.1 全集中式 全集中式的地理信息系统把软件、数据库管理系统和数据库全部集中在中央 服务器上,客户系统只负责用户界面功能,即获得用户指令并传递给服务器,显 示查询结果,提供系统的辅助功能(图 1)。常用的客户设置有三种,第一种是 以 X-server 为代表的,只负责表现逻辑的客户系统,所有的数据处理和运算均 在服务器上执行,客户端由专门的 X 终端或者 X 模拟器通过 X 协议实现用户与服 务器之间的通讯;第二种是以 ArcView 为代表的客户软件系统,这类系统除了提 供一般的用户界面以外,还具有相当强的分析和处理功能。ArcView 可以与 ESRI 的 ARC/INFO、与作为服务器的 SDE、Arcstorm,通过网络软件系统 NFS 或者网络 API 构成网络地理信息系统;第三种是目前在 WebGIS 上广泛采用的客户系统, 用户界面功能由浏览器执行,WebGIS 在后面还将进一步的描述
ClientClient应用程序服务器数据管理数据服务器服务器ClientClient图1:全集中式网络信息系统[李斌]8.2.2数据集中式网络系统专门设置集中的数据存储和管理服务,网络的其它部分成为数据客户,它们一般都是带有一定功能的地理信息系统软件(图2)。简单的数据服务可以由网络软件系统(如NFS)提供,大型的管理系统则需要功能完备和高性能的数据服务器,如Arcstorm和Oracle。由于目前许多数据库管理系统开始支持面向对象的数据模型,更加方便于空间数据的管理,以建立数据集中式的网络地理信息系统。数据服务器DBMS服务器其它其它地理信息系统地理信息系统软件系统软件系统软件系统软件系统(b)(a)图2:数据集中式地理信息系统组合模式【李斌]】(a)采用网络文件系统,(b)采用数据库服务器8.2.3功能集中式与数据集中式相反,功能集中式的网络信息系统把绝大部分的功能集中在一个或者几个容量大、性能高的服务器上,由它们负责所有的分析和处理,数据则分散到客户端存储和管理(图3)。由于在大多数GIS应用中,数据量一般比较庞大,采用这种方式,会增加网络的传输量,从而降低整个系统的性能
应用程序 服务器 数据管理 服务器 数据 服务器 Client Client Client Client 图 1:全集中式网络信息系统[李斌] 8.2.2 数据集中式 网络系统专门设置集中的数据存储和管理服务,网络的其它部分成为数据客 户,它们一般都是带有一定功能的地理信息系统软件(图 2)。简单的数据服务 可以由网络软件系统(如 NFS)提供,大型的管理系统则需要功能完备和高性能 的数据服务器,如 Arcstorm 和 Oracle。由于目前许多数据库管理系统开始支持 面向对象的数据模型,更加方便于空间数据的管理,以建立数据集中式的网络地 理信息系统。 (a) (b) 数据服务器 地理信息系统 软件系统 其它 软件系统 DBMS 服务器 地理信息系统 软件系统 其它 软件系统 图 2:数据集中式地理信息系统组合模式[李斌] (a)采用网络文件系统,(b)采用数据库服务器 8.2.3 功能集中式 与数据集中式相反,功能集中式的网络信息系统把绝大部分的功能集中在一 个或者几个容量大、性能高的服务器上,由它们负责所有的分析和处理,数据则 分散到客户端存储和管理(图 3)。由于在大多数 GIS 应用中,数据量一般比较 庞大,采用这种方式,会增加网络的传输量,从而降低整个系统的性能
地理信息系统服务器地理信息系统软件系统其它软件系统数据存数据库管数据存数据库管储器储器理系统理系统图3:功能集中式的地理信息系统[李斌]8.2.4全分布式全分布系统是原有的非网络化的信息系统自然进化的结果。在全分布系统中,各个子系统具有完备的数据库及地理信息系统软件和其它应用软件,在网络中同时扮演客户和服务器的角色。各个子系统的软硬件环境和特性及拥有的数据都很可能不一样,但同时又有很密切的联系和互补性。系统的集成,通过网络操作系统及各子系统提供的API实现。实现全分布式的网络地理信息系统,往往需要基于已有的系统平台进行二次开发,使它们能够相互协作。8.2.5函数库服务器传统的软件系统一般是静态的,为了提供更多的功能,系统变得越来越大,而实际上,对于每一个用户而言,通常只是需要有限的几个功能,这样就造成了系统资源的浪费。对于集中式系统而言,系统的扩大将加大中央服务器的负担,造成系统性能下降,而全分布系统实现又较为复杂。函数服务器把优化的功能函数存储在服务器上,通过网络按用户要求动态合成应用软件,并使其在客户机上运行。从而从根本上改变了传统的资源分配和软件运行及维护方式。基于分布构件模型(CORBA或DCOM)构造的软件系统可以在一定程度上实现函数库服务器。8.3网络地理信息系统的概念设计从逻辑上讲,基于用户的功能需求进行概念设计是大多数计算机网络软硬件配置设计的第一步。概念设计应当基于如下要点:1.对用户的应用意图有充分的了解;2.掌握计算机硬件和计算机通讯的基本概念知识;3.了解已经存在的并有可能影响设计的条件,包括现有软件系统以及通讯
地理信息系统服务器 地理信息系统 软件系统 其它软件系统 数据存 储器 数据库管 理系统 数据存 储器 数据库管 理系统 图 3:功能集中式的地理信息系统[李斌] 8.2.4 全分布式 全分布系统是原有的非网络化的信息系统自然进化的结果。在全分布系统 中,各个子系统具有完备的数据库及地理信息系统软件和其它应用软件,在网络 中同时扮演客户和服务器的角色。各个子系统的软硬件环境和特性及拥有的数据 都很可能不一样,但同时又有很密切的联系和互补性。系统的集成,通过网络操 作系统及各子系统提供的 API 实现。实现全分布式的网络地理信息系统,往往需 要基于已有的系统平台进行二次开发,使它们能够相互协作。 8.2.5 函数库服务器 传统的软件系统一般是静态的,为了提供更多的功能,系统变得越来越大, 而实际上,对于每一个用户而言,通常只是需要有限的几个功能,这样就造成了 系统资源的浪费。对于集中式系统而言,系统的扩大将加大中央服务器的负担, 造成系统性能下降,而全分布系统实现又较为复杂。函数服务器把优化的功能函 数存储在服务器上,通过网络按用户要求动态合成应用软件,并使其在客户机上 运行。从而从根本上改变了传统的资源分配和软件运行及维护方式。基于分布构 件模型(CORBA 或 DCOM)构造的软件系统可以在一定程度上实现函数库服务器。 8.3 网络地理信息系统的概念设计 从逻辑上讲,基于用户的功能需求进行概念设计是大多数计算机网络软硬件 配置设计的第一步。概念设计应当基于如下要点: 1. 对用户的应用意图有充分的了解; 2. 掌握计算机硬件和计算机通讯的基本概念知识; 3. 了解已经存在的并有可能影响设计的条件,包括现有软件系统以及通讯