Ben Corrie

校友
部落格文章作者Ben Corrie

在 SpringSource dm Server 中部署 GWT 應用 - 第三部分

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

引言

這是系列三篇部落格中的最後一篇,描述了在 SpringSource dm Server™ 中構建和部署 GWT 應用的逐步方法。第一篇部落格介紹了從 GWT 示例應用建立簡單 WAR 檔案的過程,第二篇部落格將 GWT 依賴項轉變為可在多個應用之間共享的 OSGi Bundle。最後一篇部落格將使用 Spring Dynamic Modules 進一步將我們的 GWT 示例模組化為 OSGi 服務。這將清楚地展示 OSGi 模組化的優勢:能夠在執行時移除和替換服務,無縫管理多個版本的 Bundle,以及使用 dm Server 進行部署和管理是多麼直接簡單。

這是本系列中唯一一篇實際使用 Spring Framework 的部落格。Spring 用於配置 Spring Dynamic Modules,以及釋出和消費 OSGi 服務。它還演示了將 Spring 管理的 Bean 與 GWT 遠端呼叫連線起來的一種機制。然而,我清楚地知道 Spring/GWT 整合本身是一個重要主題,因此我在這裡有意只討論這一個簡單的解決方案。

請參閱第一部分,瞭解 GWT StockWatcher 示例和我使用的軟體的背景資訊。

另外請注意,你可以跳過所有這些繁瑣的說明,直接跳到…

在 SpringSource dm Server 中部署 GWT 應用 - 第二部分

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

引言

這是系列三篇部落格中的第二篇,描述了在 SpringSource dm Server™ 中構建和部署 GWT 應用的逐步方法。第一篇部落格介紹了從 GWT 示例應用建立簡單 WAR 檔案的過程。接下來的這篇部落格將介紹如何將我們在第一部分中建立的 WAR 檔案轉變為一個“共享庫” WAR。這意味著我們將把應用的 GWT 依賴項外部化為一個 OSGi Bundle,以便可以由任意數量的 GWT 應用共享。你可以將其視為透過 GWT 遠端呼叫能力擴充套件我們的 dm Server。

第一部分所述,我在第二篇部落格文章中不使用Spring Framework,而是專注於使用SpringSource dm Server™SpringSource Tool Suite部署“純”GWT。

也請參閱第一部分,瞭解 GWT StockWatcher 示例和我使用的軟體的背景資訊。

快速回顧

第一部分中,我們從頭開始將 GWT StockWatcher 示例應用構建為一個 Eclipse 專案,然後將程式碼生成到一個動態 Web 專案中,並將其部署到 dm Server 中。最後,我們將動態 Web 專案匯出為一個 WAR 檔案,並在 STS 外部進行部署。

此處描述的逐步方法將基於我們在第一部分中完成的工作,而不是從頭開始。我們在第一部分中唯一要改變的是移除對gwt-servlet.jar庫的顯式依賴。

步驟 1:將我們的 GWT 依賴項轉變為一個 OSGi Bundle

首先,補充一些背景資訊。“共享庫”方法的整體概念是利用 OSGi Bundle 之間的顯式匯入和匯出,在 dm Server 內部建立一個依賴項對映。對於像我們的 StockWatcher 示例這樣的小型 WAR 檔案,這主要是一個有趣的學術練習。然而,考慮到許多商業 Web 專案以大型 WAR 檔案形式釋出,其中包含了數十甚至數百個依賴的 jar 檔案,將這些依賴項拆分成可共享的資源不僅從佔用空間的角度來看是合理的,而且還能顯著減輕應用的打包、版本控制和維護的痛苦。

好訊息是,建立這些依賴項的大部分工作已經完成。 SpringSource Enterprise Bundle Repository 包含了大多數常用庫的“Bundle 化”版本。然而,在撰寫本文時,我們的 GWT 依賴項就是一個需要你自行轉換為 Bundle 的庫示例……

在 SpringSource dm Server 中部署 GWT 應用 - 第一部分

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

引言

本系列共 3 篇部落格,將描述在 SpringSource dm Server™ 中構建和部署 GWT 應用的逐步方法。部落格的重點如下:
  1. 在 dm Server 中將 GWT StockWatcher 示例應用構建並部署為 WAR 檔案,使用 SpringSource Tool Suite 從頭開始構建。
  2. 使用“共享庫”方法進行部署:如何從 WAR 中移除 GWT 依賴項,並將它們作為 OSGi Bundle 部署到 dm Server 中。
  3. 使用“共享服務”方法進行部署:我們將單個 WAR 檔案轉換為 OSGi 服務,這些服務可以由其他應用共享並進行熱插拔。
值得注意的是,我在前兩篇部落格中都沒有使用Spring Framework。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 社群的所有近期活動。

檢視全部