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

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


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

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


OSGiバンドルの開発ツールとしての「Eclipse PDE」

 OSGiバンドルの開発を支援するツールもオープンソースとして開発されており、OSGiバンドルの開発環境も整っています。

 代表的な開発ツールとしては、「Eclipse PDE(Plug-in Development Environment)」があります。Eclipse PDEは、基本的にEclipseのプラグインの開発環境ですが、Eclipse 3.2用のものから標準のOSGiバンドルの開発ができます。

 新しいプロジェクト作成時にプラグインプロジェクトを選択すると、標準のOSGiフレームワークをターゲットとしたプラグイン(バンドル)を開発するオプションがあります。

図3 PDEの[New Plug-in Project]でOSGiフレームワークのバンドルとして作るかどうかのラジオボタンがある

 これらオープンソース実装により、OSGiはJavaのソフトウェア部品化フレームワークのデファクト標準となる可能性があります。より多くのオープンソースプロジェクトでOSGi仕様に準拠したソフトウェア部品の開発が進んで多くの人がOSGiを利用することで、ソフトウェアの再利用が容易になっていきます。

【特徴3】バージョンや依存関係、アクセス制御の管理

 OSGi仕様は、Javaモジュールの管理機能として汎用的に求められている下記3つの機能についても、優れた仕様として規定されています。

  1. バージョン管理
  2. 依存関係の解決
  3. アクセス制御(セキュリティ機構)
図4 OSGiの管理機能
図4 OSGiの管理機能

OSGiを採用しているアプリケーションサーバ/ミドルウェア

 近年この管理機能が注目され、OSGiは、OSGi Allianceが設立された当時にはまったく想定されていなかったアプリケーションサーバのソフトウェア部品化フレームワークとしての採用が進んでいます。例えば、下記のアプリケーションサーバ/ミドルウェアでは、OSGiが採用されています。

 年々、アプリケーションサーバの機能は肥大化しており、ユーザーが必要としていない機能も入っているものです。アプリケーションサーバの各機能をバンドル化することにより、ユーザーが必要とする機能のみを選択して組み合わせることによって、メモリ消費を抑えることも可能となります。

図5 必要な機能のみを追加してメモリ消費などを抑える
図5 必要な機能のみを追加してメモリ消費などを抑える

もともとのターゲットである組み込み機器でも

 Eclipseやアプリケーションサーバへの適用が注目されているOSGiですが、もともとのターゲットであったゲートウェイ装置をはじめ、車載機器や携帯電話などの組み込み機器へのOSGiの搭載も進んでいます。組み込み機器もインターネットに広く接続されるようになり、アプリケーションの追加も容易になったため、もともとOSGiが備えている優れたモジュール管理基盤としての仕様が再評価されています。組み込み機器でのOSGiの使われ方については、別の機会に解説しますので、ご期待ください。

 OSGiは、Javaの優れた管理基盤として、幅広い分野で採用が進んでいます。今後、OSGiのデファクト標準化が進めば、組み込み機器からサーバまでより多くの機器で、一度記述したJavaモジュールを実行できるようになります。

 また、OSGiに準拠したソフトウェア部品を組み合わせるだけで、目的のソフトウェアが開発できるようになるかもしれません。OSGiの発展によって、Javaが掲げていた「Write Once, Run Anywhere」の理想が、すぐそこに広がるのかもしれませんね。

@IT関連記事


仕事に役立つEclipseプラグインを作りたい
とっても簡単Eclipseプラグイン(1) 
ここはとある開発室。先輩プログラマの長尾君と新人プログラマの田中君が、開発に役立つEclipseプラグインの作成を始めた

Java Solution」フォーラム 2006/7/8
コンセントでホームネットワークを構築する電力線通信
連載:IEEE無線規格を整理する(7)
 電力線通信の実用化で注目されるホームネットワーク。各業界の標準化の進ちょくや、ユビキタス市場を牽引していくための課題とは?
Master of IP Network」フォーラム 2006/3/2
Java開発を楽しみ、プログラミングに誇りを持つ
Java&Programming in デブサミ2008レポート 
先日開催されたデブサミからJavaとプログラミングに関する講演をいくつかレポートする。今年の目玉は無線センサー!?
Java Solution」フォーラム 2008/2/28
こんなところで組み込み初体験
ある人材派遣会社が、組み込み未経験のITエンジニアを対象に、組み込み開発の体験セミナーを開催している。その狙いと利用する教材とは?
Javaの最新動向を見極める デブサミ2007
Java イベントレポート 
先日開催されたデブサミのセッションの中からJavaに関するものを中心にいくつかレポートする。今年はなんと、あのDukeがリンゴを射抜く?
Java Solution」フォーラム 2007/2/22
Javaが組み込み用途にやってきた
連載:頭脳放談
 iアプリに代表されるように、組み込み用途でJavaが広がっている。それにともない、組み込み用途でのJavaの高速化が注目されている
PC Insider」フォーラム 2001/3/22

@ITMONOist−「組み込み開発」フォーラム関連記事


生産性向上への道 Eclipseで行うC/C++開発
オープンソースのビジュアル開発環境“Eclipse”を用いた、C/C++アプリケーションのクロス開発方法について解説
組み込み開発でもEclipseを!
Eclipse Foundationのプロジェクト最新事情
 Eclipse Foundationでは、Eclipseを組み込み開発に応用する取り組みが行われている。その最新事情を紹介する
リアルタイム&低消費電力を実現するJavaプロセッサ
組み込み開発フォーラムNews
 東京エレクトロン デバイスはJavaプロセッサおよびJavaモジュールの専業メーカー米aJile Systemsと販売代理店契約を締結した

 

1-2-3
 

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

Java Solution全記事一覧



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

注目のテーマ

Java Agile 記事ランキング

本日 月間