2.3. 瘦客户端和胖客户端架构

发布日期 : 2025-10-12 13:01:48 UTC      

访问量: 680 次浏览

如何在客户端与服务器间进行功能分配?这是在设计客户端/服务器架构产品或项目时必须考虑的一个问题。 根据不同的功能分配模式,WebGIS系统可以划分为瘦客户端和胖客户端两种架构(龚健雅,1999)。 本节将结合具体实例来介绍一种最佳分配方案。

2.3.1. 瘦客户端架构 #

在通常的瘦客户端架构中,客户端一般承担较少的任务,主要负责向服务器发送请求; 而服务器承担大部分的处理工作,如生成地图和执行相关分析等, 以HTML等方式把文字、表格、GIF、PNG或JPEG格式的地图返回给客户端显示。 例如,世界上第一个WebGIS应用PARC Map Viewer(图1.6), 就是一个典型的瘦客户端架构。 这种架构主要优点是:

  • 除Web浏览器外,用户不需要安装任何GIS软件和插件;

  • 绝大部分的地理操作由GIS服务器解释执行,客户端不需配置功能强大的计算机, 在低端计算机上也可以正常运行。

这种架构的主要缺点如下:

  • 服务器的负担重。绝大部分地理操作依赖于GIS服务器完成;

  • 交互性弱。用户界面往往使用普通HTML和部分简单的JavaScript构建,表现力一般欠佳。

2.3.2. 胖客户端架构 #

与瘦客户端正好相反,胖客户端把较多的任务分配给了客户端。 这种架构主要是通过在客户端计算机上安装相应的Web浏览器插件(如Flash和Silver-light 等 ), 或通过采用客户端本地 (或嵌入式) 应用程序来实现。 这种架构的主要优点有:

  • 用户交互速度快。很多数据和程序都是在客户端,不需要把所有请求都发送到服务器。

  • 服务器负担轻。

这种架构也存在以下缺点:

  • 需要事先完成相应安装。用户需要下载安装GIS插件或本地程序。 在一些政府、军队等安全要求较高的单位,安装插件和本地程序往往通常需要经过事先批准, 使用这种架构是受限制的。

  • 面临网络带宽和客户机计算能力的限制。通常情况下,在互联网上传输百兆或千兆字节的数据, 或在客户端执行高强度的地理分析计算,往往是不可行的。

2.3.3. 最佳模式 #

近年来,客户端技术日益强大,如插件、JavaScript和HTML5等, 已经能够承担越来越多的工作任务。 目前,一种应用广泛的最佳模式是把一个项目中的功能划分为基础底图、操作图层和任务三大组成部分, 如公式2. 1和图2. 9所示(Quinn,2008 ; Brown et al. ,2008)。

WebGIS应用=基础底图+操作图层+任务 (2. 1)

其中

  • 基础底图:展示一个项目的地理位置和环境基础,通常应该在服务器生成。 基础底图往往是相对静态的,更新频率比较低,所以应该尽量预先制作成瓦块地图, 以提高浏览速度(见第3.5.1节)。

  • 操作图层:绘制在基础底图之上,是最终用户浏览、查询或编辑操作的主题图层。 通常情况下,操作图层的坐标和属性信息被下载到客户端,由客户端负责管理和渲染表达。 这种方法的优点是用户可以快速地与之进行交互,如通过点击鼠标来显示其要素属性或相关报告。 当操作图层数据量过大、客户端难以全部显示时,可以考虑采用比例尺依赖, 即只在地图放大到较大比例尺时才显示该操作图层。 在一些情况下,也可以利用服务器端动态或瓦块地图的方式来制作和显示操作图层。

  • 任务:WebGIS应用通常提供多种工具,如寻址、导航和查询等通用工具以及用户机构的专用工具。 如果一个功能所需的数据在客户端,或该工具所需的计算相对简单, 可以把该任务分配给客户端完成;如果一项功能所依赖的数据量庞大,数据都在服务器端, 或所需的计算相对复杂,这样的任务应该交给服务器来完成。

根据目前最佳的分工模式,底图一般在服务器端制作,操作层通常在客户端显示, 简单的分析任务可以在客户端完成,而复杂或涉及较大数据量的任务则需要在服务器端完成

Fig. 2.9 根据目前最佳的分工模式,底图一般在服务器端制作,操作层通常在客户端显示, 简单的分析任务可以在客户端完成,而复杂或涉及较大数据量的任务则需要在服务器端完成 #

波士顿太阳能项目(Solar Boston)就采用了上述最佳分工模式(图2. 10)。 该项目是由美国能源部发起和支持的,其目的是为推广太阳能,减少温室气体排放, 帮助波士顿居民和有关部门实现在2015年之前安装总计25 MW太阳能发电设施的目标。 为让公众了解和跟踪太阳能设施的进展情况,让用户估算自家房顶上的太阳能潜力, 波士顿重建局在2008年使用ArcGIS Server及早期的ArcGIS Flex接口, 开发了波士顿太阳能项目WebGIS应用(Knight,2009), 应用了基础底图、操作图层和任务这一最佳应用分工模式。

  • 基础底图:波士顿太阳能项目WebGIS应用提供了三种类型的底图, 分别是街道底图、地形底图和航空影像底图,是根据波士顿市的权威数据资料绘制的, 包括了每座建筑的屋顶信息。这些底图主要帮助用户了解波士顿市的基本情况, 理解绿色能源项目的选址,了解这些项目与周围地形和建筑等的关系。 底图在服务器端被预先创建了多级缓存,比例尺范围从 1:80 000到 1:1 250。

  • 操作图层:在波士顿太阳能项目WebGIS应用中,绿色能源项目是操作图层, 其中项目的坐标和属性信息是从服务器端抽取后传输到浏览器。 浏览器端使用ArcGIS API for Flex对每个项目进行动态分类, 用不同的图标来显示不同类型的属性项(太阳能、生物质能、水能或风能)。 当鼠标停留在每个绿色能源项目上时,将立即弹出信息窗口,显示其发电瓦数和照片。

波士顿太阳能项目WebGIS应用由基础底图、操作图层和任务组成, 展示了一种最佳的服务器和客户端分工模式。(致谢:波士顿重建局)

Fig. 2.10 波士顿太阳能项目WebGIS应用由基础底图、操作图层和任务组成, 展示了一种最佳的服务器和客户端分工模式。(致谢:波士顿重建局) #

在波士顿太阳能项目WebGIS中,房顶或地面所接受的太阳能潜力计算复杂,所需的数据量庞大, 所以该任务被分配到服务器端执行。(致谢:波士顿重建局)

Fig. 2.11 在波士顿太阳能项目WebGIS中,房顶或地面所接受的太阳能潜力计算复杂,所需的数据量庞大, 所以该任务被分配到服务器端执行。(致谢:波士顿重建局) #

  • 任务:在波士顿太阳能项目WebGIS应用中,用户可以选择某栋建筑的屋顶或在地图上画一个多边形, 估算出在该区域安装太阳能板可能产生的电力。地面太阳能潜力计算属于密集型操作, 需要用到数字高层模型、建筑物高度等大量数据,而且这些数据不便传输到浏览器端, 难以在浏览器中高效执行。因此,这个功能被分配到服务器端运行。计算结果被发送到浏览器, 以图表的形式显示给最终用户(图2. 11)。

《地理信息系统原理、技术与方法》  97

最近几年来,地理信息系统无论是在理论上还是应用上都处在一个飞速发展的阶段。 GIS被应用于多个领域的建模和决策支持,如城市管理、区划、环境整治等等,地理信息成为信息时代重要的组成部分之一; “数字地球”概念的提出,更进一步推动了作为其技术支撑的GIS的发展。 与此同时,一些学者致力于相关的理论研究,如空间感知、空间数据误差、空间关系的形式化等等。 这恰好说明了地理信息系统作为应用技术和学科的两个方面,并且这两个方面构成了相互促进的发展过程。