このページの本文へ

~Webサービスと次世代分散環境

JavaOneレポート(その3)

2001年06月09日 13時30分更新

文● 渡邉 利和(toshi-w@tt.rim.or.jp)

  • この記事をはてなブックマークに追加
  • 本文印刷

JavaがSun単独の開発ではなく、JCP(Java Community Process)に基づく「コミュニティ主導」での開発が定着したことを反映して、JavaOneの性格も変わってきたようだ。

目新しい新発表は減少

Java技術をSunが独自に開発しているのであれば、JavaOneのタイミングに合わせて大々的な発表を行ない、注目を集めることも可能だろうが、開発がコミュニティ主導となった現在では、正式発表まで情報を伏せておく、というのはまず不可能だろう。JCPに基づいて企画提案からプロジェクトの発足といった作業がコミュニティにオープンにされているため、「イベント用に目玉を用意しておく」という形にはなりにくいものと思われる。

Dukeと一緒に記念撮影
展示会場の入り口では、Dukeと一緒に記念撮影ができるサービスが行なわれていた。スタッフがインスタント写真(いわゆるポラロイド)で撮影し、その場で渡してくれる
Javaチップ
今年は、組み込み市場を意識した展示が多く、JVMやJavaチップが多数見られた。Ajileのブースでも、実際に動作するJavaチップを見せていた
Javaチップを使ったシステムに液晶モニタを接続
Javaチップを使ったシステムに液晶モニタを接続し、ストリーミングビデオを再生する、というシステム

実際に参加して受けた印象としては、Conference Sessionを中心とした開発者のための情報収集とコミュニティ内部のコミュニケーションの場としての性格が強まり、報道関係者向けのアピールを行なう場と見るのは不適切だと思える。

また、今年は携帯電話などへのJavaの組み込みが目立つ話題となったが、これに関しては日本国内の状況が先行しているため、あまり大きな進歩とは感じられないのが正直なところである。しかし、携帯電話の高機能化に関して、Java(J2ME)が事実上の標準として広く採用される動きがはっきりしてきたことは大きな意味があるだろう。少なくともJava開発者にとって市場が拡大することは間違いない。

SANYOとEPSONは共同でJiniシステムのデモ
SANYOとEPSONは共同でJiniシステムのデモを行なっていた。デジタルカメラ、Cobalt Cube、プリンタのいずれもJiniデバイスであり、ネットワークに接続するだけで相互の存在を認識してサービスを利用する。現在は有線接続だが、Bluetoothなどの無線環境を使って実装すれば便利な環境ができるはずだ
デジタルカメラに表示されるプリント出力用の設定画面
デジタルカメラに表示されるプリント出力用の設定画面。これは単にインターフェイスを実装してあるだけで、実際の処理はプリンタ側で行なわれる。容量の都合上、このデモでは撮影画像は即座にCobaltに転送されて保存される。カメラからプリンタへは印刷のための指示と画像のIDだけが送られ、画像データそのものはプリンタが自分でCobaltに取りに行く、という構造になっている

Bill Joyの関心は新しい分散環境の実現か?

Greg Papadopoulos氏
基調講演を行なうGreg Papadopoulos氏(Senior Vice President and Chief Technology Officer, Sun Microsystems)
3日目の基調講演には、Sun Microsystemsの創立メンバーの1人であり、現在Chief Scientistを務めるBill Joyが登場した。ただし、Senior Vice President and Chief Technology OfficerのGreg Papadopoulos氏の説明を受けてフォローアップを行なうという役割で、Bill Joy氏が前面に出てきたという印象ではない。しかし、この講演にSunをリードするビジョンが含まれているのは間違いないだろう。

Webサービスは、ネットワーク化されたコンピュータ間でアプリケーションを分散するための第一歩である。従来も、複数のコンピュータ間で分散処理を行なう技術が存在しなかったわけではないが、広く一般的に利用できるメカニズムはなかったと言ってよい。Webサービスによって、別々に構築されたアプリケーションを動的に任意に組み合わせて利用できるようになる。この基礎となるのが、共通データ形式であるXMLと、共通プログラムコードであるJavaである。そして、ネットワーク上に分散しているアプリケーションを見つけだすためのフレームワークがWebサービスとJXTAということになる。



コンピュータネットワーク環境の進化のようす
Papadopoulos氏が示したコンピュータネットワーク環境の進化のようす。現在は、“The Computer is the network”という段階にあるという。ごく初歩的な分散処理が実現し始めたところだ

ロトコルを時代ごとに整理したもの
インターネット環境で中核的な存在だったプロトコルを時代ごとに整理したもの。この通りになるとすれば、次の大きな動きはストレージと、遠隔監視/制御の分野で起こることになる

Bill Joy氏
Papadoupoulos氏との会話という形で基調講演に登壇したBill Joy氏
JXTAは単なるP2Pアプリケーションのためのフレームワークではなく、「分散コンピューティング」実現のために必要な道具である。Bill Joy氏の関心は、JavaやJXTAそのものを既に通り過ぎており、「分散コンピューティング」の実現に向いていると感じられた。JXTAを利用すると、ネットワーク上のコンピュータを“コミュニティ”化し、状況に応じて動的に組み替えられる柔軟なグループを形成できる。そして、このグループ内で共通のデータ/共通のプログラムを交換できるわけだ。ネットワークの最先端では、現実世界の人間社会と同様の「コンピュータの社会」をインターネットに構築しようとする動きが始まっていると見ることができる。まだまだ、ネットワークの将来には面白そうなことがいくらでも起こりそうだ。



JXTAのモデル
Bill Joy氏が示したJXTAのモデル。以前見たものと比べると、JXTAShellがアプリケーションとしての性格を失って完全に“JXTA Service”レイヤーに置かれるように変わっているが、微調整レベルの話であろう

JXTA InstantP2Pアプリケーションのデモ
Sun View読者諸氏は既にご存じのJXTA InstantP2Pアプリケーションのデモ

JXTA InstantP2PアプリケーションをiPAQで実行
JXTA InstantP2PアプリケーションをiPAQで実行している。携帯電話や組み込み機器を利用した「いつでも誰でもP2P」という環境が一気に現実的なものに思えてくる
JXTAを利用した分散ストリーミングのデモ
JXTAを利用した分散ストリーミングのデモ。ネットワーク上で複数のストリーミングメディアサーバを見つけだし、同時にデータを遅らせることでパフォーマンスを向上させるというもの。分散処理に繋がる可能性を示したデモと言えるだろう

JavaServer Faces

Dennis MacNeil氏
JavaServer Facesの説明をしてくれたDennis MacNeil氏
詳細が分かりにくいJavaServer Facesだが、担当のDennis MacNeil氏(Senior Product Manager, Java Software, Sun Microsystems)に話を聞く機会があったので紹介したい。JavaServer Facesは、現在のJavaScriptなどのブラウザ側で動作するスクリプト言語を置き換えることが可能な技術で、サーバサイドから一貫したGUIを提供することができる。実行にはJava対応のWebブラウザがあればよく、次々と発表されているJava対応携帯電話なども視野に入っている。

仕様はまだ完全に確定したわけではないため、現時点ではまだ曖昧な点もあるが、基本的にはWebオーサリングツールを介して利用する「API+フレームワーク」という性格のものだ。MacromediaやAdobeといったツールメーカーも仕様策定に参加しているため、仕様が確定すればJavaServer Facesを利用できるツールも順次市場に投入されるものと思われる。

JavaServer Facesは、“Web Service Pack”に含まれる予定である。Web Service Packの説明では、JavaServer Facesは可能になった時点で含む、という表現がされており、Web Service Packの最初のリリース時点ではJavaServer Facesは間に合わないことを伺わせていたが、Dennis MacNeil氏は「多分同時にリリースできるだろう」と予測していたので、期待したい。

JavaServer Facesを含め、Javaに追加される新機能などはJCPに従って提案が行なわれる(JSR:Java Specification Request)。JavaServer FacesのJSRを見ると、JavaServer Facesは基本的にはJSP(JavaServer Pages)の拡張であり、新しいJSPタグと必要なJavaクラスを定義しようとしているようだ。実際の動作時には必要なJavaBeansがサーバからクライアントに転送され、クライアント側でのGUI操作や、サーバへのイベントの通知を行なう、という形になるものと思われる。

なお、提案されているJSRのリストや提案の内容はJCPのWebサイトで確認でき、仕様策定のためのExpert Groupに参加することもできるので、興味のある方は是非Javaの仕様策定に参加し、よりよい仕様を作り上げてほしい。



カテゴリートップへ

アスキー・ビジネスセレクション

ASCII.jp ビジネスヘッドライン

ピックアップ