特集
» 2012年10月12日 20時17分 UPDATE

HTML5やWebSockets対応が進むJavaの今後〜JavaOne 2012基調講演まとめレポート (1/2)

HTML5やWebSockets対応が進むJava EE 7、シェアを伸ばすJava 7、そしてJava 8とOpenJDK、JavaFXの最新情報をお伝えする

[山本裕介,フリーランスエンジニア]

 Java開発者の祭典、JavaOne Conference(以下、JavaOne)が今年も米国サンフランシスコで開催された。JavaOneはStrategy Keynote、Technical Keynote、Community Keynoteの3つの基調講演と数百に及ぶセッション、そして展示会からなり9月30日から10月4日まで開催された。ここ数年の恒例となっているが、Oracle Open World(以下、OOW)との同時開催で、Moscone Centerや主要なホテルの会場、さらに公園や道路を1週間に渡り貸し切り封鎖して行う大規模なイベントととなっている。

 JavaOneの1日目に当たる9月30日は「Strategy Keynote」「Technology Keynote」という基調講演が2つ行われたので、まとめて紹介しよう。

シェアを伸ばすJava 7、そしてJava 8とOpenJDK

 Strategy KeynoteはJavaの現在、そしてこれからのロードマップを示すもので基調講演の中でも最も重要な位置付けだ。例年サンフランシスコの展示会会場で最も規模の大きなMoscone Centerで行われてきたが、今年はOOWの基調講演と時間帯が重複しており、Nob Hill Masonic Centerで行われた。

javaone1.jpg 会場となったMasonic Center

 Strategy Keynoteでは、まずJavaを取り巻く環境が依然活況であることを説明。新しいユーザーグループはいまだに発足し続けているという。また、昨年無事リリースされたJava 7は今年3月から4月にかけてJava 6をしりぞけてトップシェアに上り詰めたという。これには、OpenJDKベースのMac OS X用のJava 7やLinux/ARM版Java 7のリリースによるところが大きいとのことだ。

javaone2.jpg シェアでJava 6を上回ったJava 7

Java 8とOpenJDK

 来年のリリースが予定されているJava 8関連の話題も多かった。Java 8で一番話題となっている「Lambda」以外にも「Parallel operations」(並列処理を容易にする仕組み)や、パーマネント領域の廃止などにも注目してほしいとのことだ。OS XやLinux/ARM、Raspberry Piなど、Windows、Solaris以外のOSへのJDKのリリースも進んでいる。

javaone3.jpg マルチプラットフォーム環境として着実に進化しているJava 7

NashornのOpenJDKへの提供

 Rhinoに置き換わるJVM用JavaScriptエンジンとして、これまでオラクル独自のプロジェクトとして進んできた「Nashorn」はOpenJDKへ寄贈されることが発表された。Java 8ではNashornがバンドルされる予定となっているので、当然の流れとも言えるだろう。

HTML5やWebSockets対応が進むJava EE 7

 Java EEについては、Strategy Keynoteでは目新しい発表はなかったが、すでにJava EE 7対応を表明しているベンダは14にも上ることが触れられた。正式リリースされれば、堅実に普及・移行が進むことが予想される。

 マルチテナンシー対応などクラウドに向けた仕様策定が進んでいることは去年のJavaOneで発表されたが、HTML5、WebSocketsやNoSQLのサポートなどもAPIの標準化というJavaらしいアプローチで対応していくことを表明した。実際今年はHTML5やWebSockets関連のセッションが目立つのでレポートしたい。

HTML5のAvatarプロジェクトをChrome+NetBeansでデバッグする「Project Easel」

 HTML5とJVMという組み合わせでマルチプラットフォームアプリケーションの構築を実現するProject Avatarは去年のJavaOneで盛大に歓迎された。

 JavaFXが失敗に終わったときの「プランB」と見る向きもあるが、幾分の進ちょくはあるようだ。今回発表されたのは「Project Easel」という取り組みで、UIにHTML5を使うAvatarプロジェクトの開発・デバッグをWebブラウザと連携させて効率的に行うものだ。

 具体的には、Project EaselはNetBeansのプラグインとChromeのエクステンションから成る。HTML5ベースのNetBeansプロジェクトをChromeで実行しつつもブレークポイント設定、ステップ実行などをNetBeansから行えるというものだ。

 Project AvatarではUIは、HTML5だがビジネスロジックはサーバサイド・クライアントサイドにJavaScriptで書くことになる。Project EaselによりUI開発とビジネスロジック開発の両方をNetBeansから行えるようになれば開発効率は飛躍的に向上するだろう。

javaone15.jpg NetBeansとChromeを連携してHTML5アプリケーション開発を行えるEasel。デスクトップ左側にNetBeansが、右側にChromeがある

WebSocketsやJSONへの対応が進むJava EE

 Java EEについてTechnology Keynoteでは、まず一昔前ではほとんどのサーバサイドアプリケーションはJavaで開発されていたが、今ではRuby、PHP、Perl、Python、Node.jsなど多彩な言語/フレームワークを適材適所で利用することになっているという現状が述べられた。

 また、かつては全盛だったWebServicesに置き換わり、RESTfulアプリケーション、JSONやWebSocketsといったさまざまな技術が多用されており以前に増してプログラミングは複雑になっていることを強調。Java EEからのアプローチとしては、最新技術に標準化で対応し、アノテーションを活用した平易なコードで複雑なことを行えるプログラミングモデルを提唱していくとのことだ。

 具体的には、Java API for RESTful Web Services 2.0、Java API for JSON Processing、Java API for WebSockets 1.0、Bean Validation 1.1、Batch Applications for the Java Platform 1.0といった強力な技術をコミュニティとともに着実に育てているとのことだ。

javaone16.jpg Java API for JSON processingのコード例
javaone17.jpg Java API for WebSockets 1.0のコード例
javaone18.jpg Bean Validation 1.1のコード例
javaone19.jpg Batch Applications for the Java Platform 1.0のコード例

Nike+のデータ管理はJava EE

 ユーザー事例として関心を引き付けたのがNikeだ。

 アスリートに人気のNike+シリーズはiPodやiPhoneと連携するNike+を初めとして去年末に発表したNike+ Fuelband、Nike+ Basketball、そして近々発売されるNike+Kinect Trainingなど多々あり、どれもユーザーのトレーニングのアクティビティをサーバサイドで管理している。Nike+シリーズではすべてサーバサイドでユーザーのアクティビティ追跡にJava EEを活用していると語った。

javaone20.jpg Nike+プラットフォームの紹介。手にはNike+ Fuelbandが
       1|2 次のページへ

Copyright© 2017 ITmedia, Inc. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

この記事に関連するホワイトペーパー

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。