人気のモバイルJava、現状と可能性(下)

2001/6/12
May 23, 2001 By LENNY LIEBMANN InternetWeek

*この記事は全2回連載の2回目です。前回記事はこちら

 “1度書けばどこででも動く(write once, run averywhere)”というJavaの理想は、あくまでも理想に過ぎない。現実は完全ではない。「僕なら“数回書けば、ほんの少し手を加えて、ほとんどどこでも動く”というね」とマップインフォのCheu氏。このようにJavaの理想と現実が一致していないのは、デスクトップ環境でJava VMを使ったことのある開発者の間では有名な話だ。

 Java VMは、Javaのアプリケーションが他の異なるクライアントで実行されると問題を起こすことで知られている。アプリケーションのインターフェイスが微妙に違っていたというような細かな場合もあれば、OSの指定する仕様が実装されておらず、機能的な問題に至るような深刻な場合もある。

 モバイル端末ではこの不一致がより顕著になる。まず、J2MEはデスクトップのJava VM技術より新しい技術であるため、バグも多い。次に、J2MEはPDAや携帯電話に特化して定められた仕様ではない。セットトップ・ボックスや組み込みシステムなど、小型機器のJavaの実装もカバーする技術だ。そのため、端末のJava機能サブセットのインストールには端末メーカー間で開きがある。

  携帯端末のJavaの実装は、2つの異なる仕様に基づいている。MIDP(Mobile Information Device Profile)とCLDC(Connected Limited Device Configuration)だ。MIDPはユーザー・インターフェイスやアプリケーション・モデルを表現するJava APIの集まり。一方のCLDCは、基本的なライブラリとJava VMの仕様を定義するもの。

 端末ベンダーはJ2MEのサブセットの実装を選択できるだけではなく、その機能に端末独自のライブラリを追加することもできる。実際、こういった付加価値は、差別化を図るために欠かせないものだ。

 また、このような差別化は、付加価値のあるコンテンツとアプリケーションの提供を図るワイヤレス・ネットワーク・プロバイダにも重要となる。このわかりやすい例が日本でのNTTドコモの大成功だ。ドコモの顧客にサービスを提供したい会社は、直接ブラウザか、ネイティブ・クライアントか、ドコモの独自の仕様(J2ME CLDCでの使用を想定したJavaの実行環境であるKVMの非標準型)を用いることになる。

 調査会社Illuminataのアナリスト、James Governor氏は「ドコモのカスタマイズされたJavaクライアントは、サンが定めた正当の標準としてより、サービス・プロバイダが実装するデファクトの標準(事実上の標準)として、J2MEが利用されていることを示す一例だ」という。

 また、Governor氏は、「KVMを完全な形で導入するとオーバーヘッドが生じたり、パフォーマンスが劣化するといわれていることから、サービス・プロバイダや企業の開発者はシック(thick:厚い、“シン(thin;薄い)”の反対語)・クライアント側のJavaアプリケーションに移行する前に考慮すべきだ」とも指摘する。

 weCommのSturrock氏は別の懸念事項として、J2MEクライアントの技術面での課題を示す。その1つが、クライアント側でのアプリケーションにとってTCPの実装は比較的重い実装になるが、UDPの実装はシンプルで済む点だ。Sturrock氏は、「ワイヤレス・ネッ トワークではパケットの紛失が発生しやすいため、TCPの利用はあまり有効ではない。 これはユーザーに質の高いアプリケーションを提供しようと思っている企業にとっては好ましくないことだ」と語る。

 同氏のチームでは、TCPよりもUDPが有効だとする議論が行われているが、UDPでは サーバ側のインフラに多少の投資を必要とするという。また、ベンダー間の実装が異なるため、改めて複数の端末やアプリケーション、ネットワークの管理が難しいことを実証しているという。

 クライアント側のJavaのマーケットが重要な形成期に突入した一方で、サーバ側のJavaは安全な領域にあるといえる。Evans Dataの調査によれば、クライアント側におけるJ2MEのように、Java Server Pages(JSP)はモバイル・アプリケーションのバックエンドで確固とした地位を築いているという。

 IlluminataのGovernor氏は、「今日のJavaベースのアプリケーション・サーバの柔軟性を考えると、別にワイヤレス・サーバを立てることは適切な案とは思えない」と付け加える。「すでにアプリケーション・サーバで実現しているのに、どうして別にサーバを購入する必要がある?」と同氏。

 Governor氏がワイヤレス・サーバと呼ばれるものに投資しようとしている顧客によく考慮するようアドバイスを行う理由はここにある。同氏は、ほとんどのワイヤレス・サーバ・ベンダーの寿命は長くはないと見ている。

 もしJ2MEがワイヤレス端末でも成功を収めるならば、その領域はスマートフォンやPDAに特化した開発環境にとどまらないだろう。Javaクライアントの利用により、通常のJavaベースのサーバ側のアプリケーションのインフラが、モバイル、非モバイルのアプリケーションをサポートするようになるだろう。

 だが、そうなるためには、業界の幅広い企業(端末メーカー、ネットワーク・プロバイダ、サーバ・ベンダー、モバイル・コマース開発者などなど)が、Javaクライアントの実装に関し、ある一定のところで統一する必要がある。これは“もし”の多い前提ではある。しかし、J2MEのビジョンが部分的でも完成すれば、企業やサービス・プロバイダは計り知れないメリットを享受できるのだ。

*この記事は一部編集しています。

[英文記事]
Java On The Go

[関連記事]
人気のモバイルJava、現状と可能性(上) (@ITNews)
SCEI、プレステ2にJava VMを搭載へ(@ITNews)
Java搭載携帯、3社の仕様が出揃う (NewsInsight)
携帯Java最新事情 (JavaSolution)
MIDPプログラミング入門 (JavaSolution)
携帯電話のデータダウンロードサービスの違いと 通信プロトコル (Mobile Connection)

Copyright(c) 2001 CMP Media LLC. All rights reserved

情報をお寄せください:



@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)