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 社区所有即将举行的活动。

查看所有