使用Dojo和DB2开发Ajax Web应用程序2010-07-04 IBM Leons Petrazickis跟随本案例分析,使用 IBM® DB2® 9 for Linux®, UNIX®, and Windows®、XQuery、PHP 和 Dojo JavaScript Framework 快速创建一个优雅的、能够做出响应的 Web 应用程序。本案例学习建立在 IOD Planner 2006 基础上,这是一个用于 IBM Information On Demand 2006 Global Conference 的 Web 应用程序。学习 Ajax 方法的优点并了解如何逐步实现这种应用程序。开始之前关于本教程本教程的目的有二 —— 展示使用 Ajax/Web 2.0 方法进行 Web 开发的优点,以及展示 DB2 9 pureXML™ 的强大功能。根据这两个目的,我结合 Information On Demand 2006 Global Conference 编写了 Information On Demand 2006 Scheduler 应用程序。这是一个简单的可用来规划会议日程的应用程序。它利用了 Ajax —— Asynchronous JavaScript and XML —— 方法来进行 Web 编程,从而实现直观简单的用户交互。它还利用了 IBM DB2 9 的快速 pureXML 功能。图 1 演示了 IOD Planner 应用程序的开发。在后台进行了全部的加载以避免刷新延迟,并对表单字段、对话框和下拉菜单使用了丰富的部件。图 1. IOD Planner 2006

先决条件您应该对 Web 开发和数据库有适当的了解。教程 “DB2 XML evaluation guide”(developerWorks,2006 年 6 月)对 DB2 9 进行了很好的介绍,而 “Query DB2 XML Data with XQuery”(developerWorks,2006 年 4 月)则介绍了 XQuery。系统需求要部署源代码,需要 Windows 或 Linux 操作系统。在其上,需安装 Zend Core for IBM(参见 参考资料 中的下载链接)。Zend Core 很方便地捆绑了 DB2 9 Express-C 数据服务器、Apache2 Web 服务器、PHP 脚本语言、DB2 的 PHP 扩展和一个功能强大的管理控制台。为什么使用 Ajax?图 2. 传统的 Web 模型和 Ajax 模型

Ajax 基本原理的关键原则是避免加载新的 Web 页面。相反,可以在后台加载新的内容并在现有页面中显示它。这样就避免了重新加载基本框架的浪费,而且也不需要花时间等待浏览器呈现相同的导航和设计。您的用户不会看到加载中的空页面。最终的结果是一个迅速的、响应性很好的应用程序。使用 XMLHTTPRequest 对象向服务器发送请求,并在响应到达时对其进行异步处理。和其名字相反,该对象并不只限制于 XML。任何空白的文本格式,从 JavaScript (JSON) 到 CSV 再到预先生成的 HTML,都可以使用这种机制接收。我们选择后者 —— 在服务器中生成的 HTML。Ajax 风格的 Web 应用程序主要包括 Bloglines、Del.icio.us、Digg、Flickr、Google Map、Gmail 和 Reddit。