携帯電話でJavaアプリケーションを動作させる動きが本格化し始めた。2001年1月に出荷が始まったiアプリ対応の携帯電話は急速に広まっている。今夏までには,J-フォン・グループとKDDIも,Java対応の携帯電話を出荷する予定である。携帯電話の場合,Javaでありながら,プラットフォームの差や独自の機能拡張のために,サービス間の互換性はなく,実現できる機能にも違いがある。実用的なアプリケーションを開発するには,Java稼働環境の差を理解しておくことが重要となる。

(福田 崇男=tafukuda@nikkeibp.co.jp

表1●携帯電話向けJavaアプリケーションを利用できる携帯電話サービス
各キャリアのサービスとも,前提としているプラットフォームは異なる。さらに独自のAPI群を提供したり,アドレス帳やメールなどの機能との連携が可能かどうかも,サービスによって異なる
 携帯電話でJavaアプリケーションを動かせるようにするサービス「iアプリ」を,NTTドコモが今年1月に開始した。J-フォン・グループ,KDDIも追随する動きを本格化している。両者とも今夏にJava対応の携帯電話を出荷する予定で,どのようにJavaアプリケーションを稼働可能にするのか,その仕様を明らかにし始めた(表1[拡大表示])。

 iアプリは今のところゲームなどのエンタテインメント・アプリケーション中心だが,Java対応の携帯電話は今後,ビジネスでの利用が進む。携帯電話向けに新しい情報提供サービスを立ち上げたり,企業内のLANを携帯電話から使えるようにするなど,企業ユーザーにとっても有効な道具となる。

 そうしたサービスを提供する場合,3社のJava稼働環境の違いをきちんと把握しておくことが望ましい。さらには,同じ携帯電話会社のサービスであっても,携帯電話の機種によって互換性がなくなる可能性があることも認識しておく必要がある。

 3社とも,組み込み機器向けのJ2ME(Java2 Platform,Micro Edition)という標準仕様をベースに,Javaの実行環境を開発し携帯電話に搭載する。そのとき,それぞれが独自の機能を追加する。Javaアプリケーションのサイズやセキュリティ上の制限などにも違いがある。そのため,携帯電話の世界では,どのプラットフォームでも動作するというJavaのメリットは今のところ得られない。実現できる機能も違ってくる。

「プロファイル」に違い

 J2MEは,Java標準仕様であるJ2SE(Java2 Platform,Standard Edition)のサブセットで,組み込み機器を対象としたもの。携帯電話やPDA(携帯情報端末)向けの仕様は,その中のCLDC(Connected Limited Device Configuration)として定められている。NTTドコモ,J-フォン・グループ,KDDIの3社は,このCLDCをベースにしてJavaの動作環境を構築する。

図1●J2MEと各キャリアのJava対応携帯電話の構造
NTTドコモは,J2ME(Java2 Platform,Micro Edition)の仕様であるCLDCを独自のAPI群によって拡張している。Jフォンは,CLDCのプロファイルMIDPをベースに機能拡張する。KDDIは携帯端末にBREWを搭載するが,また詳細を明らかにしていない
 ただし,CLDCだけではJavaの稼働環境としては十分ではない。画面に表示するGUI部品や,描画,通信などの機能が用意されていないからである。それを補うのが「プロファイル」とよぶソフトウエア。このプロファイルが3社でそれぞれ異なる(図1[拡大表示])。

 NTTドコモのiアプリは,CLDCに独自仕様のプロファイルを追加した環境でJavaアプリケーションを動かす。この独自仕様のプロファイルをNTTドコモは「DoJa」と呼び,仕様を公開している。開発環境「J2ME Wireless SDK for the DoJa」も同社のWebサイトからダウンロードできる。

 J-フォン・グループは,MIDP(モバイル情報デバイス・プロファイル)に独自のAPI群であるJSCL(J-フォン・スペシフィック・クラス・ライブラリーズ)を組み込んだプロファイルを使う。MIDPは,米サン・マクロシステムズ,米モトローラ,フィンランド ノキアなどが中心となる「MIDPエキスパート・グループ」が定めた携帯電話向けのプロファイルである。

 KDDIは米クアルコムが開発した「BREW」を搭載する。BREWは,組み込み機器向けアプリケーション稼働環境で,CやC++でアプリケーションを開発できる。KDDIは,Javaの実行環境をBREWと同じ位置付けでリアルタイムOS上に構築するか,BREW上で動作するアプリケーションとして提供するかは明らかにしていない。

3社とも独自機能を追加

 NTTドコモとJ-フォンは,プロファイルが異なり,また,それぞれ独自の仕様を組み込んでいるため,Javaアプリケーションの互換性はまったくない。ソース・コードのレベルで再利用できないわけではないが,他のサービス向けに移植するには大部分を書き換えることになる。KDDIも独自の機能拡張を加えることが予想されるため,3社のJavaアプリケーション間の互換性はないということになる。

 プロファイルの違いは,Javaアプリケーションの機能にも影響する。NTTドコモのDoJaでは,HTTP(ハイパーテキスト転送プロトコル)に加えHTTPS(セキュリティ機能を加えたHTTP)を利用できる。GUI部品についても,例えばダイヤログ・メッセージを表示する機能はMIDPには用意されていないが,DoJaはこの機能を搭載している。iメロディなどの携帯電話サービスに関連した機能拡張も加えている。

 J-フォン・グループも拡張APIのJSCLでMIDPを補完している。例えば,MIDPに不足しているマルチメディア機能を加えている。2次元の動画や3次元ポリゴンを表示するAPIなどだ。音楽の再生や携帯電話機能との連携に関しても独自の拡張を加えている。

 KDDIが搭載するBREWは,TCP/IPベースであればどのプロトコルでも実装できるプラットフォームである。