SpringSource(及其他頂級供應商)引領 OSGi 浪潮

工程 | Adrian Colyer | 2008年9月17日 | ...

在 OSGi Alliance 昨天釋出的一份 新聞稿 中,包括 SpringSource、IBM、Oracle、RedHat、Sun、SAP、ProSyst 和 Paremus 在內的多家領先供應商聯合起來,支援 OSGi 作為下一代伺服器平臺的基礎。

突出幾個要點:

IBM WebSphere 副總裁 Craig Hayman 表示:

(IBM)自2006年以來一直出貨基於 OSGi 構建的 WebSphere Application Server。因此,IBM 客戶受益於一個由成熟元件構建的模組化平臺,以及自動使用其應用程式所需元件的能力。
Oracle 開發高階副總裁 Steven G. Harris 表示:
Oracle WebLogic Server 是模組化為客戶帶來益處的一個很好的例子,它具有更小的佔用空間、更快的啟動時間和靈活的配置選項。OSGi 技術提供了基於標準的基礎……
RedHat 中介軟體業務工程副總裁 Sacha Labourey 表示:
在 JBoss 企業中介軟體解決方案中執行 OSGi 技術使我們的客戶能夠在更動態的執行時環境中提供更安全的服務和應用程式。
Sun Microsystems 應用程式平臺執行總監 Tom Kincaid 表示:
Sun 在 GlassFish 社群中看到了對 OSGi 技術的強烈需求。GlassFish 社群將能夠利用即將釋出的 GlassFish v3 Prelude 版本中透過基於 OSGi 技術微核心實現的模組化和動態可擴充套件性。
新聞稿中引用的所有供應商,包括 SpringSource,都將他們的伺服器平臺構建在 OSGi 之上。這有可能為這些平臺的使用者帶來一系列好處,包括更模組化的伺服器結構,能夠以更小的佔用空間執行,以及動態改變伺服器特性和功能的能力。

您需要更仔細地研究各種供應商的產品,以確定他們能在多大程度上為您(作為使用者)實現這些效益。在SpringSource,您可以說我們在這方面很“幸運”。我們有幸能夠從頭開始在OSGi上設計SpringSource dm Server(SpringSource應用程式平臺的一部分),而無需擔心任何遺留問題。這使我們能夠充分利用OSGi。其他供應商則不得不將OSGi改造到大型現有程式碼庫中。我從第一手經驗中瞭解到,事後嘗試將大型現有程式碼庫模組化是多麼困難。如果您設法將其模組化,那麼使其在動態環境中良好執行則更加困難(即使是Eclipse也難以實現後者,通常需要在更新後重新啟動)。您在將OSGi改造到產品中時往往會看到的一個特點是,捆綁包數量少但體積大(非常粗粒度的模組化),以及對執行時管理模組的有限動態支援。

像SpringSource、Paremus和ProSyst這樣的供應商又向前邁出了關鍵一步。在OSGi上構建伺服器平臺只能達到一定程度。如果您實際上想利用OSGi來構建自己的應用程式呢?為此,您需要一個基於OSGi技術的程式設計和部署模型。這才是下一代伺服器平臺的真正前沿——不是為了讓伺服器供應商更容易構建他們的平臺,而是為了讓應用程式開發人員更容易在該平臺上構建和部署他們的應用程式。

SpringSource dm Server支援傳統的war檔案、OSGi捆綁包以及由多個捆綁包(模組)協同工作的應用程式,並透過從war檔案逐步遷移的路徑,讓您可以逐步利用OSGi。

以下是您在考慮OSGi時需要向供應商提出的一些關鍵問題

  • 您說您的伺服器是基於OSGi構建的,但它在底層到底有多模組化?它是幾個非常大的捆綁包,還是您已經能夠完全架構您的平臺以利用OSGi?
  • OSGi在執行時新增、刪除和更新模組的動態功能在您的伺服器平臺中反映到什麼程度?我可以輕鬆新增和刪除伺服器功能或子系統嗎?
  • 我可以將自己的應用程式作為OSGi捆綁包部署嗎?您是否提供配套的管理和行政工具?
  • 您是否提供基於標準的OSGi程式設計模型?(這是一個難題,SpringSource使用Spring Dynamic Modules作為程式設計模型,並正在透過RFC 124在OSGi Service Platform 4.2版本中將其標準化。這將構成SpringSource dm Server基於標準的OSGi程式設計模型的基石。)
  • 我需要在我的應用程式中使用現有的企業庫——在您的平臺上,OSGi如何支援它們?(如果沒有特殊支援,像ORM供應商所需的載入時織入等功能可能無法正常工作)。
  • 您是否將所有產品都打包成OSGi捆綁包,以便我輕鬆部署?(例如,Spring Framework開箱即用就是OSGi-ready的)。
  • 我可以在哪裡獲取常用第三方庫的OSGi-ready版本,以便部署到您的平臺?(SpringSource為此目的提供了SpringSource企業捆綁包倉庫)。
我認為可以非常肯定地說,OSGi將持續存在。歡迎來到未來,盡情享受吧!

獲取 Spring 新聞通訊

透過 Spring 新聞通訊保持聯絡

訂閱

領先一步

VMware 提供培訓和認證,助您加速進步。

瞭解更多

獲得支援

Tanzu Spring 提供 OpenJDK™、Spring 和 Apache Tomcat® 的支援和二進位制檔案,只需一份簡單的訂閱。

瞭解更多

即將舉行的活動

檢視 Spring 社群所有即將舉行的活動。

檢視所有