OSGi のモジュール性は、Java EE アプリケーションが直面する問題に対応するための標準的なメカニズムを提供します。
OSGi フレームワークには、以下の利点があります。
- アプリケーションが、ポータブルで、リエンジニアリングが容易で、要件の変更に適応しやすい。
- このフレームワークにより、宣言アセンブリーと Spring Framework の簡易化された単体テストが可能になるが、アプリケーションの一部としてデプロイされるサード・パーティーのライブラリーではなく、アプリケーション・サーバー・ランタイムの一部として、標準化された形式で提供される。
- このフレームワークは Java EE プログラミング・モデルと統合され、
動的ライフサイクルを持つ、バージョン化された OSGi バンドルのセットとして任意に Web アプリケーションをデプロイできる。
- アプリケーション・バンドルの依存関係およびバージョンの管理がサポートされ、サード・パーティー・ライブラリー統合が簡素化、標準化される。
- このフレームワークにより、動的なライフサイクルを持つ、バージョン化された複数のバンドルで構成されるエンタープライズ・アプリケーションの分離が可能になる。
- 複数のアプリケーション間で共有されるバージョン管理された共通のバンドルをホストできる組み込みバンドル・リポジトリーがあり、各アプリケーションが、各共通ライブラリーの独自のコピーをデプロイしなくて済む。
- OSGi アプリケーションが外部バンドル・リポジトリーにアクセスできる。
- このフレームワークにより、モジュール・レベルのサービス指向設計が強化される。
- OSGi アプリケーションを大まかな SCA アセンブリーで構成できる。