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 框架开箱即用即可与 OSGi 兼容)。
  • 在哪里可以获取常用第三方库的 OSGi 就绪版本以部署到您的平台?(SpringSource 为此目的提供了SpringSource 企业捆绑包存储库)。
我认为可以非常肯定地说,OSGi 将继续存在。欢迎来到未来,享受旅程!

获取 Spring 新闻通讯

与 Spring 新闻通讯保持联系

订阅

领先一步

VMware 提供培训和认证,以加速您的进步。

了解更多

获取支持

Tanzu Spring 在一个简单的订阅中提供 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件。

了解更多

即将举行的活动

查看 Spring 社区中所有即将举行的活动。

查看全部