- - PR -
「Java」が世の中に登場したのは1995年のこと。あれから10年以上の月日が経過していますが、その活用の場は主にエンタープライズ・サーバ分野での利用が中心です。恐らく、@IT MONOistの読者の皆さんが特に興味を持たれている組み込み分野では、携帯電話を除き、「まだまだ、Javaは使われていない」というのが率直な印象ではないでしょうか?
ご存じのとおり、Javaは“動的なWebページを実現する技術”として、Webブラウザに搭載されたことをきっかけに急速に普及しました。
しかし、当初Javaがターゲットとして視野に入れていたのは、ほかならぬ『組み込みシステム』、具体的には「情報家電」の分野だったのです。そう、実はJavaには“組み込みシステムに適した特徴”が備えられているのです。本稿では、組み込みシステムでのJava利用について、その可能性を詳しく解説していきたいと思います。
| 今回の主な内容
・Javaは「携帯電話」「Blu-rayプレーヤ」で利用されている! ・組み込みシステムで有効なJavaの特徴 ・Javaの技術課題は解消? ・ホームゲートウェイへのJava搭載 |
Javaは「携帯電話」「Blu-rayプレーヤ」で利用されている!
Javaを搭載した代表的な組み込みシステムとして真っ先に思い付くのは、携帯電話でしょう。2001年にJava搭載の携帯電話が登場してから2009年現在まで、何と全世界で約26億台もの携帯電話にJavaが搭載されています。
| 関連リンク: | |
| Java: Change (Y)our World http://java.sun.com/javaone/2009/articles/gen_tuesday.jsp |
|
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アプリケーションによるインタラクティブ・コンテンツが表示されます。
![]() |
図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コードの事前検証機能により仮想マシンを破壊するようなコードの実装を防止したり、ネットワーク、ファイルといったリソースへのアクセスを制御したりする機構もあります。
![]() |
図2 組み込みシステムで有効なJava |
プラットフォーム非依存
Javaは、第三者が開発したJavaアプリケーションをプラットフォーム非依存で動かすことができます。異なるプラットフォーム、つまり、さまざまな種類のCPU、OSが利用されている組み込みシステムで、同一のJavaアプリケーションを動かすことができるため、アプリケーションを比較的低コストで開発できます。また、Javaの実行環境は互換性確認テストにパスしなくてはならないという規則があるため、異なるプラットフォーム間での互換性が比較的高いという特徴もあります。
このような特徴を生かして、第三者が開発したアプリケーションを組み込みシステム上で動作させるシステムを実現しています。
また、第三者が開発したアプリケーションを動作させるという目的がない場合でも、組み込みシステムでJavaを利用するメリットがあります。
Javaには、ソフトウェアの開発生産性を高くするさまざまな工夫がなされています。例えば、Java言語にはポインタがない、ガーベージコレクタによるメモリ開放自動化などにより、バグの少ないソフトウェアを開発できます。実際、エンタープライズ分野のサーバでJavaの利用が急速に広まった理由は“開発生産性が高い”という特徴のためです。
関連記事 設計/開発技法
- 特集:Javaは組み込みに“不向き”は本当か?
- 連載:BREWアプリケーション開発入門(全10回)
- 連載:イチから作って丸ごと学ぶ! H8マイコン道(全12回)
- 連載:−ザ・組み込み−ソフトウェアのハードウェア化(連載中)
- 連載:組み込みLinux開発入門(全3回)
- 連載:T-Engineプログラミング入門(全4回)
- 連載:Symbian OS開発の勘所(全10回)
- 連載:Symbian OSアプリ開発の手引き(連載中)
- 連載:解説! ロボット開発環境Robotics Studio(全4回)
- 連載:Robotics Studio活用術 はじめて作るサービス(全5回)
- 連載:生産性向上への道 Eclipseで行うC/C++開発(全4回)
組み込み開発フォーラム 新着記事
- フルスクラッチの“Hello World”を動かしてみよう(2011/3/31)
- FlexRayプロトコルの概要(その2)(2011/3/29)
- JASA、東北地域に拠点を置く会員企業を支援(2011/3/25)
- NEC、震災の影響を受けた4拠点の生産再開を発表(2011/3/23)
- 内部ブロック図の基礎と共通要素(2011/3/22)
- インテル、被災地におけるITインフラの復旧を支援(2011/3/22)
- Facts on AUTOSAR/AUTOSAR導入の現実(2011/3/18)
- 計測器・震災被害ホットラインを開設、テクトロニクス(2011/3/18)
- ZMP、地震の揺れを多角的に計測するアプリ無償配布(2011/3/16)
- メンター、3Dテレビ・マルチメディア検証プラットフォーム(2011/3/16)
- 【番外編】タチの良い計測値、悪い計測値とは?(2011/3/15)
- tarファイルシステムをAndroidに組み込む!!(2011/3/10)














