搶先一步
VMware 提供培訓和認證,以加速您的進展。
瞭解更多自從我們上週三發布 SpringSource 應用程式平台以來,許多開發人員已下載 1.0.0 beta 版,並開始試用該平台。因此,人們開始詢問:「我如何在平台上部署我的應用程式?我有哪些部署和封裝選項?」此外,開發人員也迫切希望看到可運作的範例。為了回應這些需求,S2AP 團隊將在未來幾週內發布幾個範例應用程式,示範這些功能以及更多功能,但在您親自試用這些範例之前,我想先為您概述平台中可用的部署和封裝選項。閱讀這篇文章後,您將準備好開始使用範例以及您自己的應用程式。
正如 Rob 在上週的文章 SpringSource 應用程式平台簡介 中提到的,該平台支援以下形式封裝的應用程式
當您將應用程式部署到平台時,每個部署成品(例如,單個綁定、WAR 或 PAR)都會通過部署管道。此部署管道支援特定於個性的部署器概念,這些部署器負責處理具有特定個性(即應用程式類型)的應用程式。平台 1.0.0 版本原生支援類似於上述每個封裝選項的特定於個性的部署器。此外,部署管道可以通過額外的個性部署器進行擴展,並且平台的未來版本將提供對個性(例如批次、網路服務等)的支援。
現在讓我們仔細看看每個支援的部署和封裝選項,以探索哪一個最適合您的應用程式。
SpringSource 應用程式平台的核心是一個 OSGi 容器。因此,任何符合 OSGi 標準的綁定都可以直接部署在平台上,無需修改。如果您想通過 OSGi 服務註冊表在容器內全域發布或使用服務,您通常會將應用程式部署為單個綁定或一組獨立綁定。但是請注意,由於 PAR 格式的範圍性質,獨立綁定將無法跨應用程式邊界使用服務。換句話說,獨立綁定無法參考部署在 PAR 中的模組的服務。
對於 Web 應用程式封存 (WAR),SpringSource 應用程式平台提供對以下三種格式的支援。
這些格式中的每一種都在從標準 Java EE WAR 到 OSGi 化網路應用程式的增量遷移路徑中扮演著獨特的角色。
正如 Rob 已經指出的那樣,「平台直接支援標準 WAR 檔案。在部署時,WAR 檔案會轉換為 OSGi 綁定並安裝到 Tomcat 中。所有標準 WAR 契約都將被遵守,並且您現有的 WAR 檔案應該可以直接放入並部署,無需更改。」 對於標準、未修改的 WAR 檔案的支援使您可以在現有的網路應用程式上試用 SpringSource 應用程式平台,然後逐步遷移到共用函式庫 WAR、共用服務 WAR 和網路模組格式。
有關您已擁有的函式庫種類的詳細資訊,請查看 SpringSource 企業綁定儲存庫。此外,Andy Wilkinson 將在本週稍後發布一篇部落格,解釋如何在您的應用程式和 SpringSource 應用程式平台中充分利用綁定儲存庫。敬請關注。
如果您正在將基於 Spring MVC 的網路應用程式構建為網路模組,則無需擔心為根 WebApplicationContext 或 DispatcherServlet 的 ApplicationContext 配置。根據您的網路模組的 /META-INF/MANIFEST.MF 中的中繼資料,平台將為您即時自動生成適當配置的 web.xml,並且您的應用程式將使用 Spring-DM 為您的網路模組創建的 ApplicationContext。未來的版本將增加額外的支援,以簡化基於 Spring Web Flow 的網路應用程式的配置。
下圖以圖形方式描述了從標準 WAR 到網路模組的遷移路徑。如您所見,函式庫從部署成品內部移動到綁定儲存庫。同樣,服務從 WAR 內部移動到外部綁定,並通過 OSGi 服務註冊表訪問。此外,隨著您朝著網路模組方向發展,部署成品的整體佔用空間會減少。
此外,PAR 在平台內限定範圍應用程式的模組。範圍限定提供了物理和邏輯應用程式邊界,從而保護您的應用程式的內部結構免受平台中部署的任何其他應用程式的影響。這意味著您的應用程式不必擔心與其他正在運行的應用程式發生衝突(例如,在 OSGi 服務註冊表中)。您可以獲得對載入時編織、類路徑掃描、上下文類別載入等的支援,並且平台會為您完成繁重的工作,以使所有這些在 OSGi 環境中無縫協作。如果您想充分利用 SpringSource 應用程式平台和 OSGi 提供的所有功能,那麼將您的應用程式封裝和部署為 PAR 絕對是推薦的選擇。
如果您尚未加入,我鼓勵您加入 beta 計劃 並親自試用 SpringSource 應用程式平台。
您可以在 使用者指南 和 程式設計人員指南 中找到最新的文件,如果您在部署應用程式時遇到任何問題,或者對我們如何改進平台有任何建議,請隨時 建立 JIRA 問題。
最後但並非最不重要的是,請務必查看 SpringSource 團隊部落格 上即將發布的文章,以隨時了解有關平台的新聞,並查看可運作的範例,包括已模組化並封裝為 PAR 的 OSGi 化 Spring PetClinic 範例應用程式。