特集
» 2009年08月24日 00時00分 UPDATE

Javaは組み込みに“不向き”は本当か?:組み込みJavaのいま−携帯電話、Blu-rayに続くモノ (1/2)

携帯電話やBlu-rayなどでJavaの利用は着実に広がりつつある。あらためて組み込み分野でのJavaの可能性を考えてみよう

[日立ソフトウェアエンジニアリング 一瀬 成広/日立製作所 中央研究所 中野 正樹,@IT MONOist]

 「Java」が世の中に登場したのは1995年のこと。あれから10年以上の月日が経過していますが、その活用の場は主にエンタープライズ・サーバ分野での利用が中心です。恐らく、@IT MONOistの読者の皆さんが特に興味を持たれている組み込み分野では、携帯電話を除き、「まだまだ、Javaは使われていない」というのが率直な印象ではないでしょうか?

 ご存じのとおり、Javaは“動的なWebページを実現する技術”として、Webブラウザに搭載されたことをきっかけに急速に普及しました。

 しかし、当初Javaがターゲットとして視野に入れていたのは、ほかならぬ『組み込みシステム』、具体的には「情報家電」の分野だったのです。そう、実はJavaには“組み込みシステムに適した特徴”が備えられているのです。本稿では、組み込みシステムでのJava利用について、その可能性を詳しく解説していきたいと思います。

Javaは「携帯電話」「Blu-rayプレーヤ」で利用されている!

 Javaを搭載した代表的な組み込みシステムとして真っ先に思い付くのは、携帯電話でしょう。2001年にJava搭載の携帯電話が登場してから2009年現在まで、何と全世界で約26億台もの携帯電話にJavaが搭載されています。

関連リンク:
Java: Change (Y)our World

 Javaをブラウザに搭載して動的なWebページを実現したように、携帯電話にJavaを搭載することで、“携帯電話にアプリケーションをダウンロードして利用する”という新たな使い方をユーザーに提供しました。また、携帯電話用Javaアプリケーションを有料で提供するという“コンテンツ市場”も形成されました。皆さんも一度は利用したことがあるのではないでしょうか?

 もう1つ、Javaを搭載している代表的な組み込みシステムとして、Blu-ray Discプレーヤがあります。Blu-ray Disc ROM(BD-ROM)を再生できるすべてのBlu-ray Discプレーヤは必ずJavaが搭載されています。BD-ROMには、映像データだけでなくJavaアプリケーションも記録できます。Javaアプリケーションが記録されたBD-ROMをBlu-ray Discプレーヤで再生すると、Javaアプリケーションがロードされ、映像とともにJavaアプリケーションによるインタラクティブ・コンテンツが表示されます。

Blu-ray DiscプレーヤでのJava利用 図1 Blu-ray DiscプレーヤでのJava利用

 また、Blu-ray Discプレーヤに内蔵されているローカル・ストレージは、オプションでネットワーク接続が可能です。Javaアプリケーションが、こうした機能を活用することで、実にさまざまなコンテンツを作成できます。その一例が、オンラインゲームや最新映画の予告編をダウンロードするJavaアプリケーションなどです。

 これらの代表例が示すとおり、組み込みシステムにJavaを搭載することで、ユーザーは製品を購入した後も新たな価値・サービスを享受できるのです。

組み込みシステムで有効なJavaの特徴

 それでは、なぜ携帯電話やBlu-ray DiscプレーヤでJavaが採用されるようになったのでしょうか?

 それは、Javaの特徴といえる

  • (1)高いセキュリティ
  • (2)プラットフォーム非依存

の2点が採用の大きな理由といえます。

 Webブラウザを含め、携帯電話、Blu-ray Discプレーヤの共通点は、『第三者が作成したJavaアプリケーションを実行する』という点です。

高いセキュリティ

 Javaは最初からセキュリティを考慮した設計となっており、第三者が作成したJavaアプリケーションを安全に実行することが可能です。Javaアプリケーションは仮想マシンにより実行され、任意のメモリにはアクセスできず、システムを意図的にダウンさせたり、重要なデータを読み出したりすることができないようになっています。

 また、Javaコードの事前検証機能により仮想マシンを破壊するようなコードの実装を防止したり、ネットワーク、ファイルといったリソースへのアクセスを制御したりする機構もあります。

組み込みシステムで有効なJava 図2 組み込みシステムで有効なJava

プラットフォーム非依存

 Javaは、第三者が開発したJavaアプリケーションをプラットフォーム非依存で動かすことができます。異なるプラットフォーム、つまり、さまざまな種類のCPU、OSが利用されている組み込みシステムで、同一のJavaアプリケーションを動かすことができるため、アプリケーションを比較的低コストで開発できます。また、Javaの実行環境は互換性確認テストにパスしなくてはならないという規則があるため、異なるプラットフォーム間での互換性が比較的高いという特徴もあります。

 このような特徴を生かして、第三者が開発したアプリケーションを組み込みシステム上で動作させるシステムを実現しています。

 また、第三者が開発したアプリケーションを動作させるという目的がない場合でも、組み込みシステムでJavaを利用するメリットがあります。

 Javaには、ソフトウェアの開発生産性を高くするさまざまな工夫がなされています。例えば、Java言語にはポインタがない、ガーベージコレクタによるメモリ開放自動化などにより、バグの少ないソフトウェアを開発できます。実際、エンタープライズ分野のサーバでJavaの利用が急速に広まった理由は“開発生産性が高い”という特徴のためです。

       1|2 次のページへ

Copyright© 2017 ITmedia, Inc. All Rights Reserved.