米Sun Microsystems社は2004年6月28日,米サンフランシスコで開催中のJavaの開発者会議「JavaOne 2004」で,デスクトップ・アプリケーション向けに開発中の4種類の新技術を披露した。同時にそれらをオープンソース化し,Java技術者のコミュニティ・サイト「java.net」で公開することを明らかにした。具体的には(1)Javaで3次元表示を実現するためのAPI「Java 3D」,(2)Java 3Dを用いた3次元のユーザー・インタフェース構築技術「Project Looking Glass」,(3)異なるOS間で同じユーザー・インタフェースを実現するためのコンポーネント「JDesktop Integration Components(JDIC)」,(4)リッチ・クライアントの開発時に利用できるユーザー・インタフェース部品やネットワーク接続機能を提供する「JDesktop Network Components(JDNC)」である。

 4種の技術のうち,Jonathan Schwartz社長のゼネラル・セッションの中でデモが披露されたのが(2)のProject Looking Glass。(1)のJava 3Dを使って3次元のウインドウを表示し,マウスでそれを裏返したり,拡大縮小したりできる。「例えばアプリケーションの設定をウインドウの裏に表示しておける(写真下)。ユーザーはウインドウを裏返して,設定を確認したり変更したりできる」(同技術の開発者であるSunのSenior Staff Engineer,Hideya Kawahara氏)。現在はSolarisとLinuxをターゲットにして開発が進んでいる。

 (3)と(4)は,テクニカル・ゼネラル・セッションの中で紹介された。(3)のJDICは,同一のコンポーネントを使って,それを実行する各OS独自のルック・アンド・フィールを実現することを目的としている。JavaはOSを問わず動くとは言え,GUIの描画に関してはOSに依存する部分が多い。開発者は各OSごとに異なるコードを書くことが少なくない。JDICは,こうした問題を気にせずにGUIアプリケーションを開発できるようにするための技術。コンポーネントがOSの違いを吸収するため,アプリケーションの開発者はそれを意識しなくてよい。既に,タスクトレイやスクリーン・セーバーなどを異なるOS上で同じように動かすコンポーネントが実装され,公開されている。現在のところ,Windows XPとGTKを主なターゲットにして開発を進めている。

 (4)のJDNCは,リッチ・クライアントを開発する際に便利に利用できるコンポーネント群。データベースから取得した値のチェックや表示をする,階層構造を持つデータをツリー状に表示する,データベースやWebサービスに接続する,などの機能を持つコンポーネントを揃えている。Javaのプログラム中で利用するだけでなく,XMLのようなマークアップ言語からコンポーネントを呼び出すための仕組みも備えている。(3)と(4)は,将来的にJ2SE(Java 2 Platform, Standard Edition)に含まれる可能性があるという。

(八木 玲子=日経バイト)