後藤弘茂のWeekly海外ニュース


※今週は後藤氏Win HEC取材のため、ニュースサイトWatchはお休みとさせていだたきます。

Java Oneを機にJavaの歴史を振り返る

「どこでもJava」を目指すSunのJava戦略

●Green Projectからすべては始まった

 1990年のある日、米Sun Microsystems社の中に小さなプロジェクトが誕生した。「Green Project」と名付けられたこのプロジェクトは、SunのR&Dのなかでもとくに異色な存在だった。それは、このプロジェクトが模索していたのが、Sunのこれまでの主戦場であるUNIXワークステーション/サーバーとはまったく関連のないインテリジェント家電というフィールドだったからだ。

 「毎日使われている電子レンジやテレビでどういうことが起こってるかに注目すると、デジタル機器が一般的なコンピュータとは違った方向へ向かっているような気がした」と同プロジェクトに初期の段階から関わってきたSun Microsystems副社長&Sun FellowのJames Gosling氏は、Green Projectが始まった動機について、昨年のJavaDayのスピーチのなかで説明している。つまり、CPUを持ち始めたさまざまな家電が、コンピュータとは違った形で発展できるのではないかと考え始めたというわけだ。

 まもなく、同プロジェクトは最初のコンセプトモデルとして「*(Star)7」と呼ばれるリモコン装置を開発した。昨年のJavaOneカンファレンスで紹介された*7の概要はなかなか興味深い。このリモコン装置は、部屋中の家電と無線でコミュニケートし、各機器から機能の情報を学習する。家電がネットワーク化するという発想だ。それによって、どんな機器も共通したインターフェイスでコントロールできるようになる。しかも、そのユーザーインターフェイスは、マスコットキャラクタが現れ、アニメーションでユーザーの指示した作業を行うという斬新なものだったそうだ。

●家電向けの新言語を開発

 家電を画期的に使いやすいものにするはずのプロジェクトは、日本の家電メーカーと協力して開発が始まった。だが、家電用のプログラムを作り始めてすぐに、Gosling氏は、これまでのコンピュータ用言語が家電にあまり適していないことに気がついた。「従来のコンピュータビジネスでは、もっとも重要だったのは互換性だった。しかし、家電では信頼性や移植性などの方が優先順位が高かった」(Gosling氏)という。そこで、Gosling氏は、家電向けにまったく新しい言語を作ることにした。この新言語は「Oak」というコード名で呼ばれた。

 OakはC++の文法を借りながらも、信頼性や移植性といった家電に要求される部分を徹底的に強化した。例えば,家電ではコストや性能によってさまざまなCPUとOSの組み合わせを選択する。そのため、Oakではプラットフォームのアーキテクチャからはニュートラルになるようにした。メモリやストレージへのアクセスを制限することで信頼性も高めた。また、各システムのメモリなどを最小限に抑えるために、プログラム部品が自由にネットワーク上で動けるようにすることも配慮した。

●JavaOneで組み込み向けのJava API群を発表

 それから5年、Green Projectはとん挫したものの、その子どもであるOakは、Javaに発展してこの2年間Webを席巻してきた。また、*7向けに開発されたマスコットキャラクタDukeも、Javaのトレードマークとして生き残った。そして、ふたたびJava(Oak後継)は、当初目指した市場へのアプローチを戦略の重点のひとつに据え始めた。

 Sunは、先週開催したJava関連の開発者向けカンファレンスJavaOneで、テレビやコピー機といったキーボードを持たない家電機器向けの「PersonalJava」、携帯電話やポケベルなど簡単な表示機能しか持たない機器向けの「EmbeddedJava」など、組み込み向けのAPIを発表した。だが、これはこうしたJavaの出自を考えれば何も不思議なことではない。もともとのJavaの目的は組み込みだったのだから、当然の流れだ。

 Javaは、インターネット/イントラネット向け開発言語としてデビューし、「Write Once, Run Anywhere」(一度書いたプログラムはどこででも走る)という特性によって、おもにクライアント側モジュールの開発負担を減らせることを強烈にアピールした。そういう意味では、95年から96年中盤までのJavaは、デスクトップの時代だったと言える。

 だが、昨年のJavaOneで、SunはJavaプラットフォームを拡張する各種API、JavaベースのOS「JavaOS」、Javaアプレットと他のコンポーネント技術の連携を行う「Java Beans」などを発表、Javaワールドの完成形がもっと壮大なプラットフォームになることを示した。デスクトップから先のJavaの道筋を示したわけだ。

 そして、今年のJavaOneは、その路線をさらに延長、上方向と下方向の両方へとJavaを拡張して見せた。というか、昨年発表したJavaの拡張構想に肉付けし、はっきりと形のあるものにしたといった方が正しいだろう。このコラムでは組み込み側しか触れていないが、実際には企業情報システム向けの部分の強化も発表している。

 さて、これまで、Javaが「Run Anywhere」であるという場合、それはほとんどの場合デスクトップを想定していた。NC (Network Computer)にしても同じことだ。しかし、今後は、上はあらゆる企業情報システムに、下はテレビや電話、さらにはスマートカード(ICカード)まで、あらゆるコンシューマ機器にRun Anywhereの概念が広げられることになる。

 この戦略がSunの思惑通り行けば、それはなかなか壮大だ。ごく近い将来にはドアノブにもサイフにもJavaなんてことになるかも知れない。ホテルなどではドアノブにすでにMPUが入っているし、サイフには近い将来スマートカードが入るようになるのだから、それだって十分ありうる話なのだ。

 プラットフォームとして比べた場合の、WindowsのJavaに対する弱みは、まさにここにある。今のところは、Windows(というかそのAPI)がドアノブやサイフに入るってのは考えにくい。(それでも、Microsoftは軽量版Windows CE「Gryphon(グリフォン)」などで、ドアノブとは行かないまでも組み込み市場にも食い込もうとしているわけだが)

 組み込みプロジェクトから生まれたJava。はたして、「Java Everywhere(どこでもJava)」を達成できるだろうか。

('97/4/7)
□関連記事
【4/3】Javaデベロッパーカンファレンス「JavaOne」レポート (Internet Watch)
http://www.watch.impress.co.jp/internet/www/article/970403/javaone1.htm
【4/4】Javaデベロッパーカンファレンス「JavaOne」レポート その2 (Internet Watch)
http://www.watch.impress.co.jp/internet/www/article/970404/javaone2.htm

[Reported by 後藤 弘茂]


【PC Watchホームページ】


ウォッチ編集部内PC Watch担当 pc-watch-info@impress.co.jp