EclipseやSpringで使われている基盤技術OSGiとは

EclipseやSpringで使われている基盤技術OSGiとは


【特集】Java本来の実力を引出すOSGi徹底解説

日立ソフトウェアエンジニアリング株式会社 一瀬成広
株式会社日立製作所 中央研究所 中野正樹
2009/5/12


今回の主な内容

日本企業も多数参加している「OSGi Alliance」
OSGiはEclipseでどのように利用されているのか

【特徴1】幅広い環境でソフトウェアの部品化を実現

【特徴2】オープンな仕様で実装も多く、ツールもある
【特徴3】バージョンや依存関係、アクセス制御の管理
もともとのターゲットである組み込み機器でも

 読者の皆さんは、「OSGi」という技術を耳にしたことはありますか?

 ソフトウェア統合開発環境の1つ「Eclipse」のコア技術というとピンと来る方も多いと思います。本稿では、ここ数年さまざまなアプリケーションの(SpringJBossGlassFishでも)基盤技術として採用されているOSGiについて解説します。

日本企業も多数参加している「OSGi Alliance」

 OSGiを一言でいうと、「Javaモジュールの動的追加や実行を管理するための基盤システム」です。この基盤システムの仕様をOSGi Service Platform仕様として、非営利団体であるOSGi Allianceが規定しています。

 このOSGiの仕様を規定するOSGi Allianceは、1999年に「Open Service Gateway Initiative」という名称で設立されました。「Gateway」という単語が示すとおり、設立当時は、家庭や小規模オフィス向けのゲートウェイ装置で動作するサービスプログラムの実行基盤を規定することを目的としていました。

 ところが現在では、その対象を車載機器やモバイル端末、エンタープライズシステムと広げてきています。そのため、2003年からは「Open Service Gateway Initiative」という名称は廃止し、「OSGi Alliance」に変更しています。OSGi Allianceには、2009年4月の時点で、通信キャリアやITベンダ、電機メーカーなど、日系企業含め100社以上がメンバーとして参加しています。

OSGiはEclipseでどのように利用されているのか

 OSGiの適用先として最も有名なのは、Java開発者におなじみのEclipseではないでしょうか。OSGiは、Eclipse 3.0以降のプラグインの仕組みとして採用されています。

 プラグインの特徴は、なんといっても後から必要に応じて機能を追加できることです。Eclipse 2.x以前でもプラグインの仕組みは存在していましたが、OSGiを利用することでEclipseを再起動しないでも追加したプラグインを有効にできるようになりました。

 このように、動的にプラグイン(Javaモジュール)を後から追加できるのがOSGiの大きな特徴の1つとなっています。また、動的にプラグインを追加できる機能を支える背景として、非常に優れたモジュールの管理機構が規定されています。

図1 OSGiフレームワークの仕組み
図1 OSGiフレームワークの仕組み

 次ページでは、具体的なバンドル(Javaモジュール)の作り方やOSGiの代表的な特徴を2つ解説します。

  1-2-3

 INDEX
Page1
  日本企業も多数参加している「OSGi Alliance」
OSGiはEclipseでどのように利用されているのか
  Page2
  【特徴1】幅広い環境でソフトウェアの部品化を実現
【特徴2】オープンな仕様で実装も多く、ツールもある
  Page3
  【特徴3】バージョンや依存関係、アクセス制御の管理
もともとのターゲットである組み込み機器でも

Java Solution全記事一覧



Java Agile フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Java Agile 記事ランキング

本日 月間