张明ZhangMing;戴友元DaiYouyuan(十堰职业技术学院,十堰442000)
摘要:研究了AJAX异步技术,并结合GoogleMaps和XML技术,实现了基于AJAX和XML的无线通信基站系统设计,完成基站信息的查询、修改、添加。
关键词:Ajax;Google地图API;XML;KML;XMLDOM
中图分类号:TP3文献标识码:A文章编号:1006-4311(2010)05-0159-02
0引言
AJAX是AsynchronousJavaScriptandXML(异步JavaScript和XML)的缩写,它是一种创建交互式网页应用的网页开发技术,在AJAX由HEML、JavaScript技术、DHTML和DOM技术组成,其中XMLHttpRequest是其最核心的技术,它为页面中的JavaScript脚本提供了一种通讯方式,从而你使得页面通过这些脚本等够与服务器发生交互。页面内的JavaScript脚本可以在不刷新页面的情况下与服务器发生交互,即页面可以从服务区获得数据,或者向服务器提交数据。使用AJAX技术可以大大减少服务器端的运算量,减轻了服务器端压力,是服务器资源得到更好的利用,和传统的WEB技术相比AJAX有以下优势:不需要刷新整个页面就能够与服务器通信,从而可以实现部分页内容的更新;不需要中断WEB页面和服务器的连接,实现WEB页面和服务器的异步通行,使得WEB页面有更快的相应能力;因为实现了部分更新,减少服务器与WEB页面的通信量。
XML和KML,XML(ExtensibleMarkupLanguage)即可扩展标记语言,它与HTML一样,都是SGML(StandardGeneralizedMarkupLanguage,标准通用标记语言)。Xml是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具。KML,是Keyhole标记语言(KeyholeMarkupLanguage)的缩写,是一种采用XML语法与格式的语言,用于描述和保存地理信息(如点、线、图像、多边形和模型等),可以被GoogleEarth和GoogleMaps识别并显示。KML使用含有嵌套的元素和属性的基于标记的结构,并符合XML标准,KML中所有标记都区分大小写。
1ASP.NETAJAX架构
ASP.NETAJAX的体系结构是建产在ASP.NET2.0基础之上的,是对ASP.NET2.0功能的一种扩展。ASP.NETAJAX就是微软使用一个丰富的客户端脚本库和一个重要的服务器端功能层增强了ASP.NET的功能。这种扩展是在客户端和服务器两方面进行的。
ASP.NETAJAX对客户端的扩展主要是增加了MicrosoftAJAXLibrary这一代码库,它包含了所有客户端功能,是由一些使得ASP.NETAJAX可以工作的JavaScript文件组成。
MicrosoftAJAXLibrary史无前例地扩展了JavaScript的功能,例如:可以使用面各对象的特性创建客户端脚本,例如:类、继承、接口等;还扩展了具有C#开发人员熟悉的类,例如:StringBuilder和Timer类。这大大简化了客户端的开发。
ASP.NETAJAX在服务器端提供了相当丰富的功能,提供了5个服务器端控件:ScriptManage控件、ScriptManageProxy控件、UpdatePanel控件、Timer控件、UpdateProgress控件,通过这些控件开发人员可以实现异步网页和无刷新的WEB环境。
ASP.netAJAX的服务器端架构如图1所示,它基于ASP.NET框架之上,主要包括AJAXWEB服务、ASPAJAXWEB服务桥机制。
2ASP.NETAJAX的运行模式
和传统的WEB运行模式“提交-等待-重载”相比Ajax相当于在用户和服务器之间加了—个中间层,使用户操作与服务器响应异步化。并不是所有的用户请求都提交给服务器,像—些数据验证和数据处理等都交给Ajax引擎自己来做,只有确定需要从服务器读取新数据时再由Ajax引擎代为向服务器提交请求。
Ajax核心包括Java-Script、XMLHTTPRequest和DOM,如果所用数据格式为XML的话,还可以再加上XML这一项(Ajax从服务器端返回的数据可以是XML格式,也可以是文本等其他格式)。用户提交请求,页面程序调用JavaScript脚本,进行简单的数据处理,如果需要与服务器交互,则通过JavaScript创建XMLHttpRequest对象,使用XMLHttpRequest对象的open方法,显式设置处理请求的服务器页面地址和http的请求方式以及是否支持异步模式等参数。如果采用异步运行方式则JavaScript将继续执行而不用同步等待服务器的响应。在这种状态下WEB页面不需要刷新,便可继续与用户进行交互,实现页面数据的局部更新。
3系统设计
本系统设计主要是以GoogleMaps为基础,通过读取保存基站信息的KML文件,将基站的基本信息显示在GoogleMaps地图中。GoogleMaps从内部机制上,使用JavaScript语言和XML数据,采用无插件的AJAX技术,拼接静态图片,按用户的需要生成动态地图。GoogleMaps提供API函数接口,第三方开发者能根据API函数的接口添加空间地理信息。
系统包括基站查询、基站信息修改、基站添加和基站删除四个部分,该系统最大的特点在于:它不加载图层的信息,地图直接通过GoogleMaps服务直观显示,包括遥感影像、交通地图。浏览器作为用户使用的界面,分别于三个模块交互:XML数据源、WEB页面、GoogleMaps控件。不同于传统的WebGIS分层显示的数据模式。无线基站的站点信息可以用KML数据存储。系统运行后基站的站点以图标的方式显示在地图上,通过点击对应的站点图标,显示该基站的信息,同时通过XMLHttpRequest对象和DOM对象实现对基站信息的添加和修改,同时将信息保存到XML数据文件中。
4结束语
AJAX技术是当前流行的设计技术。AJAX作为一种基于JavaScript和XML的客户端技术,不仅增进了客户端体验,同时也改进了软件体系设计特别是对服务器的调用设计。AJAX、XML和GoogleMaps的结合,可进一步实现数据动态显示、查询和搜索,给电子地图web服务开发与应用带来新的广泛的应用前景。
参考文献:
[1]周牧.基于AJAX和XML的WebGIS系统研究[J].计算机工程,总第35卷,第13期,2009/7:271-272.
[2]熊自诚.基于AJAX和XML的WebGIS客户端技术研究[J].计算机与数字工程,2009/5,第4期:166-167.