携帯向けJava,3社の違いは? NTTドコモ,J-フォン,KDDI,3社のJava仕様の概要が見えてきた。制限ファイルサイズも異なり,独自機能の違いも多い。セキュリティに関する考え方もそれぞれだ。
J-フォンに続いてKDDIも携帯向けJavaの仕様を公開した(3月22日の記事,4月13日の記事参照。現在サービス中のNTTドコモのiアプリを含め,国内3大キャリアのJava仕様の概要が見えてきた。
基本はKVM/CLDC現在のJava2は,JavaVM(仮想マシン)やプロファイルと呼ばれるAPIセットによってさまざまな種類が規定されている。携帯電話では,そのなかでも組み込み機器向けのMicro Edition(ME)を用いる。
各キャリアが採用するのは,いずれもCLDC/KVMという構成だが,さらにGUIやネットワークコネクション,レコード型のデータ保存形式などを提供する,プロファイルと呼ばれるAPIが追加される。
APIの違い3キャリアのJavaの仕様上の違いは,簡単にまとめると以下のようになる。
携帯電話各社が発表したJavaアーキテクチャでは,CLDCに沿ったJavaVMを利用する。NTTドコモは端末ごとに異なるメーカーのJavaVMを採用しおり,J-フォン,KDDIの場合,全端末共通でアプリックスのJBlendの採用を予定している。 NTTドコモ端末ではJavaVMを1社に限定しないことで,不具合などのリスクを分散させたが,逆に端末ごとに細かな仕様の違いが生まれてしまった。J-フォンとKDDIでは,ドコモの「SO503i」にも採用されているJBlendを採用することで,端末間の互換性をより重視している。 KDDIの端末ではJavaVMが動作するCPUであるベースバンドチップが全てQualcomm製であるため,さらに互換性が高まる。ドコモの端末では端末によって10倍以上の速度差があるといわれており,開発者は端末の速度差を意識してアプリケーションを開発する必要があった(3月21日の記事参照)。 またプロファイルに関しては,J-フォンとKDDIは世界標準のMIDP(Mobile Information Device Profile),NTTドコモでは「DoJa」と呼ばれる独自のものを採用している(2000年12月の記事参照)。 ドコモのDoJaプロファイルに関しては,公式開発環境・ライブラリが提供されたのは一部のメーカーのみ。端末発売後2カ月あまり経った後,やっと一般公開されたという経緯がある(3月23日の記事参照)。MIDPは既にSun Microsystemsから開発環境・ライブラリが提供されており,エミュレータも用意されている。海外のJava対応携帯電話もプロファイルにはMIDPを採用しており,今後とも世界標準という位置付けになりそうだ。 また,JavaアプリケーションはJARと呼ばれる圧縮ファイルで配布され,端末内で展開が行われるが,JARファイルの最大サイズは各キャリアで制限されている。NTTドコモが10Kバイトと最も小さく,J-フォンは30Kバイト,KDDIは50Kバイトと大きめだ。 J-フォンとKDDIは,同じプロファイル/JavaVMを採用することで,大きな互換性を持つことになると予想されている。 大きな自由度を持つ,J-フォンとKDDIセキュリティの考え方も,各キャリアによって微妙に異なる。各キャリアはMIDPなどの統一プロファイルに追加して,各キャリアは独自の拡張APIを提供している。 J-フォンのJava端末は「マスコットカプセルエンジン Micro3D Edition for J-phone」と呼ばれる3Dエンジンを搭載し,Javaアプリケーションから利用が可能だ(3月15日の記事参照)。KDDIは,C4xxシリーズから採用されている新Cメールを利用して,Javaアプリケーション同士が通信できるAPIを用意している。また,オムロンが開発した携帯電話向けのP2Pを実現するミドルウェア「Jumon」もサポートしている(2000年10月の記事参照)。 各Java仕様の主な独自拡張機能は以下の通り。
しかし多くの独自拡張APIは,一般のJavaアプリケーションからは利用できない場合が多い。ドコモはJavaアプリケーションの制作者を区別することなく同列の仕様を提示しているが,J-フォンとKDDIは,多くの独自拡張機能について,キャリアがアプリケーションの認証を行うことを条件として使用を許している。 拡張性とセキュリティの狭間で“より強力なアプリケーションを作る”という視点で見れば,アドレス帳などの携帯電話内のデータにアクセスできたり,Javaアプリケーションから電話やメールを送受信できたりするのは魅力的だ。 しかし,このように自由度を高めた場合,セキュリティ面で危険が生じる。Javaアプリケーションが携帯電話のメモリや通信機能にアクセスできるということは,技術的にはウイルスも作成できるということを意味するからだ。 ドコモ仕様では,これらの危険性を嫌い,公式/一般を問わず,非常に厳しい制限をかけた。逆に,J-フォン,KDDIは,キャリアが安全性を確認することを条件に,制限を緩めている。 さまざまな機能を利用できるのはありがたいが,J-フォン,KDDI仕様は“キャリアによる開発者の選別”という事態が起こる可能性も含んでいる。“キャリアが安全性を確認する”といっても,確認作業は簡単に済むものではなく,時間も資金も必要となる。 さらに,「レベルAアプリ(キャリアが安全性を確認するアプリ)を作るには,公式サイトを運営していることが条件」(KDDI)と,まずは公式サイトの一員となるという壁がある。J-フォンに至っては,「まずはJ-フォンのオフィシャルサイトから(Javaアプリのサービスを)始める」(J-フォン東日本)という。 Javaアプリケーションの自由度を高めた代償として,J-フォンとKDDIでは“キャリアに認められなければ高度なサービスができない”という事態になってしまった。 J-フォンもKDDIも,プロファイルに世界標準であるMIDPを採用するなど,“オープンであること”を喧伝している。しかし実際のところは,一般の制作者は公式サイトを運営する企業と同じ土俵で勝負できるわけではない。 仕様自体は独自ながら,全てがオープンにされているドコモ。そして,仕様は世界標準に従っているが,キャリアが認めた開発者だけがより高度な機能を使えるJ-フォンとKDDI。Javaアプリケーション市場の発展のためには,どちらのほうが望ましいのだろうか。 関連記事 [九条誠二,ITmedia] Copyright © ITmedia, Inc. All Rights Reserved. モバイルショップ
最新スペック搭載ゲームパソコン
最新CPU搭載パソコンはドスパラで!!
FEED BACK |