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

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

在 OSGi 聯盟昨天釋出的一份新聞稿中,包括 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 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-ready 版本以部署到您的平臺?(SpringSource 為此目的提供了 SpringSource Enterprise Bundle Repository)。
我認為可以非常安全地說,OSGi 將會繼續存在。歡迎來到未來,享受旅程吧!

獲取 Spring 新聞簡報

透過 Spring 新聞簡報保持聯絡

訂閱

領先一步

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

瞭解更多

獲得支援

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

瞭解更多

即將舉行的活動

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

檢視全部