OSGiのコンポーネントモデルがもたらすコラボレーション

OSGi好きな僕は思う。OSGiコンポーネントは複数のプログラマがコラボレーションして作業するための環境として、現状一番優れているのではないかということを。Eclipseの場合は拡張ポイントレジストリOSGiのサービスとしてOSGiフレームワークへ登録しているから、XMLによる拡張を可能にしている。(もし同様のサービスを作成し、OSGiサービスとして登録すれば、他言語による拡張を可能にできる。)
なぜコラボレーションする環境として一番優れているのではないかと思ったかというと

  • 作業している内容が他のBundleへ影響を与えない
  • 拡張できる範囲を明示できる
  • ネットワーク越しの機能をインストールできる(インストールは気軽にできる)

特にEclipse Platformの場合は

  • インストールは特定のフォルダへ入れるだけ

他に同様のことができるフレームワークがあれば教えてほしい。SpringFrameworkもAndroidEclipseコンポーネントベースでアプリケーションやシステムを拡張できるのが魅力でOSGiを採用してるはず。コンポーネントベースでコラボレーションができることはプログラマにとってとても面白い環境ではないかと思ってこのエントリを書いてみたのだけれど、gdgdになってきたのでそろそろ締めます。余談ですが、元々ネットワーク家電向けに考えられたOSGiにこういう使われ方があったとはあんまりかんがえられてなかったらしい。