Java EE 7はクラウドのスタンダードになるか
Java EEの次期バージョンとなるJava EE 7では、「クラウド」に第1のフォーカスが当てられている。オラクル Development Vice PresidentのCameron Purdy氏は、「現在のPaaSはシングルベンダに限定されており、複数のベンダにまたがるスタンダードが存在しません。Java EE 7が目指すのは、そのスタンダードになることです」と指摘する。同氏は、Java EE 7がクラウドに適合する理由として、次のような要素を挙げている。
- 柔軟なプロビジョニング
- システム規模に応じてマルチノードで展開できる伸縮性
- マルチテナントへの対応
- さまざまなツールやフレームワークとの連携
Java EE 7ではElastic Clusterへの対応に力を注いでおり、ノードやインスタンスの数を状況に応じてダイナミックに変更できるという。これはPaaSを構築するうえでは不可欠な要件だ。さらに、マルチテナントへの対応も進められており、1つのJava EEプラットフォーム上で複数のユーザーのインスタンスを独立して走らせることが容易に可能になる。
クラウド環境で利用するためのさまざまなAPIも追加/拡張予定だという。例えば、Restful Webサービス向けのAPIであるJAX-RSやメッセージングをサポートするJMSの拡張、JSON APIやCaching APIの追加などが挙げられる。既存APIには、マルチテナント環境に対応するための変更も行われるとのことだ。
下図は、Java EE 7に含まれる主なAPIの一覧で青字が新たに追加されるものだ。Web Profileには、JAX-RS 2.0が新たに追加予定だという。
その他、不要な機能を除外できるようにするという点もJava EE 7の新しい特徴として挙げられた。これは、あまり使われていない機能を必須ではなくオプションに変更することで、実装するベンダに「その機能を削除する」という選択肢を与えるもの。もちろんベンダは、互換性のためにその機能を残すという選択もできる。対象となるAPIとしては「JAX-RPC」「EJB CMP/BMP」などが挙げられている。
Java EE 7の参照実装はGlassFish Server 4で、リリースは2013年の予定となっている。
HTML5にも対応する「Project Avatar」とは
最後に、初日のストラテジーキーノートで紹介された興味深いプロジェクトについて触れておこう。プロジェクト名は「Project Avatar」。Webアプリケーションにおいて、クライアントサイドでのリッチなUIの実現を目的としたものだという。Cameron Purdy氏は次のように語っている。
「これまでは、リッチアプリケーションはサーバ側で実行されてきました。しかしこれからはクライアントの時代です。サーバ側ではクラウドのパワーを活用し、UIはクライアントサイドで動的に構築されるようになります。しかし、従来のプログラミングモデルは、この形のアプリケーションに対応していません。クライアントサイドでのUI開発に対応した、新しいプログラミングモデルが必要です。それを提供するのがProject Avatarです」
Project Avatarでは、クライアント技術としてJavaのほかにHTML5もサポートする。今後、WebブラウザやモバイルデバイスのUIに関してはHTML5が極めて重要な役割を果たすことになる。そこで、JavaとHTML5のハイブリッドによってクライアントのパワーを最大限に引き出そうという戦略だ。サーバ側の技術としてはWebSocketやJSON、RESTといったトレンドに追従していく。WebとPCやモバイルデバイスとのスマートな連携を実現するために、各種技術のインテグレーションに挑戦していくとのことである。
開発者/コミュニティがJavaを前進させる
2010年にオラクルがJavaの開発元であったサン・マイクロソシテムズを買収したことで、一部ではJavaの先行きを危ぶむ声もあったが、その後2011年7月にはJava SE 7がリリースされるなど、現在もJavaは進化している。7年ぶりの日本でのJavaOneは、そのことを象徴するイベントとなった。
今回JavaOne Tokyoに参加して筆者が強く感じたのは、依然としてJavaコミュニティは活発であり、開発者のモチベーションが極めて高いということだった。さすがに規模こそ違うものの、会場の熱気は、本場サンフランシスコのJavaOneに近づいたのではないだろうか。今回のJavaOneのテーマは『MOVING JAVA FORWARD』。Javaは前に進む。その後押しをするのはJava開発者にほかならない。
関連リンク
ラムダ式、JAR脱獄、JavaScript/Node.jsへの接近
JavaOne Tokyo 2012まとめレポート(後編) JDK 8の新機能のうち、Lambda、Jigsaw、Nashornについて解説した講演を詳細にレポートする。そしてJava SE 9はどうなる?
「Java Solution」フォーラム 2012/4/19
JavaはクラウドやHTML5、iOS/Androidも取り込む?
JavaOne 2011まとめレポート Java SE 8/9、マルチクラウドに進むJava EE 7、JavaFXと融合しAndroid/iOS対応を目指すJava ME、HTML5を取り込むProject Avatarなど
「Java Solution」フォーラム 2011/10/14
オラクル買収後のJava 7と8、JavaFXはどうなるのか
JJUG Cross Community Conference 2011 Spring レポート Java SE/EEの今後やJRockitとHotSpotの統合など最新情報をお伝えする。そして今後のJavaOneは?
「Java Solution」フォーラム 2011/5/30
沖縄の技術者がアツい!ハッカソン&代表者に聞いた
Made in Javan!地方コミュニティ探訪記(1) 「Java Kueche」ハッカソンでHeroku、Rails 3.1、jQuery Mobile、Facebook、Hadoop、Play!、GitHubそして地獄のミサワが!?
「Java Solution」フォーラム 2011/12/14
あなたの知らないJDKの便利ツールたち
安藤幸央のランダウン(43) 最近のJDKに含まれている開発やデバッグに便利なツールを、プロファイリングや情報取得、監視、配備、スクリプティングの5種類に分けて紹介
「Java Solution」フォーラム 2008/11/13
開発者が知っておくべきJavaと仮想マシンの歴史
安藤幸央のランダウン(42) JavaとVMが生まれた背景や名前の由来、さまざまなJDK、マイクロソフトやAndroid、iPhoneとの関係、Java VMで動くスクリプト言語など
「Java Solution」フォーラム 2008/9/4
「Javaは遅い」から「Javaは楽しい」に至る歴史
小山博史のJavaを楽しむ(12) 最新のJava実行環境は起動が速いドラッガブルアプレットなど楽しい機能が満載です。ここまで至るには、いろいろな出来事がありました……
「Java Solution」フォーラム 2008/12/15
これからプログラミングを学習したい方、Javaは難しそうでとっつきづらいという方のためのJavaプログラミング超入門連載です。最新のEclipse 3.4とJava 6を使い大幅に情報量を増やした、連載「Eclipseではじめるプログラミング」の改訂版となります
「Java Solution」フォーラム
Copyright © ITmedia, Inc. All Rights Reserved.