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 捆绑包

首先,再介绍一些背景信息。“共享库”方法的整个概念是在 dm Server 中创建依赖项映射,使用 OSGi 捆绑包之间的显式导入和导出。对于像我们的 StockWatcher 示例这样的小型 WAR,这主要只是一次有趣的学术练习。但是,鉴于许多商业 Web 项目都以包含数十甚至数百个依赖 jar 文件的大型 WAR 文件的形式交付,因此将这些依赖项分解为可共享的资源不仅从存储空间的角度来看是有意义的,而且也使应用程序的打包、版本控制和维护变得大大简化。

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

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

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

介绍

这将是一个包含 3 个博客的系列,描述在 SpringSource dm Server™ 中构建和部署 GWT 应用程序的分步方法。博客的重点如下
  1. 使用 SpringSource Tool Suite 从头开始构建 GWT StockWatcher 示例应用程序作为 WAR 文件并将其部署到 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 有基本的了解。

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

领先一步

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

了解更多

获得支持

Tanzu Spring 在一个简单的订阅中提供 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件。

了解更多

即将举行的活动

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

查看全部