Part I. Introduction
本文档是 Spring Dynamic Modules 的参考指南。它定义了 Spring Dynamic Modules 的概念和语义,OSGI 服务平台 的语法基于命名空间,Dynamic Modules 定义了扩展bundle(the Dynamic Modules extender bundle)和OSGi报头条目(the OSGi manifest header entries)。关于使用Spring Dynamic Modules构建基于OSGi应用(OSGi-based applications)的介绍指南请参考在线网页。
Chapter 1. 为何使用 Spring Dynamic Modules?
Spring Framework 是一个全功能的处于业界领先地位的Java/JEE框架。它提供了一个轻量级的容器和非侵入编程模型,该模型由依赖注入、AOP和便携的服务抽象驱动。OSGi服务平台提供了一个动态应用执行的环境,在这个环境里模块(或bundle)能够在不停止工作情况下而被加入、更新或者删除。它同时能很好的支持模块化和版本化。
Spring Dynamic Modules 简化了用于部署到OSGi运行环境的 Spring 应用的编写,能够充分利用OSGi框架提供的服务。通过易于使用和功能强大的 Spring 框架,Spring's OSGi 的支持使得开发OSGi applications更加简化和更加高效。对企业级应用,Spring Dynamic Modules 同 OSGi 平台的结合提供了如下好处:
Better separation of application logic into modules, with runtime enforcement of module boundaries
并行部署统一模块(或类库)的多个版本的能力。
动态发现和使用系统中其他模块提供的服务的能力。
在运行着的系统中安装、更新和卸载模块的能力。
使用Spring Framework在模块内部以及模块之间实例化、配置、装配、装饰组件。
对企业级开发人员提供了一个简单而且相似的编程模型来利用OSGi平台的特点。.
我们相信,Spring同OSGi的结合提供一个易于理解的构建企业级应用的模型。