6月11日,米サンフランシスコ市で開催中のJava開発者会議JavaOne2003は2日目の日程を消化し,このイベントのため米Sun Microsystemsが用意したメッセージが徐々に見えてきた。目標はJava開発者を現状の3倍以上の1000万人に増やすことだ。同時に,そのための具体策も打ち出した。

 「Java開発者1000万人」計画は次の3点から成る。
(1)デスクトップPCや携帯型機器などへのJava実行環境搭載を進め,Javaを実行できる機器を増やす(Java Everywhere)。
(2)簡易型の開発ツールを投入するなどして開発の敷居を下げ,新たな開発者層を取り込む(Ease of Development)。
(3)java.netサイトによるオープンソース・プロジェクトの普及や,JavaOneなどイベントの内容を強化することで,開発者コミュニティを活性化する。

 (1)から(3)までの具体策は,相互に影響しあう。それぞれが達成できれば,Javaを実行可能なデバイスが増え,Java開発者が増え,Javaアプリケーションが増え,Java利用者が増えるという好循環が生まれるとの目論見だ。要は,Sunは原点に戻ってJava普及策を練り直し,従来「死角」だった部分を徹底的に補強することにしたのだ。

 開発者数1000万人とはまた大風呂敷を広げたものだが,その根拠はこうだ。まず,現状のJava開発者数は全世界で約300万人と推定されている。現状の開発者達は,Java APIを駆使してプログラムを開発できるスキルを持つ「エンタープライズ・デベロッパ」だ。だが実世界では,複雑なプログラミング能力よりも,業務システム構築の生産性を問われる立場の「コーポレート・デベロッパ」の人数が多い。具体的にはスクリプト言語やビジュアル開発ツールで仕事をしている開発者である。彼らを取り込めれば,Java人口を数倍に増やすことができる。目標の数字の大きさには驚くが,この論法自体は突飛なものではない(米BEA Systyems社がビジュアル開発ツールWebLogic Workshopを発表した時にも同様の数字と論法を用いている)。

デスクトップにJava実行環境を。DellとHPがPCへのJVM搭載で合意

 Sunが上記の(1)の具体策として打ち出したのは,デスクトップPCへのJVM(Java仮想マシン,Javaプログラムの実行環境)搭載を進めることである。

 この方策の背景には,次のような厄介な事情がある。Microsoftが提供するWindowsには標準でJVM(Microsoft VM for Java)が搭載されているが,これは1997年,つまりSunとMicrosoftの裁判が始まる以前のバージョンなのだ。理由は裁判開始と同時にバージョンが凍結されたためだ。現状のMicrosoft VM for Javaは時代遅れなだけでなく,Microsoft独自の機能拡張を施し(ActiveX対応),さらに一部仕様(java.rmi)が未実装という代物だ(これはSunがMicrosoftを訴えた,そもそもの原因である)。さらに,最近問題となっているMicrosoft VMのセキュリティ・バグのかなりの部分は,この時代の機能拡張が原因となっている。こうした状況では,PC向けにまともなJavaアプリケーションを作ろうという機運が生まれるはずがない。

 この問題への打開策として,Sunは,HP,Dell,Apple,Lindows.com,Red Hatと,デスクトップ機およびノートブック機に,Sun製の最新のJVMを搭載することで合意した。特に,HPとDellのデスクトップ/ノートブックPCに載ることで,新規出荷のPCのJVM標準搭載のシェアは相当な数字となる。特にHPは,この第3四半期の早い時期から自社PCにJVMを標準搭載すると発表している。

 デスクトップJavaは長らく陽の目を浴びなかった分野だ。1997年から1998年ごろにかけて,Lotus,Corel,ジャストシステムが,デスクトップ上のJava版オフィス・ソフトの開発を試みたが,いずれも挫折している。だが,最新のPCの処理能力は向上し,最新のJVMは性能が上がり,インターネット接続のスピードも飛躍的に上がっている。数年前とは違う結果が出てくるかもしれない。

簡易型開発ツールProject RAVE。ビジュアル開発で敷居を下げる

 具体策の(2)に相当するメッセージは「Ease of Development(開発を簡単に)」である。その内容は複数の項目に分かれるが,それらの象徴となるのが開発ツールProject RAVE(コード名)である。これは,近い将来にSunから製品として登場する見込み。同社の開発ツールSun ONE Studioとは別の製品ラインになる。

 Project RAVEの実体は,Webアプリケーションのビジュアル開発ツールである。Web画面用のGUIコンポーネントを画面フォームに貼り込み,データベース処理についてはビジュアル・クエリー・エディタでSQLを自動生成し,ほとんどノンコーディングに近いやり方でアプリケーションを素早く生成する。GUIコンポーネントは,新たに登場したJava仕様JavaServer Facesに基づくもので,HTMLベースのGUIコンポーネントを,あたかもJavaBeans(主としてGUIに適用するJavaのコンポーネント技術)であるかのようにプログラミングできる技術である。

 この説明だと,「10年前から登場しているクライアント/サーバー時代のビジュアル開発ツールとどう違うのか」と思われるかもしれない。実はその見方は当たっている。クライアント/サーバー型のビジュアル開発ツールと似たやり方で,Java/J2EEによるWebアプリケーションを開発できる,と考えれば,Project RAVEの説明としては大筋で間違いではない。

 さらに重要なことは,Project RAVEで使っている技術は,みなJCP(Java Community Process)が定めた標準的なJava技術であることだ。標準技術であるということは,Sun以外のベンダーからもすぐに同様のツールが登場することを意味する。実際,JavaOneの講演では,OracleがJavaServer Facesのデモを見せている。他のベンダーも,遅かれ早かれ対応してくるだろう。

 つまり,JavaベースのWebアプリケーション開発は,時期が来ればビジュアル開発が当たり前となる。これらの製品出荷時期の発表はないものの,JavaServer FacesがもっかEA(Early Access)4と完成直前の段階であることから,あと半年から1年の間には製品が登場すると推測される。

 このほか,Webアプリケーション開発向けスクリプト言語との連携機能(JSR-223)を開発するとの発表もあった。JavaOne 1日目の講演では「スクリプト言語の中で特にPHPを重視する。JavaとPHPはベスト・フレンドだ」との発言も出ている。JSR-223の仕様策定には,PHPベンダーZend Technologiesも参加する。PHPを利用するような規模のWebアプリケーション開発でも,Javaの利用を促進していく。

Java言語の設計者Gosling氏もコミュニティ・サイトjava.netに参加

 最後に,具体策(3)のコミュニティ活性化の内容として,JavaOne 1日目に発表したjava.netに関する言及が2日目の講演でも相次いだ。

 java.netは,自分のオープンソース・プロジェクトを立ち上げたり,他のプロジェクトに参加できる機能を備えたコミュニティ・サイトである。java.netサイト上では,Java言語の最初の設計者として著名なJames Gosling氏が自身のWeb日記(Weblog)を公開している。草の根の開発者とGosling氏が意見を交換する様子を見ることもできる。こうした活動は,コミュニティ活性化のためには大きな影響があるだろう。

SunのJava戦略が抜本的に変わった

 以上,JavaOneでSunが打ち出したメッセージと戦略を,かいつまんで見てきた。もちろん,これらの戦略が成果を生むまでには地道な実行が必要となるため,今すぐ評価を下すのは無理だ。ただ,SunからJava技術の普及策に関してこれだけ一貫性があるメッセージが出てきたのは最初ではないか。Sunの複数の社員の話によれば,この新戦略には約1年間に現職についたソフトウエア・グループExecutive Vice PresidentのJonathan Schwartz氏の手腕が反映されているということだ。

(星暁雄=日経BP Javaプロジェクト)