spring的主要功能
spring框架提供了轻量级的容器和非侵入式的编程模型,这来自于其依赖注入、AOP和便携服务概念。
osgi的主要功能
osgi服务平台提供了动态的应用程序执行环境,支持模块(绑定)的安装、更新或者即时的删除。同时很好的支持了模块化和版本化。
spring dynamic modules的主要作用
spring dynamic modules (spring-dm) 便于将spring应用部署到osgi执行环境,并且可让spring应用利用到osgi框架提供的服务。spring-dm还使构建的spring应用开发为osgi应用变得更简化和更有生产效率。对于企业应用,结合spring-dm和osgi平台,可提供:
- 通过运行时模块之间的隔离,更易于分离应用程序的逻辑;
- 可在并发情况下部署一个模块(库)的多个版本;
- 可动态发现和使用系统其他模块提供的服务;
- 可在运行期间动态安装、更新和卸载模块;
- 使用spring框架实例化、配置、装配和包装模块中或者多个模块的组件;
- 给企业开发者使用osgi平台提供了简化的和熟悉的编程模型。
Spring Dynamic Modules 的前身是 Spring OSGi。
Spring Dynamic Modules,让写Spring应用可以部署在一个的OSGi执行环境,而且还可以充分利用所提供的服务的OSGi框架。 Spring的支持也使的OSGi开发的OSGi应用更简单和更富有成效的基础上,易用性和力量的Spring框架。为企业级应用,结合Spring Dynamic Modules和动态的 OSGi平台提供:
- Better separation of application logic into modules, with runtime enforcement of module boundaries
- The ability to deploy multiple versions of a module (or library) concurrently
- The ability to dynamically discover and use services provided by other modules in the system
- The ability to dynamically install, update and uninstall modules in a running system
- Use of the Spring Framework to instantiate, configure, assemble, and decorate components within and across modules.
- A simple and familiar programming model for enterprise developers to exploit the features of the OSGi platform.