第2章-WebGIS体系架构

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第2章WebGIS体系架构WebGIS架构和组成WebGIS基本实现方式分布式WebGISProtocol:HTTPNDSServerMailServerWebServerClientClientClientInternetDHCPServerServer80218080PortIP:159.226.117.45RouterGISClientSoftwareIEFireFoxNetscapeIISApacheTomcatResinJBossWeblogic客户端浏览器(例如IE,Navigator…)服务器(Web服务器)GIS服务器(地图渲染,索引,查询…)GIS元数据服务器数据服务器其他第三方应用服务器和中间件2.1WebGIS系统组成2.1WebGIS基本框架(逻辑结构)2.1WebGIS基本框架(逻辑结构)WebGIS的客户端是Web浏览器;通过安装GISPlug-In、下载GISActiveX或GISJavaApplets,实现客户端的GIS计算。2.1WebGIS基本框架(逻辑结构)服务请求,传递给GIS服务器或GIS元数据服务器,把结果送回给客户;GIS服务器完成客户的GIS服务请求的功能,将结果转为HTML页面或直接把GIS数据通过服务器返回客户端;GIS服务器也能同客户端的GISPlug-In/ActiveX/JavaApplets直接通信,完成GIS服务;GIS元数据服务器管理服务器端的GIS数据,并为客户提供GIS数据检索、查询服务。另外,在服务代理,协调服务器端GIS软件、GIS数据库和GIS应用程序间的通信,提高GIS服务器性能;2.1WebGIS基本框架(逻辑结构)数据库服务器:安装数据库管理程序(SQLServer、Oracle、MySQL等),存放空间数据,需要安装空间数据引擎(注:不同GIS平台提供不同数据引擎)普通数据、空间数据、元数据2.1WebGIS基本框架(逻辑结构)GIS功能在哪部分实现?2.2WebGIS实现技术一、简单B/S模式的WebGIS◦1、服务器端模式:请求指令发往运行于后台的GIS服务器,再将服务器返回的结果返回给用户。◦2、客户端模式:由服务器向客户端发送一段能运行在客户机上的程序。由该程序处理用户的一些简单请求(如地图开窗、缩放、漫游等),需要矢量数据时直接向服务器申请。由于该程序功能相对简单,对于那些复杂的客户请求(如空间分析),则仍由服务器处理。二、基于中间件技术的WebGIS(分布式WebGIS)◦目前支持分布式计算的主要中间件技术有CORBA、DCOM、EJB、.Net等2.2WebGIS实现技术按照GIS功能实现的部署位置,WebGIS实现模式有两种:1、服务器端模式CGI模式,ServerAPI2、客户端模式Plug-in模式、GISJavaApplet、GISActiveX控件Html+css+js2.2.1WebGIS服务器端实现技术服务器端应用的WebGIS就是在服务器执行GIS计算,并把执行的结果转换为HTML格式(一般是GIF/JPEG图像)返回客户端。GIS数据和GIS计算部署在服务器上,对客户请求的响应只是在服务器端进行GIS计算,然后将结果形成为新的中间GIS数据,和其他页面数据一起通过Web服务器返送给客户。2.2.1WebGIS服务器端实现技术2.2.1服务器端实现技术CGI模式基于CGI的InternetGIS是基于HTML的一种扩展,需要有GIS服务器在后台运行。通过CGI脚本,将GIS服务器和Web服务器连接。基于CGI的互联网地理信息系统的体系结构如图所示。客户端的所有GIS操作和分析,都是在GIS在服务器是完成的。市场上利用该原理实现的WebGIS软件有ESRIArcViewIMSESRIMapObjectsIMSMapInfoProserver2.2.1服务器端实现技术CGI模式工作原理:Web浏览器用户发出URL及GIS数据操作请求;Web服务器接受请求,并通过CGI脚本,将用户的请求传送给GIS服务器;GIS服务器接受请求,进行GIS数据处理如放大、缩小、漫游、查询、分析等,将操作结果形成GIF或JPEG图像;最后GIS服务器将GIF或JPEG图像,通过CGI脚本、Web服务器返回给Web浏览器显示。2.2.1服务器端实现技术CGI模式CGI是连接应用软件和Web服务器的标准技术,它是HTML的功能扩展。是网络服务器上的可执行程序,基本上所有的计算机语言都可以用来开发CGI程序,最常用的几种包括(C/C++、Perl和VisualBasic)。Web一出现,CGI技术很快被用于构造能生产动态地图的Web网站。HTML产生的对象基本上都是静态的而不是动态的,比如一个作为图像嵌入HTML文本中的地图就可以在用户端的浏览器中显示出来。这种图像是一种静态图像,用户并不能放大、缩小或查询这种影像地图。2.2.1服务器端实现技术CGI模式CGI提供了一个在浏览器和服务器之间,以及服务器和服务器上其他软件之间的一个接口。它允许网页用户通过网页的命令来启动一个存在于网页服务器主机的程序(称为CGI程序),并且接受到这个程序的输出结果。CGI是最早实现动态网页的技术,它使用户可以通过浏览器进行交互操作,并得到相应的操作结果。客户端浏览器使用HTML将客户的请求传给Web服务器,Web服务器通过专用的CGI访问GIS服务器(后端的GIS软件),GIS服务器承担所有的查询、计算工作,并将结果(数字图像)构建成一个HTML文档反馈给Web服务器,然后再传递给客户端浏览器。2.2.1服务器端实现技术CGI模式优势:功能强、资源利用率高:由于所有的GIS操作都是由GIS服务器完成的,具有客户端小、处理大型GIS操作分析的功能强、充分利用现有的GIS操作分析资源等优势;跨平台性好:由于在客户机端使用的是支持标准HTML的Web浏览器,操作结果是以静态的GIF或JPEG图像的形式表现,因而客户机端与平台无关。调用程序的方法易于理解和实现:通过一组简单的环境变量或命令行传递参数。安全性:CGI程序以一个独立进程方式运行,和Web服务器完全隔离,有错误的CGI程序很难损害服务器内部的完整性。2.2.1服务器端实现技术CGI模式劣势:增加了网络传输的负担:由于用户的每一步操作,都需要将请求通过网络传给GIS服务器;GIS服务器将操作结果形成新的栅格图像,再通过网络返回给用户,因而网络的传输量大大增加了。服务器的负担重:所有的操作都必须由GIS服务器解释执行,服务器的负担很重;信息(用户的请求和GIS服务器返回的图像)通过CGI脚本在浏览器和GIS服务器之间传输,势必影响信息的传输速度。2.2.1服务器端实现技术CGI模式劣势:同步多请求问题:由于CGI脚本处理所有来自Web浏览器的输入和解释GIS服务器的所有输出。对于每一个客户机的请求,都要重新启动一个新的服务进程。当有多用户同时发出请求时,系统的功能将受到影响。静态图像:在浏览器上显示的是静态图像,因而用户即不能漫游、缩放,又不能通过几何图形如点、线、面来选择显示其关心的地物。用户界面的功能受Web浏览器的限制,影响GIS资源的有效使用。2.2.1服务器端实现技术ServerAPI:服务器应用程序接口方法ServerAPI类似于CGI,不同之处在于CGI程序是单独可以运行的程序,而ServerAPI往往依附于特定的Web服务器,如MicrosoftISAPI依附于IIS(InternetInformationServer),只能在Windows平台上运行;NetscapeNSAPI离不开NetscapeWeb服务器,其可移植性较差。在ISAPI下建立的应用程序是以动态连接库的形式存在;而CGI的应用程序一般都是可执行程序。但是基于ServerAPI的动态连接模块启动后会一直处于运行状态,而不像CGI那样每次都要重新启动,其速度较CGI快得多。2.2.1服务器端实现技术微软公司的ISAPI运行在Windows环境下,是微软用以扩充IIS/程序的接口,分为:◦ISA(InternetServerApplication):也可称为ISAPIDLL,可为程序开发人员提供一些扩展功能,通过在客户端URL中指定名称而激活,其功能与CGI程序的功能直接对应,使用方法和CGI也类似。◦ISAPIFilter:用于构造能为服务器直接调用的模块,它位于服务器和客户端之间,对其间的通信进行预处理和后处理,例如加解密、用户身份验证、自定义日志记录等,并为程序开发人员提供一种用于监测来自服务器HTTP请求的无缝链接部件。ISAPIFilter是ISAPI特有的,没有与CGI中直接相对应的部分。2.2.1服务器端实现技术ServerAPI工作原理:◦Web浏览器的用户向Web服务器发出URL请求。该请求经由ISAPIFilter传输到服务器端的ISAPIDLL上。ISAPIFilter将对请求进行预处理,例如用户身份验证等。◦由ISAPIDLL与GIS服务器交互作用得到结果信息。◦结果信息经由Web服务器和ISAPIFilter传输到浏览器。2.2.1服务器端实现技术ServerAPI优点:◦运行效率比CGI更高:ISAPI运行的是进程而不是可执行程序,并且一旦启动,总是处于运行状态,因此对请求的反应更加及时。◦安全可靠传输:ISAPIFilter的过滤机制使得请求和结果的传输更加安全、可靠。缺点:◦可移植性差:ISAPIDLL与服务器密切相关。◦受限于ISAPIDLL,安全性不好:WebGIS的所有服务的实现均依赖于ISAPIDLL,一旦其失效或出现故障,则WebGIS服务器不能正常工作。◦系统维护复杂:对于每个请求,ISAPIDLL都要为其产生一个独立线程,多个线程共存导致系统运行的性能不高,也使得系统的维护更加复杂。2.2.2客户端实现技术客户端WebGIS允许GIS的数据和GIS计算能在用户本地计算机的浏览器上执行,由服务器向客户端发送一段能运行在客户机上的程序,需要矢量数据时直接向服务器申请,由该程序处理用户的GIS请求(如地图开窗、缩放、漫游、信息查询等)。客户端实现的GIS功能不一定完整,对于那些复杂的客户请求(如空间分析),则仍由服务器处理。客户端应用包括4种主要技术方案;GIS插件/Helper程序、GISActiveX控件和GISJavaApplets、HTML+JS+CSS2.4.7WebGIS体系架构简图2.2.2客户端实现技术Plug-in模式CGI系统仅提供给用户端(Client)有限的功能,传给用户的信息都是静态的而且用户的GIS操作都需要由服务器来处理。解决这个问题的方法之一是把一部分服务器上的功能移到用户端上,这样不仅加快了用户操作的反应速度,而且也减少了交互网上的流量。市场上基于Plug-in实现的WebGIS软件有:◦AutodeskMapGuide◦IntergraphWebMapServerforGeoMedia2.2.2客户端实现技术Plug-in模式标准浏览器只提供一些最基本的浏览和导航功能,而缺乏空间数据的处理能力。一种方法是安装额外能和网络浏览器交换信息的专门GIS软件。这种增加网络浏览器功能的方法就叫“插入法”(Plug-ins),为了便于其他软件厂商发展插入型软件,Netscape公司专门提供了一套应用程序接口(API)。这种插入软件不但可以增加网络浏览器处理地理空间数据的能力,使人们更容易获取地理数据,而且可以减少网络服务器的信息流量从而使服务器更有效地为更多的用户服务。因为大多数用户的数据处理功能可以由网络浏览器插入软件来完成。2.2.2客户端实现技术GISPlug-in是在浏览器上扩充Web浏览器的可执行的GIS软件。GISPlug-in的主要作用是使Web浏览器

1 / 56
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功