当前位置:甜馍馍地理信息网 >> 地理信息系统GIS >> WebGIS >> 正文 >>  [阅读资讯:Ajax机制与Ajax模型探讨及基于Ajax的WebGIS框架]

Ajax机制与Ajax模型探讨及基于Ajax的WebGIS框架

[ 来源:互联网 | 时间:2007年11月09日 | 收藏本文 ] 【

对于WebGIS而言,这种良好的用户体验是其应用一直缺乏的,研究与开发人员总是难以在性能和使用体验之间找到合适的平衡点。针对这个问题,本文探讨了Ajax方法在WebGIS客户端实现中的应用,以期改善用户体验。

通过客户端的发展回顾和Ajax机制分析,我们不难发现WebGIS具备采用Ajax开发的基本特征:需要即时的交互响应,大量、频繁地与服务器通讯并以GML或图片形式传输数据。实际上,ArcIMS早已徘徊在Ajax大门外了。它的HTML Viewer模式可传输ArcXML数据与图片,利用Javascript脚本控制操作同时采用DHTML技术显示地图,只缺异步传输这关键一环。所以,Ajax完全可以担当起WebGIS客户端实现的重任,提升用户体验。

现在越来越多的桌面应用转向Web平台,而人们也一直希望日益丰富的Web应用能够做到简单易用、高效并具有良好的交互性能。随着Google推出Google Maps、GMail等一系列服务让人们看到了曙光,感受到一种全新的Web使用体验。这种体验的显著特点就是无需下载、安装,操作响应速度快,具有良好的互动性,尤其是再也没有出现以往那种在等待返回结果期间由于浏览器刷新而造成的白屏现象。

这种令人欣喜的体验源自服务中所采用的Ajax方法。Ajax(Asynchronous Javascript + XML)并不是一种新的技术。正如它的名字所表现的那样,Ajax是由几种蓬勃发展的技术以新的方式组合而成:使用XMLHttpRequest进行异步数据传输;利用XML和XSLT技术进行数据的交换与处理;以XHTML和CSS作为显示标准,通过DOM实现动态显示和交互;而这一切都通过Javascript串联衔接起来。正是这些传统技术看似简单的重组却给Web应用开发带来新的活力。

Ajax模型

传统Web应用模型的运行流程为:用户的操作触发提交给Web服务器的HTTP请求,服务器接到请求后执行相应操作,然后返回一个HTML页面给客户端。这个过程不断重复直到用户退出。整个过程是同步的,前一步结束才能进入下一环节,因而导致用户在发出请求后,得到返回结果前的这段时间里一直处于等待状态。浏览器同样因为等待而无法响应用户的进一步操作,并由于页面刷新引发白屏现象。

Ajax模型与传统模型的不同之处在于服务应答的异步性(图1)。这是通过在客户端与服务端之间引入一个中间层——Ajax引擎(Ajax Engine)实现的。Ajax引擎将客户端的页面剥离为数据层、控制层和表现层:浏览器中的各类数据被组织成一棵DOM树;针对操作触发的各种事件,利用Javascript处理DOM数据并依据XHTML和CSS规范进行界面的绘制。结构的明晰为异步应答奠定基础,所有与服务端的通讯都被集中提交给XmlHttpRequest对象处理。

该对象封装了XML-RPC协议,支持异步请求,相当于提供了独立用户交互线程之外,与服务端通讯的专用线程。简而言之,通过XmlHttpRequest可以使用Javascript向服务器提出请求并处理响应,而不阻塞用户。这种异步通讯机制是Ajax模型的核心。这种特性决定了它适用于需要与服务端频繁交互,操作即时响应要求高的环境。

下一页
本文共 5 页,第  [1]  [2]  [3]  [4]  [5]  页

【推荐本文】 【打印本页】 【返回顶部
最新文章
推荐文章