「Javaはオラクルのもの?」、「いいえ、これからもJavaコミュニティのものです!」――Javaエバンジェリスト 寺田佳央氏が、Javaの現在、未来を語る

「オラクルがサン・マイクロシステムズを買収したことで、Javaも"オラクルのもの"になった」――そんな風にとらえている方はいらっしゃら ないでしょうか? ズバリ、それは間違いです。「Javaはこれまでも、そしてこれからも"Javaコミュニティのもの"。私たちはJavaの管理人として、今後もJava コミュニティのために、皆さんが望む方向にJavaを発展させるお手伝いをしていきます」――日本オラクルでJavaエバンジェリストを務める寺田佳央氏 はそう断言します。Javaの現在、そして今後の発展の方向性について寺田氏が語ります(編集部)。

■Javaはオラクルにとっても最重要のソフトウェア資産

 1995年に誕生したオブジェクト指向言語のJavaは、今や世界で最もポピュラーなプログラミング言語の1つになりました。その利用範囲は 幅広く、サーバ側で実行するミドルウェアやアプリケーション、クライアントPC上で使うデスクトップ・アプリケーションの開発に利用されているほか、携帯 電話やBlu-rayプレーヤーをはじめとする家電製品、さらには各種の組み込み機器など、さまざまなデバイスのアプリケーション開発で使われています。 開発者の間での人気も非常に高く、オランダのチオベ・ソフトウェアが実施しているプログラミング言語の人気ランキング「TIOBE Programming Community Index」では、毎回のようにトップにランキングされています。

TECH_0707_01.png
寺田佳央氏
「Javaはこれまでも、そしてこれからもJavaコミュニティのもの」と語る、日本オラクルのJavaエバンジェリスト、寺田佳央氏(Fusion Middleware事業統括推進部 ビジネス推進本部)
 このJavaを開発したのはサン・マイクロシステムズですが、ご存じのように同社は2010年、オラクルによって買収されました。このことか ら、Javaの行く末に不安を抱いている方がいらっしゃるかもしれません。しかし、ご安心ください。オラクルにとっても、Javaは最重要テクノロジーの 1つです。事実、米国オラクル CEOのラリー・エリソン氏は、「Javaは私たちが今までに取得した中で最も重要なソフトウェア資産」だと明言しています。私たちは、ここまで広く世に 浸透したJavaという最重要テクノロジーを、Javaを指示してくださる皆さんとともに、大切に、より大きく育てていきたいと考えています。

■Javaの仕様を決めるのはオープンなJavaコミュニティ

 Javaの特徴の1つに「オープン」であることが挙げられます。オラクルは、これからもサン時代と同様、Javaの標準化プロセスである 「JCP(Java Community Process)」を通じて仕様の策定を進めていきます。このJCPには、オラクルだけでなく、世界中のさまざまなITベンダーや標準化団体、ユーザー企 業、さらにはJava関連コミュニティが参加し、オープンな場で議論を重ねながらJavaを発展させていくという取り組みを進めています。
JCPのメンバー一覧はコチラ。世界中のさまざまな企業/団体が参加し、ともにJavaを育てています
 つい最近も、このJCPのExecutive Committee(JCPの運営方法などを決める評議会)の委員を選出する選挙が実施されましたが、投票の結果、「SOUJava」というブラジルの Javaコミュニティが選出されました。このように、Javaは現在も、特定のベンダーが支配することのない、オープンなコミュニティで開発が進められて いるのです。

 それでは、Javaに対するオラクルの立場とは、どのようなものなのでしょうか? オラクルは、JCPのPMO(Program Management Office)であり、いわばJavaとJCPの管理人的な存在です。例えば、JCPで何かを決める際には、だれかがそのプロセスをモデレートしなけれ ば、プロセスがスムーズに進みません。オラクルはJavaの管理人として、そうしたプロセスが円滑に進むようお手伝いしているのです。

 Javaに関する情報提供も重要な役目の1つです。日本オラクルでも、技術情報サイト「OTN(Oracle Technology Network)」を通して、Javaに関するさまざまな情報を発信していくべく準備を進めています。オンラインで開催しているOracle Direct SeminarでもJava関連のセミナーを実施しているほか、今後はリアルな場でのイベントも積極的に開催していく予定です。
Oracle Technology NetworkのJava関連情報はコチラ
過去に実施したJava関連セミナーのアーカイブ(資料と動画)はコチラ
Oracle Direct Seminarの情報はコチラ
 データベースと同様に、トレーニングや認定資格に関しても力を入れていきます。これまで、Java EE(Enterprise Edition)関連の試験などでは、一部に英語でしか受験できないものがありましたが、今後はそれらを随時、日本語化していく予定です。ご期待くださ い。
オラクルが運営するJava認定資格の情報はコチラ。ORACLE MASTERと同様、世界標準の認定資格です
■いよいよ7月に登場するJava SE 7のポイントは?

 当然ながら、Javaはこれからも進化し続けます。まず直近では、7月にJava SE(Standard Edition)の最新版である「Java SE 7」がリリースされる予定です。

 Java SE 7では、Javaの機能や言語仕様に対してさまざまな改良が行われています。大きなところでは、Rubyなどの動的型言語のサポートが挙げられ、これを実 現するために、Javaの実行環境であるJava仮想マシンに「invokedynamic」命令が実装されました。これにより、今後はJava仮想マシ ンの上で、Rubyなど他のプログラミング言語で開発したプログラムを動かすことが可能になります。Javaはさまざまな言語のプラットフォームへと生ま れ変わるのです。

 また、「プロジェクトCoin」と呼ばれる言語仕様の改善も行われています。具体的には、switch構文内で文字列(String。真偽値 を表す文字列などを想定)を使えるようになったほか、バイナリ数値表現など数値表現形式の追加、例外ハンドリングの改良などが行われています。

TECH_0707_02.png
 個人的にプロジェクトCoinの改良点でいちばん便利だと思っているのが、try-with-resourceというリソースを含むtry構 文です。Java SE 7では、try節でインタフェースAutoCloseableの実装クラスを指定すると、リソースに対して自動的にメソッドcloseが実行されるため、 finaly節にclose処理を書く必要がなくなるのです。

 こうしたさまざまな改良が加えられたJava SE 7は、7月28日に公開される予定です。これに先立ち、この記事が公開される7月7日に、日本を含む世界各地でラウンチ・イベントが開催されます。

■いよいよ本格的な普及期を迎えるJava EE 6

 サーバ側アプリケーション向けのJava仕様であるJava EEも進化しています。現在の最新版は「Java EE 6」で、2009年12月にリリースされました。

 ただし、Java EE 6で開発したアプリケーションの実行環境となるJava EE 6対応アプリケーション・サーバには、これまでクラスタ環境をサポートするものが存在しませんでした。そのため、「本番環境でJava EE 6を使うのはまだ早い」と思っていた方もいらっしゃったと思いますが、今年2月、いよいよクラスタ対応の実装が登場しました。Java EEの参照実装(最新仕様の実装見本)であるGlassFishの最新版「GlassFish 3.1」です。このGlassFish 3.1の登場により、いよいよ本番環境でもJava EE 6を本格的に使える時代に入ったと言えます。なお、GlassFish 3.1はクラスタリング機能のほか、SSHを介して他のマシンに自分自身を自動的に配備する自己増殖機能を備えています。こうした先進的な機能をいち早く 取り入れている点がGlassFishの魅力です。無償で利用することができるので、ぜひ試してみてください。
GlassFishのダウンロードはコチラから
 Java EE 6では、開発生産性の向上をテーマに、大幅な改良が図られています。従来のJava EEは、「重たい」、「作りづらい」、「扱いづらい」、「機能が多すぎる」といった批判を受けることがありました。確かに、Java EE 1.3やJava EE 1.4にはそうした側面が見られましたが、実はJava EE 5で大きく方向転換し、簡単に開発できるようにすることが最重要視されるようになりました。Java EE 6は、その方向性をさらに推し進め、多くの開発者にとって使いやすいアプリケーション・フレームワークに仕上がっています。

 Java EE 6の大きな特徴は「拡張性の高さ」と、「プロファイル」と呼ばれる概念の導入です。特に後者は重要で、Java EEを構成する個別の仕様を、用途に応じて取捨選択して使えるようになりました。これは、開発するアプリケーションに不要な仕様を使わないことで開発を簡 素化し、メモリ使用量を抑え、起動時間を短縮化するのに大きなメリットをもたらします。デフォルトでは、フルスペックの「Enterprise Platform」と、Webアプリケーションの開発に特化した「Webプロファイル」が用意されています。

TECH_0707_03.png
 また、来年は次期バージョンである「Java EE 7」のリリースが控えています。Java EE 7のメインテーマは「クラウド対応」であり、企業が抱える各種アプリケーションをクラウド上で容易に実行するための機能が加わる予定です。HTML5や WebSocketのサポートも計画されています。

 このように、Javaの進化はまだまだ続きます。そしてオラクルは、これまでと同様、オープンな技術としてJavaを積極的にサポートしていきます。ぜひ、これからのJavaにご期待ください。