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 社群所有即將舉行的活動。

檢視所有