繼我的上一篇文章之後,許多人一直在詢問轉向 OSGi Web Container 對 dm Server 的影響。 最常被問到的問題是
- 新增了什麼?
- 哪些保持不變?
- 有哪些變更?
- 我如何保持最新狀態?
我將分別解答每個問題。 如果您有任何其他問題,請隨時發表評論。
新增了什麼?
與 Web Container RI 整合將使 dm Server 能夠存取 OSGi Web Container 標準的所有功能。 這包括用於處理 WAR 的標準模型、對 webbundle URL 方案的支援以及對 Web Container 擴充程式的支援。
我正在探索 RI 的一些不錯的增值功能,包括使用 ConfigAdmin 進行動態組態、用於內省已部署的 Web 套件組合的全面 MBean 介面以及用於監控生命週期事件的 EventAdmin 整合。 所有這些功能都將添加到 dm Server 以及 RI 中。
哪些保持不變?
您會很高興地得知,您在 dm Server 中學到的許多關於 Web 應用程式的知識仍然相同。
使用 dm Server 部署器
除了支援 webbundle URL 之外,WAR 檔案仍然可以使用 dm Server 部署器進行部署。 支援所有進入部署器的路徑,包括提取目錄、部署器 MBean 和管理控制台。
使用 dm Server 部署器進行部署時,將從已組態的儲存庫鏈中可用的套件組合自動安裝 WAR 檔案相依性。
WAR 部署模式
程式設計人員指南中提到的所有 WAR 類型都保持不變 - 事實上,它們是 Web Container 標準的一部分。
系統套件匯入
即使此功能沒有進入標準,使用 dm Server 部署的 WAR 也會自動匯入所有已組態的系統套件。 如果使用 webbundle URL 進行部署,您可以使用 URL 參數觸發系統套件匯入。 我希望規格能夠包含此領域中的一些標準行為
有哪些變更?
我們的目標是使 dm Server 中的大多數功能保持不變,但轉向 Web Container 確實需要進行一些變更。 同時,我們正在利用程式碼重構來整合從使用者那裡看到的一些較受歡迎的功能請求。
正在移除 Web 模組
最大的變更是移除了 Web 模組。 我們更喜歡支援基於標準的方法,並且現在我們已經能夠與 OSGi Alliance 合作建立基於標準的 OSGi Web 應用程式方法,因此我們將轉向它,而不是 dm Server 特定的解決方案。
對於今天正在使用 Web 模組的您來說,我真的很有興趣了解您最喜歡哪些功能,並且會很難失去這些功能。 沒有理由不能在 Web Container Web 套件組合之上重新設計重要的 Web 模組功能。
切換到 Tomcat 組態格式
在 1.0.x 系列中,嵌入在 dm Server 中的 Tomcat 實例是使用 JSON 組態檔案格式進行組態的。 我們的許多使用者都要求我們切換回使用 Tomcat 的 XML 格式。 Web Container RI 使用標準 Tomcat 格式,並且當 dm Server 切換到 Web Container 時,它也會切換組態檔案格式。
我仍在確定組態檔案將儲存在何處的確切詳細資訊。 我希望能夠使用可以從 ConfigAdmin 填充的佔位符來參數化 Tomcat 組態檔案
我如何保持最新狀態?
保持最新進度的最簡單方法是追蹤 Web Container 和 dm Server Web 的 SVN 儲存庫。 您可以在以下 URL 存取這些儲存庫
我會定期在這裡發布部落格文章,您可以透過 #osgi 和 #dmserver 在 Twitter 上關注進度。