OSGi 模块性提供了一种标准机制,用于解决 Java EE 应用程序所面临的问题。OSGi 框架提供了下列好处:
- 应用程序可移植、更易于重新设计并且适合更改需求。
- 该框架提供了 Spring Framework 的声明式组合件和简化的单元测试,但却以作为应用程序服务器运行时的一部分而提供的标准形式,而不是作为应用程序的一部分进行部署的第三方库。
- 该框架与 Java EE 编程模型集成,从而允许您选择通过动态生命周期将 Web 应用程序作为一组已版本化的 OSGi 捆绑软件进行部署。
- 它支持管理应用程序捆绑软件依赖关系和版本,从而简化并标准化了第三方库集成。
- 该框架为由多个通过动态生命周期版本化的捆绑软件组成的企业应用程序提供了隔离。
- 它有一个内置捆绑软件存储库,该存储库可以主管多个应用程序之间共享的常用及已版本化捆绑软件,以便每一个应用程序不部署它自己的每一个常用库的副本。
- OSGi 应用程序可以访问外部捆绑软件存储库。
- 该框架在模块级别增强了面向服务的设计。
- OSGi 应用程序可由粗颗粒 SCA 组件组成。