2005年06月15日

Java (J2SE 6.0) Mustang(マスタング)の概要を先取り

はじめに

2005年6月現在、誕生から10年を迎え、J2SE 5.0となり言語仕様やAPIが進化している。今後基幹システムの開発にも使われますます成長するであろう。Java言語はJava Community Pressという団体が標準仕様を公平に決めている。そのため今後どのように進化していくかもこのサイトから伺うことが出来る。この記事では、次期Java2 Standerd Edition(J2SE)のバージョンの6.0であるMustang(開発コードネーム:マスタング)の全体像を記述する。具体的には以下を説明する。(ちなみにJ2SE 7の開発コードはDolphin)

 

Java言語とツール用API

J2SE 5.0 (1.5)の時のような言語拡張はほとんどない。

JSR199 Java Compiler APIの導入

アプリケーションからソースコードをコンパイルするためのAPIが作られる

JSR269 The Pluggable Annotation Processing API

apt(Annotation Processing Tool)というアノテーション用ツールとそのAPIが作られる

JSR202 Java Class File Specification Update

クラス・ファイルの構造が更新される。一般の開発者は特に意識する必要はないでしょう。

JSR223 Scripting for the Java Platform

PHPなど他の言語とJavaプラットフォームの連携を容易にする仕様。J2SE6.0がリリースされる時は、JavascriptをベースにしたMozilla Rhinoスクリプト言語がJ2SE6.0に付いてくる。

 

標準ライブラリ

標準ライブラリは特に大きな修正は行われない。大きな修正とはパッケージの追加などの事で細かなメソッドの追加などはある。

 

セキュリティ

JSR105 XML Digital Signatures

XMLでの証明書を使うためのサービスや鍵APIなど

JSR268 Smart Card I/O API

ISO/IEC 7816-4規格のスマートカードへの読み書き用API

 

ネットワーク

J2SE5.0で加えられたjava.net.CookieHandlerの標準のCookieManagerが実装される

International Domain Nameのサポート

ブロードキャスト・アドレス、ネットマスクやネットワーク設定がプログラミングできるようになる。

 

エンタープライズ・クライアントとXML

これらは開発段階で、マスタングに実装されるかまだ確定していない。

Webサービス機能の追加

JSR224 JAX-WS2.0

XML-Webサービスのサポート

JSR222 JAXB 2.0

XMLとJavaBeanのマッピング機能

JSR173 Streaming API for XML

JSR221 Java DataBase Connectivity(JDBC)4.0

SQL2003仕様のサポート

JMX(Java Management Extensions)

JMXのAPI拡張

 

サービス性(Serviceability)

これは、J2SE6.0に付属されるツール。J2SE5.0に付属されているjstack, jconsoleの修正。SolarisのDTraceサポートなど。またJVM Tool Interfaceなども修正される。

 

最後に

基本的には、APIが膨大に増える。これはプログラム言語として当然なので標準APIとして提供されればそれを活用する事が予想される。XMLとJavaBeanのマッピング(JSR222 JAXB 2.0)などは現在のWebアプリケーション開発では非常に使われるであろう。Rhinoスクリプト言語はJavascriptベースのため実装できるユーザが多いため流行に乗れば面白い言語でもある。

 

参考資料

Core Java Technology Features in Mastang