领先一步
VMware 提供培训和认证,助您加速进步。
了解更多好吧,这比我们最初预期的要花费更长的时间,但我很高兴地说,Spring Dynamic Modules 项目今天达到了其 1.0 版本里程碑。当我于 2006 年 9 月首次发布有关此主题的文章(“Spring OSGi 支持势头强劲”)时,最初的规范只是 Spring Framework 的一个问题附件,并且与更广泛的 OSGi 社区的联系才刚刚开始形成。
快进十八个月,Spring Dynamic Modules 已经成为 Spring 产品组合中的一个成熟项目,SpringSource、BEA 和 Oracle 的提交者都参与其中。BEA 和 Oracle 都在使用 Spring Dynamic Modules 来构建自己的基于 OSGi 的产品(例如,请参阅“WebLogic Event Server - 我们为何使用 Spring”),Spring Dynamic Modules 讨论组已有近 1000 名成员。OSGi 联盟本身还成立了一个企业专家组,SpringSource 是该组织的一个活跃成员。
每当我们与会讨论 OSGi 和 Spring Dynamic Modules 时,都能感受到极大的兴趣。那么,这一切轰动究竟是怎么回事呢?
OSGi 服务平台是一个久经考验的轻量级运行时,提供了一个“Java 的动态模块系统”。它被用于从嵌入式设备、汽车和电信应用,到 IBM、BEA 和 Oracle 等公司的大型企业中间件产品的基础。Spring Dynamic Modules 专注于使您能够在构建自己的企业应用程序时利用 OSGi 服务平台。使用 Spring Dynamic Modules 构建并在 OSGi 服务平台上运行的应用程序,由一组同等的 Spring 应用程序上下文(每个 OSGi 捆绑包一个)组成,这些应用程序上下文通过 OSGi 服务注册表进行交互。这是一种面向服务的体系结构,但完全位于您的虚拟机内部,使用常规的 Java 引用来访问服务。以这种方式构建的应用程序的好处包括:
随着 1.0 版本的发布,我们在模块生命周期和服务集成方面拥有了一个可靠的解决方案。但在 OSGi 服务平台上使用现有(非为在 OSGi 上运行而编写)的企业库时,仍然存在与类和资源加载以及可见性相关的陷阱,需要谨慎处理。我们相信,在最近发布的 Spring Framework 2.5 中,我们已经解决了所有这些问题。Spring Dynamic Modules 下一版本的重点将是为其他常用的企业库提供实用的解决方案,从而大大简化在 OSGi 上运行的、由 Spring 驱动的 Web 应用程序的编写。