Ben Corrie

校友
博文Ben Corrie

在 SpringSource dm Server 中部署 GWT 应用程序 - 第 3 部分

工程 | 2008 年 12 月 19 日 | ...

介绍

这是描述在 SpringSource dm Server™ 中构建和部署 GWT 应用程序的分步方法的系列博客中的最后一篇。第一篇博客介绍了从 GWT 示例应用程序创建简单 WAR 文件的过程,第二篇博客将 GWT 依赖项转换为可以在多个应用程序之间共享的 OSGi 捆绑包。这篇最终博客将使用 Spring Dynamic Modules 将我们的 GWT 示例进一步模块化为 OSGi 服务。这应该清楚地展示 OSGi 模块化的优势:在运行时删除和替换服务的能力,无缝管理多个版本的捆绑包,以及使用 dm Server 进行部署和管理是多么简单。

这是本系列中唯一实际使用 Spring 框架的博客。Spring 用于配置 Spring Dynamic Modules 并发布和消费 OSGi 服务。它还展示了一种将 Spring 管理的 Bean 世界与 GWT 远程处理连接起来的机制。但是,我很清楚 Spring/GWT 集成本身就是一个重要的话题,所以我在这里特意只采用一个简单的解决方案。

请参阅 第 1 部分 以了解 GWT StockWatcher 示例和我正在使用的软件的背景信息。

另请注意,您可以跳过所有这些繁琐的说明,直接前往……

在 SpringSource dm Server 中部署 GWT 应用程序 - 第 2 部分

工程 | 2008 年 11 月 24 日 | ...

介绍

这是描述在 SpringSource dm Server™ 中构建和部署 GWT 应用程序的分步方法的系列博客中的第二篇。第一篇博客介绍了从 GWT 示例应用程序创建简单 WAR 文件的过程。下一篇博客将介绍如何将我们在 第 1 部分 中创建的 WAR 文件转换为 “共享库” WAR。这意味着我们将把应用程序的 GWT 依赖项外部化到一个 OSGi 捆绑包中,以便它可以被任意数量的 GWT 应用程序共享。您可以将其视为用 GWT 远程处理功能扩展我们的 dm Server。

第 1 部分 中所述,我在这第二篇博客文章中没有使用 Spring 框架,而是专注于 SpringSource dm Server™SpringSource Tool Suite 来部署“纯”GWT。

另请参阅 第 1 部分 以了解 GWT StockWatcher 示例和我正在使用的软件的背景信息。

快速回顾

第 1 部分 中,我们从头开始将 GWT StockWatcher 示例应用程序构建为一个 Eclipse 项目,然后将代码生成到一个动态 Web 项目中,然后将其部署到 dm Server 中。最后,我们将动态 Web 项目导出到 WAR 文件中,并在 STS 之外部署它。

这里描述的分步方法将基于我们在 第 1 部分 中所做的工作,而不是重新开始。我们在 第 1 部分 中所做的唯一要改变的事情是移除对gwt-servlet.jar库的显式依赖。

步骤 1:将我们的 GWT 依赖项转换为 OSGi 捆绑包

首先,再补充一点背景知识。“共享库”方法的整个概念是使用 OSGi 捆绑包之间的显式导入和导出,在 dm Server 中创建依赖项映射。对于像我们的 StockWatcher 示例这样的小型 WAR,这大多只是一个有趣的学术练习。然而,鉴于许多商业 Web 项目以大型 WAR 文件形式发布,这些文件包含数十甚至数百个依赖 jar 文件,将这些依赖项分解为可共享资源不仅从占用空间的角度来看有意义,而且还大大减少了应用程序的打包、版本控制和维护的痛苦。

好消息是,创建这些依赖项的大部分工作已经为您完成。SpringSource 企业捆绑包存储库 包含大多数常用库的“捆绑”版本。但是,在撰写本文时,我们的 GWT 依赖项就是一个您必须将其转换为捆绑包的库示例……

在 SpringSource dm Server 中部署 GWT 应用程序 - 第 1 部分

工程 | 2008 年 11 月 07 日 | ...

介绍

这将是 3 篇系列博客,描述在 SpringSource dm Server™ 中构建和部署 GWT 应用程序的分步方法。博客的重点如下:
  1. 使用 SpringSource Tool Suite 从头开始构建并以 WAR 文件形式将 GWT StockWatcher 示例应用程序部署到 dm Server 中。
  2. 使用 “共享库” 方法部署:如何从 WAR 中移除 GWT 依赖项并将其作为 OSGi 捆绑包部署到 dm Server 中。
  3. 使用 “共享服务” 方法部署:我们将单个 WAR 文件转换为 OSGi 服务,这些服务可以被其他应用程序共享并热插拔。
值得注意的是,我在前两篇博客中都没有使用 Spring 框架。Spring 和 GWT 之间的集成本身就是一个主题,我想尽量让每篇博客都尽可能集中。在第三篇博客中,我将展示如何使用 Spring 发布和消费 OSGi 服务,以及这如何与 GWT 集成。

背景

这篇博客将采取实用的分步方法来构建 此处 描述的 GWT StockWatcher 示例。Google 教程将引导您完成使用 RPC 从头开始构建 GWT 示例所需的步骤。我将逐页引用教程,并讨论各种方法的优缺点。

这篇博客假设您已安装 SpringSource Tool Suite 1.1.1(我使用的是 Eclipse 3.4 版本)、  dm Server 1.0.0GWT 1.5。它还假设您对 Java 编程有很好的理解,并且对 Javascript 和 Ajax 有基本的了解。

为了演示中使用的路径,我在/Users/bcorrie/gwt/workspace创建了一个新的 Eclipse 工作区。我已在下方包含了可以下载的压缩项目,其中包含一个我定义的GWT_ROOT_INSTALL变量。要使用我的项目,当您导入它们时,请导航到“Preferences”->“Java”->“Build Path”->“Classpath Variables”并定义您自己的GWT_ROOT_INSTALL

领先一步

VMware 提供培训和认证,助您加速进步。

了解更多

获得支持

Tanzu Spring 提供 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件,只需一份简单的订阅。

了解更多

即将举行的活动

查看 Spring 社区所有即将举行的活动。

查看所有