Welcome

首页 / 脚本样式 / Ajax / 使用Grails构建富Internet应用程序,第2部分

使用Grails构建富Internet应用程序,第2部分2011-08-23 IBM Michael Galpin相关文章:

Grails和Google Web Toolkit

简介:在这个共 2 部分的系列的第 2 部分中,将基于您在 第 1 部分 中用 Grails 创建的 Web 服 务创建新的服务。您将创建一个新的搜索页面,但这一次使用 Google Web Toolkit (GWT) 来创建这个 应用程序。此外,您还将使用 Ext GWT 库中的一些更丰富的 UI 小部件。

关于本系列

这个系列探索一些应用程序架构,它们在后端使用由 Grails 框架实现的面向服 务的体系架构(SOA)。了解 Grails 如何大大简化了 Web 应用程序的创建,尤其是 Web 服务的创建。 这种后端可以轻松连接到任意纯客户端应用程序。在第 1 部分中,您将使用 Adobe Flex 创建一个可以 使用 Flash Player 的应用程序。在本文中,您将通过 Google Web Toolkit (GWT) 用纯 JavaScript 创建前端。

先决条件

在这篇文章中,您将使用 Grails 和 GWT 构建一个 Web 应用程序。Grails 框架基 于 Groovy 编程语言,这是针对 Java™ 平台的动态语言。熟悉 Groovy 会更好,但不是必要的。 了解 Java 或其他动态语言(比如 Ruby 或 Python)会有很大帮助。本文使用 Grails 1.0.3。Grails 可用于许多数据库或应用服务器,但本文不需要提供它们,因为它们已经随 Grails 附带。这个前端是 使用 Google Web Toolkit 构建的,并且您必须熟悉 Java 才能使用 GWT。本文使用的是 Google Web Toolkit 1.5.3。

新服务

在第 1 部分中,您使用 Grails 创建了一个使用 Service Oriented Architecture (SOA) 的应用程序。您可以基于这个后端构建一个新的应用程序。这是使用具有纯客户端前端的 SOA 后 端的主要优势。您的服务器端代码完全从用户界面分离出来。不过,为了进一步演示使用 Grails 创建 Web 服务有多么简单,我们将修改现有的后端,并为其添加一个搜索 API。

搜索 API 服务

现有的应用程序已有一个搜索业务服务。我们仅使用它的列表 API 为应用程序中的所有新闻提供一 个列表。看看这个服务的其他功能,如清单 1 所示。

清单 1. 搜索业务服务

class SearchService {

boolean transactional = false

def list() {
Story.list()
}

def listCategory(catName){
Story.findAllWhere(category:catName)
}

def searchTag(tag){
Story.findAllByTagsIlike("%"+tag+"%")
}
}