繼我的上一篇文章之後,許多人一直在詢問轉向 OSGi Web 容器將對 dm Server 產生什麼影響。最常被問到的問題是
- 正在新增什麼?
- 哪些保持不變?
- 哪些正在改變?
- 如何保持更新?
我將分別解答這些問題。如果您還有其他問題,請隨時留言。
正在新增什麼?
與 Web Container RI 整合將使 dm Server 能夠訪問 OSGi Web 容器標準的所有功能。這包括處理 WAR 的標準模型、對 webbundle URL 方案的支援以及對 Web 容器擴充套件器的支援。
我正在為 RI 探索一些不錯的增值功能,包括使用 ConfigAdmin 進行動態配置、用於檢查已部署 Web Bundle 的全面 MBean 介面以及 EventAdmin 整合以監控生命週期事件。所有這些功能都將新增到 dm Server 和 RI 中。
哪些保持不變?
您將很高興得知,您在 dm Server 中學到的關於 Web 應用程式的大部分內容保持不變。
使用 dm Server 部署器
除了支援 webbundle URL 外,仍然可以使用 dm Server 部署器部署 WAR 檔案。部署器的所有路徑都受支援,包括 pickup 目錄、部署器 MBean 和 Admin Console。
使用 dm Server 部署器進行部署時,WAR 檔案依賴項將從配置的倉庫鏈中可用的 Bundle 自動安裝。
WAR 部署模式
在程式設計師指南中提到的所有 WAR 型別都保持不變 - 實際上它們是 Web 容器標準的一部分。
系統包匯入
使用 dm Server 部署的 WAR 將自動匯入所有配置的系統包,即使此功能未包含在標準中。如果使用 webbundle URL 進行部署,您可以使用 URL 引數觸發系統包匯入。我希望規範中包含這方面的一些標準行為
哪些正在改變?
我們的目標是讓 dm Server 中的大部分功能保持不變,但轉向 Web 容器確實需要進行一些更改。與此同時,我們正在利用程式碼重構的機會,整合使用者提出的更受歡迎的一些功能請求。
Web 模組將被移除
最大的變化是移除了Web 模組。我們傾向於支援基於標準的方法,既然我們已經能夠與 OSGi Alliance 合作建立一個基於標準的 OSGi Web 應用程式方法,我們將優先選擇它,而不是 dm Server 特定的解決方案。
對於目前正在使用 Web 模組的人,我非常想聽聽您最喜歡哪些功能以及哪些功能丟失會感到遺憾。重要的 Web 模組功能完全可以在 Web Container Web Bundle 的基礎上進行重構。
切換到 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 訪問這些倉庫
我將定期在這裡寫部落格,您可以在 Twitter 上透過 #osgi 和 #dmserver 關注進展。