JavaOne Tokyo 2012に行ってきた #JavaOneJP

4/4(水)、4/5(木)に六本木ヒルズで開催されたJavaOne Tokyo 2012に行ってきました。


今回は実に7年ぶりの開催という事で、待ちに待っていたJavaを愛する人たちが集結していて熱気あふれる2日間でした。とても楽しかったです。「Moving Java Forward」というタイトルの通りJavaSE6から5年ぶりにJavaSE7がリリースされてからやっとJavaが動き出したんだなと実感しました。また、スタッフの方々も朝9時から夜9時までとても大変だったと思います。ありがとうございました。


私が参加したセッションは以下です。

  • 4/4(水)
    • [JK1-01] Strategy Keynote
    • [JS1-02] Java EE Web Container in the Cloud -What's New in Servlet 3.1
    • [JS1-13] JavaFX and Web Integration
    • [JS1-21] Pragmatic Cloud and PaaS with Java EE 7 (and GlassFish)
    • [JS1-33] What's coming in Java Message Service 2.0
    • [JS1-42] JAX-RS 2.0: What's in JSR 339?
    • [JS1-51] HotRockit: What to Expect from Oracle's Converged JVM
  • 4/5(木)

4/4(水)

[JK1-01] Strategy Keynote

JavaSE、JavaFX、JavaME、JavaEEについての話。JavaSE8のロードマップやTwitterのOpenJDKの参画の話、JavaFXJDKに取り込まれる事、JavaMEのリリースがJavaSEと同期されること、JavaEEのクラウド対応などなどJavaアーキテクチャ全体の話が盛りだくさんでした。また、JavaSE6は2012年11月にパブリックEOLを迎えるので7に移行しましょうねと。現場はやっと6が浸透し始めたって感じなのですが^^;


JJUGの丸山さんからはJavaが停滞している間にモバイルデバイス等大きな変革があったのでJavaの今後へ期待と。確かに5年の間にスマートフォンタブレットPC等デバイスが大きく変化しましたからね。


NECの岸上さんの話はNECがJavaに関わってきた歴史の話。相当前からJavaに取り組まれていることに驚き。しかし終盤は既存のレガシーな話でだいぶ現実に引き戻されてしまいました。

[JS1-02] Java EE Web Container in the Cloud -What's New in Servlet 3.1

Servlet3.1の話。最近はJSFJAX-RSばかり追っていたので逆に新鮮な感じでした。xmlの設定周りが簡潔になった事とWebSocketへの対応なんかがうれしいところですね。CSRFXSSにも対応するみたいな話もあったんですがどんな感じで対応するんだろう。

[JS1-13] JavaFX and Web Integration

JavaFXの話。私はJavaFX触った事が無いのですが、JavaFXWebkitベースの組み込みブラウザが内蔵されているのでJavaからWebブラウザが操作できるよという話でした。ツイートがあるとtwitter4jでそのツイートを取得してそれに合わせてWebブラウザを操作するデモが面白かった。

[JS1-21] Pragmatic Cloud and PaaS with Java EE 7 (and GlassFish)

JavaEE7のクラウドとPaaS対応の話。今はDBやJMSのリソースをインフラ運用者が設定しているけど、アプリケーション開発者がサービスリファレンスXMLでリソース定義できるようになるらしい。アプリケーションを動作させるVMとかも設定できるようでGlassFishだけで本格的なPaaS環境が構築できそうな感じでした。かなり壮大な感じなのでJavaEE7のリリースが延びたりしないかが少し不安なところ。

[JS1-33] What's coming in Java Message Service 2.0

JMS2.0の話。JMSは久々の更新で送信側のソースがだいぶ簡潔に書けるようになるらしい。実は私はJMSあまり使った事無いのですが、見た感じかなりシンプルに書けるようになっていました。

[JS1-42] JAX-RS 2.0: What's in JSR 339?

JAX-RS2.0の話。この辺はちょっと前に調べたので結構知ってたんですがバリデーションとかフィルタとかは普通にほしいのかなと思いますね。リンクの使い方がいまいちわからないんですがクライアントAPIとセットな感じなのかな。

[JS1-51] HotRockit: What to Expect from Oracle's Converged JVM

HotRockitの話。ベースはHotSpotでそれにJRockitのコマンドやツールが移植される感じのようです。運用周りがかなり強化されるのでインフラの人はうれしいんじゃないかな。

4/5(木)

[JK2-01] Technology Keynote

Project Coin、Project Lambda、JavaFXJavaEE、JavaME、JavaCardのテクノロジー系の話。結構前日のセッションと重複している部分もあったみたいですが私のセッションとは重複していなかったのでざっくりと話が聞けて良かった。JavaCardはすごい使われているみたいなんですが日本でも使われているのかな。


富士通の藤井さんはシステム中心から人間中心にシステムが変わっていくという話。チェスを解く時の人間とシステムの解き方の違いの話とか結構面白い話が聞けました。

[JS2-01] The Java EE 6 Programming Model Explained

JavaEEの話。前日のセッションと重複するところが多かったですが冒頭の「スーツのプログラマは信用しないでください」という言葉がグサリときました。まぁ会場には私服で行きましたが。

[JS2-13] Java EE 6時代のJ2EEパターン再考

J2EEパターン見直しの話。実は私のお知り合いの方のセッションだったので内容は大方議論したことのある内容だったのですが、JavaEE6になってオレオレフレームワークで作っていた部分はかなり標準で網羅されているのでそれを使いましょうという結論。でも新しい機能が追加されたわけではないので新規だと良いのですが改修とかだとなかなかお客さんに移行してもらうのが難しいところが難儀なところです。

[JS2-21] How to Write Low Latency Java Applications

GCの話。アプリケーション開発はGCの挙動も意識した上で実装しないといけないよという内容。FinalizersはGCに与える影響が大きいので絶対使うべきでは無いとのことでした。私は使った事は無いのでどのくらいの影響があるのは実感した事は無いですが、原理を考えると当然ですね。G1GCになったらまたいろいろ変わるのかな。

[JS2-41] Java Persistence API on the Grid

JPAの話。かと思いきやCoherenceの話。JPAのキャッシュにもCoherenceが使えるんですね。Coherence恐るべし。

[JS2-51] The Future of JavaScript in the JDK

JVM上で動くJavaScriptの話。JavaSE7ではRhinoが使われているがJavaSE8ではNashornに置き換わる予定らしい。デモではNashorn上でnode.jpが動いてJavaのライブラリが呼べているっぽかった。JVM上でJavaScriptRubyをちょこちょこ動かしたりしたことがあるので結構面白かったです。でも、実は裏セッションでやっていたtwitterアーキテクチャの話がさらに面白そうで気になってしかたなかったけど。

さらにさらに

正式なセッション以外にも2日間ともランチセッションか開催されたり(どっちも参加)、展示場でデュークと写真が撮れたり(撮ってない)セッション後は打って変わって軽いノリのライトニングトークやパネルディスカッションがあったり(どっちも参加)朝から晩まで盛りだくさんのJavaライフが送れました。