论文部分内容阅读
摘要:本文提出了一种使用Ajax+WebService开发Web应用的模式,并探讨了该模式将吸引越来越多开发者关注的原因。本文观点对于Web应用开发人员具有参考价值。
关键词:Ajax;WebService;模式
中图分类号:TP312文献标识码:A文章编号:1009-3044(2007)15-30712-01
Building WebApps in Use of Ajax & Web Service
XIAO Fei, LIU Yan
(Nanyang Institute of Technology, Nanyang 473004, China)
Abstract: This document submit a model of building WebApps in use of Ajax&WebService, and discuss why this mode will attract more developers. The viewpoint has reference value to Web App developers
Key words: Ajax; WebService; Model
1 构建Web应用的新模式
当前大多数的Web开发者还只是将Ajax技术作为动态Web技术的补充,谨慎地使用Ajax完成一些简单的任务,如无刷新数据校验、自动更新级联菜单或多级下拉列表等。但是一种基于Ajax的Web应用开发新模式正在互连网上快速成长——这就是使用Ajax+WebService构建Web应用。
使用该模式开发的Web应用可以使用户获得接近桌面应用的体验:界面元素可以相当丰富,避免无谓的页面刷新和等待。用户使用浏览器从服务器下载一个普通Web页面,该页面既是应用的界面,又包含事件监听函数。当用户触发JavaScript事件后,事件监听函数通过Ajax引擎访问WebService,然后通过DOM将结果显示在当前页面中。在此过程中,页面既不会被冻结也不会刷新,用户可以继续其他操作。
该模式适用于真正的网站应用系——能够与用户频繁互动的网站,而不是只提供一些动态内容的网站。
2 Ajax+WebService将成为一种趋势
当前,关于Ajax、WebService的研究和开发在各个软件社区中正如火如荼的开展着。有理由相信, Ajax+WebService将会打破当前的Web开发技术格局,成为一种主流的开发模式。
2.1 用户体验是互联网发展的主导因素之一
对传统的动态Web技术,用户的体验是“请求-等待-刷新”:用户通过浏览器向服务器提交请求后,浏览器窗口就被“冻结”,不再接收新的输入;用户必须等待服务器的响应;响应到达后,浏览器再将新的页面显示出来。即使后一个页面与前一个相比仅仅是很小的一个部分发生变化,浏览器也必须刷新整个窗口。动态Web就是通过向用户提供一个又一个完整的Web页面来达到交互效果的。
基于Ajax的富客户端可以避免大量的、重复数据的传输,只重绘发生变化的部分,而不是刷新整个窗口。因此当需要Web应用的界面元素更复杂、能对用户的细微输入做出快速响应时,Ajax要比传统的动态Web技术更合适。
2.2 浏览器的兼容性、可编程性大大提高,为富客户端的实施创造了条件
早期,各种浏览器的兼容性较差,开发者对浏览器端的JavaScript不太重视。而今情况已经发生变化。据统计,从2005年起,随着旧的浏览器的升级或淘汰,DOM、XHTML等W3C标准被市场上的浏览器很好的支持了。浏览器的可编程性大大增强,所以Ajax技术变得流行起来。而且,由于AJAX是基于被各大浏览器和平台都支持的公开标准的技术,这一流行趋势也不会因为个别厂商的封杀而终止(如同Java Applet那样)。
2.3 服务器端技术复杂,开发人员期盼更简洁的方案
近年来服务器端技术竞争激烈,层出不穷,让Web开发人员(尤其是初学者)眼花缭乱,莫衷一是。业内领袖(google、yahoo、Amazon和微软等)对AJAX和WebService的广泛采用无不证明了其市场欢迎程度和技术路线的正确性。IBM和BEA正不遗余力地实施SOA战略。使用Ajax+WebService构建Web应用的模式也和这一趋势正相吻合。所以,这种新的开发模式必定吸引更多开发人员的关注。
3 总结
随着用户对界面要求的提高及浏览器可编程性的增强,基于Ajax和WebService的开发必定会成为一种趋势。目前DWR2.0(一种面向Java的Ajax框架)已经实现,使用静态网页来构建聊天室、表格数据浏览与编辑等Web应用。
参考文献:
[1] http://en.wikipedia.org/wiki/Main_Page.
[2] Ajax基础教程.
关键词:Ajax;WebService;模式
中图分类号:TP312文献标识码:A文章编号:1009-3044(2007)15-30712-01
Building WebApps in Use of Ajax & Web Service
XIAO Fei, LIU Yan
(Nanyang Institute of Technology, Nanyang 473004, China)
Abstract: This document submit a model of building WebApps in use of Ajax&WebService, and discuss why this mode will attract more developers. The viewpoint has reference value to Web App developers
Key words: Ajax; WebService; Model
1 构建Web应用的新模式
当前大多数的Web开发者还只是将Ajax技术作为动态Web技术的补充,谨慎地使用Ajax完成一些简单的任务,如无刷新数据校验、自动更新级联菜单或多级下拉列表等。但是一种基于Ajax的Web应用开发新模式正在互连网上快速成长——这就是使用Ajax+WebService构建Web应用。
使用该模式开发的Web应用可以使用户获得接近桌面应用的体验:界面元素可以相当丰富,避免无谓的页面刷新和等待。用户使用浏览器从服务器下载一个普通Web页面,该页面既是应用的界面,又包含事件监听函数。当用户触发JavaScript事件后,事件监听函数通过Ajax引擎访问WebService,然后通过DOM将结果显示在当前页面中。在此过程中,页面既不会被冻结也不会刷新,用户可以继续其他操作。
该模式适用于真正的网站应用系——能够与用户频繁互动的网站,而不是只提供一些动态内容的网站。
2 Ajax+WebService将成为一种趋势
当前,关于Ajax、WebService的研究和开发在各个软件社区中正如火如荼的开展着。有理由相信, Ajax+WebService将会打破当前的Web开发技术格局,成为一种主流的开发模式。
2.1 用户体验是互联网发展的主导因素之一
对传统的动态Web技术,用户的体验是“请求-等待-刷新”:用户通过浏览器向服务器提交请求后,浏览器窗口就被“冻结”,不再接收新的输入;用户必须等待服务器的响应;响应到达后,浏览器再将新的页面显示出来。即使后一个页面与前一个相比仅仅是很小的一个部分发生变化,浏览器也必须刷新整个窗口。动态Web就是通过向用户提供一个又一个完整的Web页面来达到交互效果的。
基于Ajax的富客户端可以避免大量的、重复数据的传输,只重绘发生变化的部分,而不是刷新整个窗口。因此当需要Web应用的界面元素更复杂、能对用户的细微输入做出快速响应时,Ajax要比传统的动态Web技术更合适。
2.2 浏览器的兼容性、可编程性大大提高,为富客户端的实施创造了条件
早期,各种浏览器的兼容性较差,开发者对浏览器端的JavaScript不太重视。而今情况已经发生变化。据统计,从2005年起,随着旧的浏览器的升级或淘汰,DOM、XHTML等W3C标准被市场上的浏览器很好的支持了。浏览器的可编程性大大增强,所以Ajax技术变得流行起来。而且,由于AJAX是基于被各大浏览器和平台都支持的公开标准的技术,这一流行趋势也不会因为个别厂商的封杀而终止(如同Java Applet那样)。
2.3 服务器端技术复杂,开发人员期盼更简洁的方案
近年来服务器端技术竞争激烈,层出不穷,让Web开发人员(尤其是初学者)眼花缭乱,莫衷一是。业内领袖(google、yahoo、Amazon和微软等)对AJAX和WebService的广泛采用无不证明了其市场欢迎程度和技术路线的正确性。IBM和BEA正不遗余力地实施SOA战略。使用Ajax+WebService构建Web应用的模式也和这一趋势正相吻合。所以,这种新的开发模式必定吸引更多开发人员的关注。
3 总结
随着用户对界面要求的提高及浏览器可编程性的增强,基于Ajax和WebService的开发必定会成为一种趋势。目前DWR2.0(一种面向Java的Ajax框架)已经实现,使用静态网页来构建聊天室、表格数据浏览与编辑等Web应用。
参考文献:
[1] http://en.wikipedia.org/wiki/Main_Page.
[2] Ajax基础教程.