携帯電話やBlu-rayなどでJavaの利用は着実に広がりつつある。あらためて組み込み分野でのJavaの可能性を考えてみよう
「Java」が世の中に登場したのは1995年のこと。あれから10年以上の月日が経過していますが、その活用の場は主にエンタープライズ・サーバ分野での利用が中心です。恐らく、@IT MONOistの読者の皆さんが特に興味を持たれている組み込み分野では、携帯電話を除き、「まだまだ、Javaは使われていない」というのが率直な印象ではないでしょうか?
ご存じのとおり、Javaは“動的なWebページを実現する技術”として、Webブラウザに搭載されたことをきっかけに急速に普及しました。
しかし、当初Javaがターゲットとして視野に入れていたのは、ほかならぬ『組み込みシステム』、具体的には「情報家電」の分野だったのです。そう、実はJavaには“組み込みシステムに適した特徴”が備えられているのです。本稿では、組み込みシステムでのJava利用について、その可能性を詳しく解説していきたいと思います。
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アプリケーションが、こうした機能を活用することで、実にさまざまなコンテンツを作成できます。その一例が、オンラインゲームや最新映画の予告編をダウンロードするJavaアプリケーションなどです。
これらの代表例が示すとおり、組み込みシステムにJavaを搭載することで、ユーザーは製品を購入した後も新たな価値・サービスを享受できるのです。
それでは、なぜ携帯電話やBlu-ray DiscプレーヤでJavaが採用されるようになったのでしょうか?
それは、Javaの特徴といえる
の2点が採用の大きな理由といえます。
Webブラウザを含め、携帯電話、Blu-ray Discプレーヤの共通点は、『第三者が作成したJavaアプリケーションを実行する』という点です。
Javaは最初からセキュリティを考慮した設計となっており、第三者が作成したJavaアプリケーションを安全に実行することが可能です。Javaアプリケーションは仮想マシンにより実行され、任意のメモリにはアクセスできず、システムを意図的にダウンさせたり、重要なデータを読み出したりすることができないようになっています。
また、Javaコードの事前検証機能により仮想マシンを破壊するようなコードの実装を防止したり、ネットワーク、ファイルといったリソースへのアクセスを制御したりする機構もあります。
Javaは、第三者が開発したJavaアプリケーションをプラットフォーム非依存で動かすことができます。異なるプラットフォーム、つまり、さまざまな種類のCPU、OSが利用されている組み込みシステムで、同一のJavaアプリケーションを動かすことができるため、アプリケーションを比較的低コストで開発できます。また、Javaの実行環境は互換性確認テストにパスしなくてはならないという規則があるため、異なるプラットフォーム間での互換性が比較的高いという特徴もあります。
このような特徴を生かして、第三者が開発したアプリケーションを組み込みシステム上で動作させるシステムを実現しています。
また、第三者が開発したアプリケーションを動作させるという目的がない場合でも、組み込みシステムでJavaを利用するメリットがあります。
Javaには、ソフトウェアの開発生産性を高くするさまざまな工夫がなされています。例えば、Java言語にはポインタがない、ガーベージコレクタによるメモリ開放自動化などにより、バグの少ないソフトウェアを開発できます。実際、エンタープライズ分野のサーバでJavaの利用が急速に広まった理由は“開発生産性が高い”という特徴のためです。
Copyright © ITmedia, Inc. All Rights Reserved.