本文展示了如何借助 IBM WebSphere Application Server Feature Pack for Web 2.0 以 Ajax 风格的架构增强 Java 2 Platform, Enterprise Edition (J2EE) 应用程序。了解如何在不重写整个 Web 应用程序的情况下,将 Ajax 风格的架构与现有的应用程序结合起来。此外,您还会了解如何将 Web 2.0 Feature Pack 应用到面向 IBM WebSphere Application Server 的 J2EE 应用程序中。
“Plants by WebSphere” 应用程序是随 IBM WebSphere Application Server Feature Pack for Web 2.0 提供的诸多示例程序中的一个。此应用程序演示了一个典型的 J2EE 应用程序以及如何在不重写整个应用程序的前提下用 Ajax 风格的架构对其进行增强。此示例应用程序虚拟了一个在线植物商店,在该商店中,顾客可以订购和购买鲜花、树、植物和其他附件。图 1 展示了此 Web 应用程序的首页:
图 1:Plants by WebSphere Web 应用程序
图 2 展示了此应用程序在添加 Ajax 风格特性之前的最初架构。该架构的设计初衷是为了代表一种典型的运行于 WebSphere Application Server 上的 J2EE 应用程序。在高层,此应用程序遵从的是一种 Model-View-Controller (MVC) 设计模式,这也是很多 Web 应用程序都不同程度采用的模式。浏览器访问该应用程序的 URL,并返回一个由 JSP 呈现的 HTML 页面。浏览器向该应用程序发出额外请求,servlet 用来控制由用户购买请求驱动的流程。Enterprise JavaBeans (EJB) 则用来服务于数据库上可用的模型数据。
图 2:典型的 Web 架构
如下所示的 图 3 显示了应用程序的最初架构是如何使用 Ajax 扩展的。其目的是不重写应用程序,只利用 IBM Feature Pack 内的技术来改善和创建更加交互的丰富用户体验。
在浏览器端,应用程序使用 JavaScript Dojo Toolkit 提供的小部件。此外,创建定制用户界面小部件是为了提高 Plants by WebSphere 的交互性,而同时又不重写它。定制用户界面小部件是异步的,这意味着它们使用受 Dojo Toolkit 支持的浏览器的 XHR 机制进行通信。这些小部件使用一种 XML 交换格式来与服务器交换数据。在服务器端,随 Feature Pack 提供的 RPCAdapter 被用来将 EJB 数据转换成 XML 交换格式,这种格式极易由浏览器上新创建的小部件使用。