SpringSource(以及其他頂級供應商)引領 OSGi 的發展

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

在 OSGi 聯盟昨天發布的新聞稿中,包括 SpringSource、IBM、Oracle、RedHat、Sun、SAP、ProSyst 和 Paremus 等多家領先供應商聯合表示支持 OSGi 作為下一代伺服器平台的基礎。

以下重點摘述一些要點

IBM WebSphere 副總裁 Craig Hayman 表示

自 2006 年以來,[IBM] 一直在出貨基於 OSGi 建構的 WebSphere Application Server。因此,IBM 客戶受益於使用經驗證的組件構建的模組化平台,並且能夠自動僅使用其應用程式所需的組件。
Oracle 開發部門資深副總裁 Steven G. Harris 表示
Oracle WebLogic Server 是模組化為客戶帶來好處的一個絕佳範例,它具有更小的佔用空間、更快的啟動時間和彈性的配置選項。OSGi 技術提供了基於標準的基礎...
RedHat 中介軟體業務工程副總裁 Sacha Labourey 表示
在 JBoss Enterprise Middleware Solutions 中運行 OSGi 技術使我們的客戶能夠在更動態的運行環境中交付更安全的服務和應用程式。
Sun Microsystems 應用程式平台執行董事 Tom Kincaid 表示
Sun 已經看到 GlassFish 社群對 OSGi 技術的強烈需求。GlassFish 社群將能夠利用模組化和動態可擴展性,這些特性將在即將推出的 GlassFish v3 Prelude 版本中透過基於 OSGi 技術的微核心實現。
發布稿中引用的所有供應商,包括 SpringSource,它們的共同點是在 OSGi 之上構建其伺服器平台。這有可能為這些平台的使用者帶來一系列好處,包括更模組化的伺服器結構,能夠在更小的佔用空間中運行,並動態地改變伺服器特性和功能。

您需要更仔細地查看各種供應商的產品,以確定他們在多大程度上為您作為使用者實現了這些好處。在 SpringSource,您可以說我們在這方面很「幸運」。我們很幸運能夠從頭開始在 OSGi 上設計 SpringSource dm Server(SpringSource Application Platform 的一部分),而沒有任何舊有系統需要顧慮。這使我們能夠充分利用 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)。
  • 我可以在哪裡獲得常用第三方函式庫的 OSGi 就緒版本以部署到您的平台?(SpringSource 為此目的提供了 SpringSource Enterprise Bundle Repository)。
我認為可以非常肯定地說,OSGi 將會持續存在。歡迎來到未來,享受這段旅程!

取得 Spring 電子報

隨時掌握 Spring 電子報的最新資訊

訂閱

搶先一步

VMware 提供培訓和認證,以加速您的進展。

了解更多

取得支援

Tanzu Spring 在一個簡單的訂閱中提供 OpenJDK™、Spring 和 Apache Tomcat® 的支援和二進位檔案。

了解更多

即將到來的活動

查看 Spring 社群中所有即將到來的活動。

查看全部