Welcome

首页 / 脚本样式 / Ajax / 通过一个Java应用服务器使用JRuby on Rails和XML增强Ajax

通过一个Java应用服务器使用JRuby on Rails和XML增强Ajax2010-12-03 IBM Tyler AndersonRuby on Rails 框架提供了一些非常方便的 XML 特性,这使使用数据库数据 进行开发和为 JavaScript 应用程序提供 XML 格式的数据库数据变得更加简单 。JavaScript 还具有内置的 XML 解析功能,因此可以非常轻松地接收和解析 XML 格式的数据。但是,如果要在不部署额外服务器的情况下接入 Java™ 应用程序,该如何做呢?这正是 JRuby 的工作。JRuby on Rails 是 Ruby on Rails 框架的 Java 实现,通过将 Ruby 应用程序部署到 Java 应用服务器中,将 Rails 的优点带入到 Java 编程当中。

开始之前

本教程适合于对使用 JRuby on Rails、Java 技术和数据库 感兴趣的 XML 开发人员。也适合于那些希望利用 JRuby on Rails 框架以使用 scaffolding 功能,但同时又可以使用 Java 代码从而缩短开发时间的开发人员 。

关于本教程

本教程展示如何借助 Java 应用服务器 IBM® WebSphere® Application Server Express 上托管的 JRuby on Rails 和 Java Server Pages(JSP)技术提高 Ajax 应用程序的开发效率。您将使用由 JRuby on Rails 设置的框架通过 XML 访问电影数据库,并使用 JSP 技术向中添加新的电影并编辑已有的电影。总的来说,您将学习以下内容:

安装 WebSphere Application Server Express

安装并设置第一 个 JRuby 项目

将 Goldspike 插件安装到 JRuby 项目中,以部署到 WebSphere Application Server Express

设置 JRuby 项目以将 Derby 用作数据库

实现一个可以正常运行的 JRuby on Rails 2.0.2 项目,正 确地向 Ajax 客户机发送 XML 请求

开发 JSP 文件,通过使用 Ajax 客 户机生成的请求添加和编辑电影条目

开发管理电影的纯 Ajax 客户机

部署并测试 WebSphere Application Server Express

要完成以 上的操作,您将为一个在线电影公司开发一个示例应用程序,电影爱好者可以在 该程序管理、标记他们的在线视频库并执行重定向操作。Ajax 应用程序将从 JRuby on Rails 接收 XML 格式的通信,并向运行 Java 应用服务器实例的 JSP 应用程序发送 XML 格式的通信。

先决条件

学习本教程需要下载以下软件:

WebSphere Application Server Express — 从 IBM 获得 WebSphere Application Server Express 的试用版(本教程使用的是 V6.1)。将 WebSphere Application Server 用作功能完整的 Java 应用服务器,以托管 JRuby on Rails Web 应用程序。注意,您可以使用其他应用服务器,例如 Apache Tomcat 或 Apache Geronimo。

JRuby —JRuby 是一个面向 Ruby 的基于 Java 的解释程序,允许通过 Goldspike 插件部署到 Java 应用服务器,并且与 Java 库充分集成。本教程使 用 JRuby version 1.1.1 和 Rails version 2.0.2。RubyGem(JRuby 包的一部 分)将下载并安装 Rails。

数据库 — 示例应用程序需要使用数据 库保存和检索文件条目。本教程使用 WebSphere Application Server Express 附带的 Derby,但是您可以使用其他版本。Derby 非常优秀,因为它是免费的并 且是轻量级的。

具备 JSP 知识和 Rails 技术有助于学习本教程,但不 是必要的条件。

简介

本节将概括性地介绍如何使用 JRuby on Rails、JSP 和 Ajax 技术的 XML 特性,以及 WebSphere Application Server Express 如何将这些特性结合起来 。

XML、Rails、Java 和 Ajax 技术

常用缩写词

Ajax:异步 JavaScript 和 XML(Asynchronous JavaScript and XML)

DOM:文档对象模型(Document Object Model)

XML:可扩展的标记语言(Extensible Markup Language)

通过 JRuby on Rails 的内置 XML 特性,您可以轻松地访问 XML 格式的数 据库数据。由于 JRuby 具有更好的 Java 兼容性,因此您可以使用许多其他 Java 特性。因此,在单个 Ajax 应用程序(将在本教程构建)中,Ajax 应用程 序将同时引用 JRuby on Rails 和 JSP 代码,从而在单个 Web 应用程序中联合 两种编程语言的强项。这些强项包括易于使用的 Ruby on Rails 框架和可在 JSP 页面中使用的强大 Java 编程功能。

接下来将了解 WebSphere Application Server Express 如何结合这些特性 。

WebSphere Application Server Express 如何将这些特性结合起来

WebSphere Application Server Express 是一个 Java Servlet 容器,借助 JRuby 和 Goldspike 插件,您可以将 JRuby on Rails 应用程序作为已打包的 WAR 文件部署到 Java 应用服务器。不仅如此,您还可以在 Ruby 应用程序内部 署 JSP 文件,将它们与 Ruby 文件结合在一起使用。

图 1 展示了将要开发的应用程序。

图 1. 示例应用程序展示