Javaの可能性を広げるOSGi

Javaの可能性を広げるOSGi

Javaの関連技術で現在注目されているのが、OSGiと呼ばれる、アプリケーションを管理するためのプラットフォームです。すでに、主要なアプリケーション・サーバーや統合開発環境(IDE)のEclipseなどで採用されています。

OSGiは、今でこそ幅広い分野で使われているプラットフォームですが、もともとは、組み込みシステムやゲートウエイ装置向けに考えられた仕様です。もちろん、組み込みJavaの上でも動作しますし、Android上での動作も確認されています。

OSGiが提供する具体的な機能は、アプリケーションのライフサイクルを管理する機能です。これを実現するために、非常に強力なバージョン管理/依存関係解決の仕組み、アクセス制御機能などを持っています。

図3: OSGiの主な機能

OSGiは、これらの強力なアプリケーション管理機能を備えることから、複雑なアプリケーションを管理する必要のあるアプリケーション・サーバーにおいては、デファクト・スタンダードとなっています。

一方、組み込みの分野においては、主としてアプリケーションの遠隔更新を支援する目的で使われています。複合機やカーナビ、ホーム・ゲートウエイ(HGW)など、複数のアプリケーション機能やモジュールが動作するシステムにおいて、OSGiの採用が進んでいます。

OSGiは、非営利の標準化団体「OSGi Alliance」によって仕様が定められています。通信事業者やITベンダー、電機メーカーを中心に、2010年現在、約120社が参加しています。最新仕様のRelease 4.2は2009年9月に規定されました。2010年秋には、住宅用のResidential仕様がリリースされる予定です。Residential仕様では、HGW(ホーム・ゲートウエイ)を遠隔管理するための仕様が規定されます。

OSGiを使うためには、OSGiの実装を入手する必要があります。仕様自体はOSGi Allianceで公開されているので、その仕様を基に独自に実装することが可能です。実際、オープンソースによる実装も存在します。OSGi Allianceが正式に認定している実装は、以下の5つです。

  1. Makewave Knopflerfish Pro 2.0
  2. ProSyst Software mBedded Server 6.0
  3. Eclipse Equinox 3.2
  4. Samsung OSGi R4 Solution
  5. HitachiSoft SuperJ Engine Framework

国内のベンダーでは、5番目に挙げた、筆者が所属する日立ソフトウェアエンジニアリング(日立ソフト)の「SuperJ Engine Framework」が、OSGiから認定を受けています。同ソフトは、特に組み込み機器に特化した実装になっています。

まとめ

Javaが登場したのは1995年。当初、Javaがターゲットとしていたのは、組み込みシステム、具体的には情報家電でした。Javaが持つ「VM上でアプリケーションを動作させる」という発想は、さまざまなハードウエア・スペックを持つ組み込みシステムだからこそ生まれました。当時の組み込み機器にとっては先進的過ぎたこの技術は、10年以上の歳月を経た今、重要性を増してきています。

Javaの魅力をさらに引き出すのが、OSGiです。今後、OSGiの標準化が進めば、OSGiによってJava VMごとの仕様の違いを吸収できるようになります。組み込みシステムからサーバー機まで、多種多様なハードウエアの上で、同じJavaプログラムを実行できるようになります。

OSGiに準拠したプログラムが増えれば、これらを部品として組み合わせるだけで、目的のサービスを開発することができるようになります。JavaとOSGiの組み合わせは、組み込みシステムだけでなく、広くソフトウエア開発全般において、大きな変化をもたらすかもしれません。

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30