万维网GIS的体系结构


发布日期 : 2017-11-20 08:02:57 UTC

访问量: 145 次浏览

GIS系统的体系结构主要可以分为三种:一种是集中模式, 一种是客户/服务器(Client/Server)模式,另一种是Web/因特网模式。

集中模式的GIS系统为:终端完成两种操作, 即:(1)接受用户的输入,然后通过网络把输入发送给GIS服务器; (2)接受GIS服务器的处理结果,格式化并展现给用户。 GIS服务器相应地需要完成三种操作:(1)通过网络接受终端的输入, 处理终端输入;(2)格式化处理结果,并传送给终端;(3)维护数据库。

由此可知,在集中模式下的GIS系统,顾名思义, 信息库的存储、浏览、査询、检索、维护等都“集中”于GIS服务器, 服务的提供完全依赖于GIS服务器。所以,这种模式对服务器的速度、 可靠性等要求极高,一般需要专门的服务器作为GIS服务器, 这就提高了系统的造价。但它也有—个优点:系统结构相对简单。

客户/服务器模式的GIS系统为:客户端完成三种操作, 即:(1)管理用户接口,处理应用逻辑;(2)产生数据库请求, 并向GIS服务器发送请求,然后从GIS服务器接受结果; (3)格式化结果,并发布给用户。GIS脤务器相应的功能为: (1)从客户机接受数据库请求;(2)处理数据库请求; (3)格式化结果,并传送给客户机;(4)维护数据库。

由此可知,在客户/服务器模式下的GIS系统,客户机执行前端处理, 服务器执行后端处理。它把整个系统的负担在客户/服务器间进行适当的分配, 在客户端运行应用程序符合实际应用多样性的需要, 而对于整个系统的基础---数据库则集中于服务器,便于数据库的维护。 这种结构具有较强的数据操纵和事务处理能力, 以及较强的数据的安全性和完整性约束,因此, 这种模式的GIS系统是比较合理的。但是, 由于客户/服务器的结构开发和管理成本越来越高, 其客户端变得越来越臃肿,系统的使用也较复杂。

Web/因特网模式GIS系统的客户端和服务器所完成的功能 基本上与Client/Server模式下的功能一致, 它实质上是Client/Server技术与因特网技术相结合的成果。 这种模式不仅利用了基于Web的因特网结构的简便和灵活性的特点, 而且应用Client/Server技术大大地强化了其事务处理和安全性、 完整性约束能力,从而实现了真正业务相关的WebGIS。 较早的WebGIS开发方法基采用CGI (Common Gateway Interface——通用网关接口) 和ServerAPI(扩充的CG1工具)来建立应用程序和WebGIS服务器之间的接口, 其实现方式如前文所述。但是典型的CGI操作方式非常繁琐、低效。 而且,CGI机制本身也有很大的缺陷,它对每个TCP/IP的请求, 都生成一个CGI进行处理,随着同时的TCP/IP连接数目的增加, Web服务器会过载。更糟的是,生成的许多CGI脚本是解释性的shell脚本, 比编译后的代码的运行速度要慢得多。 经过各种扩充的CGI工具也无助于问题的解决, 因为各种方案都需要通过HTTP和WWW服务器来协调客户机和WebGIS之间的交互, 并且交互的基本手段仍是HTML表格。所以, 这种方式对于需要大通信量的WebGIS系统显然是不合适的。

为此,1996年,Microsoft公司在OLE2.0的基础上提出了 一个解决方案——DCOM/ActiveX技术。DCOM/ActiveX规范使得 客户机对象和服务器对象之间能够直接对话, 不再受CGI/HTTP瓶颈的约束。其具体实现方式是: 以VisualC++或Visual Basic等工具生成对象;在服务器上注册对象; 利用VBScript脚本或其他工具把对象以ActiveX控件的形式嵌入Web网页; 指定ActiveX控件的运行方式——客户端运行/服务器运行,合理分配系统负荷。

事实上,DCOM/ActiveX技术只是针对CGI/HTTP瓶颈问题而提出的解决方案 ——“ObjectWeb”技术的一个具体实现。另外还有一个解决方案 是Sun公司提出的JavaApplet技术。JavaApplet区别于DCOM/ActiveX技术 的一个明显特点是它从Java继承来的跨平台特性, 但其代价是速度的相对减慢。 目前这两种方案都在争取成为“Object Web”技术的标准。

由上述分析可知,WebGIS设计的关键在于ActiveX控件的设计。 因此必须注意控件的划分——控件间相关最小,控件内相关最大; 控件实现时要追求代码的高效;控件的运行方式的合理设计。 此外,控制客户端对象对数据库的存储权限, 客户端地理信息的发布格式——矢量图/栅格图也是值得考虑的关键技术。

WebGIS技术是GIS系统与因特网技术相结合的成果, 通过利用因特网技术,GIS能更灵活方便地为用户服务。 早期的WebGIS由于因特网技术交互能力的局限, 并没有太多地利用Client/Server技术,仅仅是一个信息发布中心; 现在,利用“ObjectWeb”技术才真正地把这两种技术结合在一起, 从而发挥出了各自的优势。

WebGIS必将带领GIS技术进入一个革新的时期。