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版の依存パッケージ調べ)。