【レポート】

JavaOne 2006 - TigerからMustang、Dolphinへ Javaプラットフォームの発展

杉山貴章  [2006/05/18]

Sun Microsystemsは16日から19日まで(現地時間)の4日間、San Francisco, Californiaのthe Moscone Centerにおいて2006 JavaOne Conferenceを開催している。San Franciscoで行われるJavaOne Conferenceは世界最大のJavaの祭典であり、1996年に第1回が開催されて以来毎年恒例のイベントとなっている。ここでは、初日に行われたセッションの中から特にJava SEの今後、すなわちMustang(Java SE 6)やDolphin(Java SE 7)に関する話題にフォーカスしてレポートする。

JavaのコアプラットフォームであるJava SEは、Tiger(J2SE 5.0)の登場によってJavaアプリケーション開発の現場に大きな変革をもたらした。TigerではGenericsやEnum構文などの追加により大幅に言語仕様が拡張され、またアノテーションなどのサポートによってJavaテクノロジーのEoD化を促進した。新機能の追加だけでなく、パフォーマンスや安定性についてもリリースごとに着実に向上している。図.1はテクニカルセッション中で示された各バージョンのJava SE(J2SE)のベンチマーク結果である。

図.1

Tigerに対する開発者からの評価は、そのダウンロード数にも如実に表われているという。図.2は同じくテクニカルセッション中に提示されたJ2SEのダウンロード数の遷移だが、2005年から2006年にかけてTigerのダウンロード数は着実に増え続けているのがわかる。セッションスピーカーを務めたMark Reinhold, Java SE Chief Engineerによれば、現時点でTigerのダウンロード数は262,295,496を越え、新しいPCの60%以上にインストールされているという。また、稼働率99.999%以上の安定性を持つことも示された。

図.2

そのTigerからさらに大幅に機能が拡張され、パフォーマンス、安定性ともに向上させることを目指しているのがMustang(Java SE 6)である。Mustangの特徴については過去にも何度か取り上げているため詳細は省略するが、Mark Reinhold氏は特に注目すべき新機能として特に次のようなものを挙げている。

  • JAX-WS 2.0によるRESTスタイルのサポート
  • コンソール入力時のパスワードの隠蔽
  • ディスクの空き容量が取得できる
  • クラスパスのワイルドカード指定
  • アノテーションプロセッサの拡張
  • JConsoleの拡張, jhatの付属, DTraceサポートなど、管理ツールの充実

そして、開発者がMustangをマスターする方法として、

  • 複数のプラットフォームでテストすること
  • コミュニティに参加すること

の2点を挙げた。特に、Mustang開発のコミュニティでは過去にRegressions ChallengeやCrack-the-Verifier Contestなどの新しい試みも行われており、Java SEの開発に参加しやすい環境が整ってきている。

図.3と図.4はTigerとMustangそれぞれについて、正式リリースまでに投稿されたバグレポートの数を表しグラフである。現在までの段階で、MustangではTigerのときに比べてかなり多くのバグが報告されているのがわかる。これはMustangの完成度が低いのではなく、開発体制をオープンにしたことで多くの人がテストできる環境が整っているからだと同氏は説明する。

図.3

図.4

なお、Mustangのリリーススケジュールは次のように発表された。現在はBeta1リリース以降に毎週スナップショットが公開されている段階で、それを元にして来月Beta2がリリースされる予定だという。

  • 2006年2月16日 Beta1
  • 2006年6月 Beta2
  • 2006年9月 Release Candidate
  • 2006年10月 Final Release(FCS)

Mustangの次のバージョンのJava SEはDolphin(Java SE 7)である。DolphinではJavaプラットフォームがエコシステムへと発展する方向での拡張を目指すという。具体的にどのような拡張が行われるのかは現在議論が重ねられている最中だが、現時点では次のような新機能の追加が発表されている。

  • プロパティのサポート
  • メソッドリファレンスのレポート
  • クロージャのサポート
  • 言語レベルでのXMLのサポート
  • JVM上で動作する動的言語のサポート
  • スクリプト言語サポートの拡張
  • モジュール化のサポート
  • Swingアプリケーション開発のためのツールの充実

特に目玉となるのが動的言語のサポートだろう。これは、JVMの仕様を拡張してJVM上で動作する動的言語を実装できるようにするというものであり、具体的には、JVMに新しいインストラクション「invokedynamic」を追加するなどして動的な型の実現を容易にする。この拡張についてはJSR 292: Supporting Dynamically Typed Languages on the Java Platformとして仕様が提案されている。また、JSR 292では実行時にクラスファイルの構造を変更するホットスワップ機能についても規定される見通しとなっている。

言語レベルでのXMLのサポートも注目すべき点である。これはJavaプログラム中でXMLのタグを直接記述できるようにしようというものである。この日行われたGeneral Sessionでは、Dolphinでサポートされるコードの例としてリスト.5のようなコードが示された。

リスト.5

String mark = "Mark Rinhold";
XML speaker = <who> { mark { </who>;

XML talk = <session> {speaker}
            <title> { "XML in Java" } </title>
        <when> { "Wednesday 1:30 pm" } </when>
       </session>;

モジュール化のサポートというのは、具体的にはパッケージをまとめて扱うための"Super Pakacge"や、パッケージに対するインタフェースであるpackage interfaceなどの導入が挙げられる。General SessionではSuper Packageの文法の例としてリスト.6のようなコードが示された。

リスト.6

super package com.sun.myModule {
    // super-package exports:
    export com.sun.guild.myapi.*;
    export com.sun.guild.util.Helper;

    // super-package members:
    com.sun.guild.myapi;
    com.sun.guild.util;
    com.sun.guild.impl;
}

また、モジュール化ではその他にもJSR 277として仕様が提案されている「Java Module System」の導入なども検討されているという。

そのほか、プロパティ機能のサポートとしてはJSR 295で仕様が提案されている「Beans Binding」が、デスクトップ関連機能の強化としてはJSR 296で仕様が提案されている「Swing Application Framework」などのAPIが追加される予定である。

前述したもの以外にも、ファイルシステムAPIや非同期I/OなどをサポートしたNew I/O 2(JSR 203: More New I/O APIs for the Java Platform ("NIO.2") )や、Webサービス経由でJMXによるマネージメントを実現するWeb Services Connector for Java Management Extensions (JMX) Agents などの導入も提案されているが、これらはまだ検討中の段階であるという。

Dolphinはのリリースは2008年半ばの予定となっているが、早くもその概要が見え始めてきている。DolphinもMustangと同じくオープンな環境での開発が予定されているため、近いうちにhttp://dolphin.dev.java.com/で開発プロジェクトが公開されるはずである。Mustangのリリースも待ち遠しい限りだが、Javaの発展のためにはさらにその先まで見据えていくことが大切だろう。

    関連記事

    関連サイト

    新着記事

    特設サイトの情報

    求人情報

    人気記事

    一覧

    イチオシ記事

    新着記事

    特別企画

    一覧

    転職ノウハウ

    あなたの仕事適性診断

    4つの診断で、自分の適性を見つめなおそう!

    Heroes File ~挑戦者たち~

    働くこと・挑戦し続けることへの思いを綴ったインタビュー

    はじめての転職診断

    あなたにピッタリのアドバイスを読むことができます。

    転職Q&A

    転職に必要な情報が収集できます

    スカウト転職する

    企業からアプローチのメッセージが届きます。