|
阅读:1912回复:6
[转帖]WebGIS设计思想WebGIS设计思想 CGI和Sever API是较早应用于WebGIS开发的方法。其中CGI是通用网关接口(Common Gateway Interface)的英文缩写,它建立了Internet服务器与应用程序之间的接口。基 于CGI的WebGIS是按照如下方式实现WWW交互的:用户发送一个请求到服务器上,服务器通 过CGI把该请求转发给后端运行的GIS应用程序中,由应用程序生成结果交还给服务器,服 务器再把结果传递到用户端显示。这种方式的缺点是服务器每次请求都要重新启动GIS应 用程序,降低了系统响应速度。Sever API是经过扩充的CGI工具,比如Microsoft的ISAPI和Netscape的NSAPI。采用Server API ,服务器请求后端GIS应用程序时不用重新启动该程序,而是通过IPC(Inter-process Communication,进程间通讯协议)与之进行信息交换。不过由于Server API没有统一的 标准,所以一旦采用了某种Server API,那么服务器端将依赖于这种服务器程序。 目前的大部分WebGIS是采用的CGI/Sever API方法。但是,CGI机制本身有很大的缺 陷,对于每一个客户机的请求,都要重新启动一个新的服务进程,从而影响速度。它不适 应于编写最新的客户/服务器应用软件,也不适合编写面向对象的Java客户机。经过各种 扩充的CGI工具也无助于问题的解决,因为不管是采用进程间DLL、服务器插件或者是ORB 对象的方案,它们都需要HTTP和Web服务器作为中介,来协调服务器和客户机对象之间的 通信。一个客户机对象无法直接调用服务器对象,客户机与服务器对象之间交互的基本形 式仍然是HTML表格。对于象WebGIS这样复杂的客户/服务器应用来说,网络通信量相当大 ,采用这种方式很难进一步提高速度。为了解决这个问题,1997年6月诞生了Web的一种分 布式对象方案,称为“Object Web”。 Object Web将是Internet变革中的又一个新浪 潮。 基于Object Web规范的WebGIS可以称为分布式对象WebGIS,这是WebGIS的最新发展 方向。基于Object Web开发的WebGIS可以有效避免CGI形成的瓶颈,允许客户机直接调用 服务器上的方法。分布式对象平台提供一种可以伸缩的由服务器到服务器的体系结构,服 务器对象可以运行在多个服务器上,从而可以动态平衡客户端请求的负载。 目前,有两套不同的Object Web规范正在进行着激烈的竞争:一个是Object Management Group和Javasoft公司的联合推出的CORBA/Java 标准,另一个是Microsoft 公司提出的DCOM /ActiveX标准。两个标准各有千秋,相持不下。尽管Java编译器在不断 改进,但是CORBA/Java 在运行速度上仍然不如DCOM/ActiveX。和Java一样,CORBA/Java 规范的最大优势仍然在于其跨平台能力,适用于Windows、Macintosh、UNIX等,而DCOM/A ctiveX目前还只能运行于32位Windows系列操作系统。不过,Windows系列操作系统的市场 占有率达80%以上,在Internet客户端的计算机市场里,其占有率则可能更高。究竟选用 何种规范来开发WebGIS,需要根据软件的设计目标来权衡各方面的因素。 进行WebGIS设计的另外一个重要选择是,在客户端使用矢量地图或者栅格地图。如果 使用矢量图形,一般需要在客户端事先安装插件(plug-in),或者运行时自动下载Java Applet抑或ActiveX控件;在客户端使用栅格图像则不需要而任何额外程序。不过,正因 为在客户端使用了插件、Java Applet或者ActiveX控件,采用矢量图形方式可以在本地 执行许多操作,比如:地图放大缩小、漫游、就地选择并高亮显示,在一定程度上减少了 服务器端的负载和网络上的数据传输量;采用栅格图像方式,在客户端只能读得鼠标的x, y坐标,进行地图缩放、平移和选择等操作都要传递x, y坐标到服务器端处理,生成新 的栅格图传递到客户端显示,增加了服务器和网络传输的负担。 |
|
|
1楼#
发布于:2007-03-23 06:39
我觉得这个思想很好,但就是有一点不完美!<img src="images/post/smile/dvbbs/em02.gif" />
|
|
|
|
2楼#
发布于:2007-03-22 21:41
<img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em02.gif" /><img src="images/post/smile/dvbbs/em06.gif" />
|
|
|
|
3楼#
发布于:2004-12-02 19:49
哈哈哈哈哈哈哈哈哈哈
|
|
|
4楼#
发布于:2004-12-02 13:45
<P>不错!</P>
<img src="images/post/smile/dvbbs/em23.gif" /> |
|
|
5楼#
发布于:2004-12-02 09:44
很好的谢谢
|
|
|
6楼#
发布于:2004-12-01 16:22
<P>如果好的话支持一下</P><img src="images/post/smile/dvbbs/em02.gif" /><img src="images/post/smile/dvbbs/em02.gif" /><img src="images/post/smile/dvbbs/em02.gif" />
|
|