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つの機能についても、優れた仕様として規定されています。
- バージョン管理
- 依存関係の解決
- アクセス制御(セキュリティ機構)
図4 OSGiの管理機能 |
■ OSGiを採用しているアプリケーションサーバ/ミドルウェア
近年この管理機能が注目され、OSGiは、OSGi Allianceが設立された当時にはまったく想定されていなかったアプリケーションサーバのソフトウェア部品化フレームワークとしての採用が進んでいます。例えば、下記のアプリケーションサーバ/ミドルウェアでは、OSGiが採用されています。
年々、アプリケーションサーバの機能は肥大化しており、ユーザーが必要としていない機能も入っているものです。アプリケーションサーバの各機能をバンドル化することにより、ユーザーが必要とする機能のみを選択して組み合わせることによって、メモリ消費を抑えることも可能となります。
図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と販売代理店契約を締結した |
INDEX | ||
Page1 | ||
日本企業も多数参加している「OSGi Alliance」 OSGiはEclipseでどのように利用されているのか |
||
Page2 | ||
【特徴1】幅広い環境でソフトウェアの部品化を実現 【特徴2】オープンな仕様で実装も多く、ツールもある |
||
Page3 | ||
【特徴3】バージョンや依存関係、アクセス制御の管理 もともとのターゲットである組み込み機器でも |
Java Solution全記事一覧 |
- 実運用の障害対応時間比較に見る、ログ管理基盤の効果 (2017/5/9)
ログ基盤の構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。今回は、実案件を事例とし、ログ管理基盤の有用性を、障害対応時間比較も交えて紹介 - Chatwork、LINE、Netflixが進めるリアクティブシステムとは何か (2017/4/27)
「リアクティブ」に関連する幾つかの用語について解説し、リアクティブシステムを実現するためのライブラリを紹介します - Fluentd+Elasticsearch+Kibanaで作るログ基盤の概要と構築方法 (2017/4/6)
ログ基盤を実現するFluentd+Elasticsearch+Kibanaについて、構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。初回は、ログ基盤の構築、利用方法について - プログラミングとビルド、Androidアプリ開発、Javaの基礎知識 (2017/4/3)
初心者が、Java言語を使ったAndroidのスマホアプリ開発を通じてプログラミングとは何かを学ぶ連載。初回は、プログラミングとビルド、Androidアプリ開発、Javaに関する基礎知識を解説する。
|
|