Atlassian製品におけるOSGiフレームワーク
Atlassian製品におけるOSGiフレームワークについてまとめました。
OSGiフレームワークの利点
OSGiフレームワークを製品に組み込むことの一番の利点は動的なモジュール交換が行えることです。Eclipseがプラグイン追加後に再起動不要でプラグインの機能を利用できるのもOSGiフレームワークのおかげです。また開発面においては、バンドル内で依存先のバンドルを明示されていることや、バンドル内でインターフェースを制御できることもOSGiフレームワークの組み込む利点となります。
Atlassian製品での適用
Atlassian製品ではOSGiフレームワークをプラグインフレームとして適用しています。システム側では主要な機能がバンドルという形で提供されており、またユーザー側ではアドオンとして管理できます。OSGiフレームワークとしてはSpring Dynamic Modulesを利用していました。
ちなみに、Spring Dynamic Moduleは2009年にEclipse Gemini Blueprintというプロジェクトに移り、それに伴いAtlassianもEclipse Gemini Blueprintのパッケージを利用しています(Atlassian Plugins Osgi 4.5.0版の依存パッケージ調べ)。