JavaOne Tokyo 2012 に参加してきました #てらだよしおがんばった #JavaOneJP

ということで、7年ぶりのJavaの祭典、JavaOne Tokyo 2012に参加してきました。
前回のJavaOne Tokyoには参加していないかつ、アメリカなんて高くて参加できねーよということで今回が初参加となります。

総じると、何も言うこともないほどに楽しかったです。
なんだかんだでみんなJavaが好きなんだなぁという感じ。
一つ残念なことを言えば、事前にあれだけスーツ着てくるとコスプレですと流れていたのにそれでもなおスーツ来てきた人がいたこと。
次回はスーツ参加率0を目指したい。

ああ、そういえば、JavaOneとは直接関係ないですが、非常に大きな事件が。
前日に大風が吹きました。風速25mオーバーらしい。おかげで遠方から参加しようとしていた方々の大半が影響を受けたらしく、JavaOneの初日の参加が遅れた方々もいらっしゃったもよう。。。。
自分はJavaOne前夜祭と称する集いに参加しようとしていたのが中止になりました。
本当にお疲れ様でした。


さて、自分は以下のセッションに参加してきました。

  • 4月4日(水)
    • [JK1-01] Strategy Keynote
    • [JS1-02] Java EE Web Container in the Cloud -What's New int 3.1
    • ランチセッション
    • [JS1-21] Pragmatic Cloud and PaaS with Java EE 7 (and GlassFish)
    • [JS1-31] Project Lambda: To Multicore and Beyond
    • [JS1-42] JAX-RS 2.0: What's in JSR 339?
    • [BoF1-04] トラブルシューターの頭の中身 〜7年間のJavaトラブルシュートサービスから
  • 4月5日(木)
    • [JK2-01] Technology Keynote
    • [JS2-01] The Java EE 6 Programming Model Explained
    • ランチセッション
    • [JS2-13] Java EE 6時代のJ2EEパターン再考
    • [JS2-21] How to Write Low Latency Java Applications
    • [JS2-33] JSR 353: Java API for JSON Processing
    • [JS2-41] Java Persistence API on the Grid
    • [BoF2-02] コンテナでテストをまわせ!Java EEへの自動テストの導入
    • [BoF2-04] The New JSR-107 Caching Standard

見ての通り、JavaEE系を中心に取りました。が、割と本家JavaOneの内容とかぶっていたらしく目新しい情報は殆どありませんでした。
あまり知らないJavaFXの方を中心にとっておけばよかったかな。

さて、各セッションの感想。ランチセッションは別途。

[JK1-01] Strategy Keynote

○山先生が最近play frameworkを推しているとの情報が事前にあったのですが、会場でまさかのJavaEE7推しっ!!!
思わず、Java EE is dead....と呟いてしまいましたが、もちろんただのネタです。(気を悪くされたらごめんなさい)
途中、前回のJavaOneで○山先生が推した技術がtwitter上で流れていましたが、ああ・・・・・・という感想。

OracleUSの方々の説明は本家JavaOneの内容の焼きまわしだったので特に感想なし。
ああ、知ってる知ってるみたいな。
二日目にも言えることですが、せめて資料ぐらいは全部最新化しても良かったんじゃないかなー?

NECの方のセッションは・・・・・・
とりあえず自分が言えることとしては、JavaSE6とJavaEE6を混同しないで欲しいかなぁと。
JavaSE6にこれから移行しますという内容でしたが、JavaSE6はもうすぐEoL(オワコン)ですよ。
JavaEE6(現時点での最新仕様)とJavaSE6(オワコン)を混同して説明していたことに全く気が付かずに説明してくれていたり、全般的に残念な。
他の人たちも興味が薄かったらしく、Twitterのタイムライン上は非常にアレな状況でした。

まあ、これが日本のSIerの現実です(白目)
こんなのがトップをはれるような会社だから現場は死ぬんだろうなぁ。。。。

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

サーブレットの話。WebSocket対応しま(す|した)よというのが大きい。
サーブレットはもうずっといじってないので、へーといった内容。
インターフェースが分割されたりとか、実際に使うときはAPIの場所が迷いそうだなぁ。

日本時間の次の日には丁度Tomcat 7.0.27がWebSocketに対応したという情報がながれるあたり丁度併せてきたのか?と思えるようなグッドタイミングでした。

http://tomcat.apache.org/

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

Java7のPaaS対応のお話。とデモ。実際に障害が起きた時も全体としては普通に動いてますよみたいなデモもありました。
出来るのは良いけれども、ここまできちんと設定が出来る人はどれくらい居るのだろうなぁ。
死蔵の機能になりませんように・・・・・(間に他の製品が入るとか)

[JS1-31] Project Lambda: To Multicore and Beyond

はい。他の言語では普通にあるLambdaがついにJavaにも入るというお話でした。
これで色々簡単に書けるようになるねー。
Lambdaの仕様はまだ緩い箇所があるので、そういうのがあるんだぐらい知っていればよいかと。

Lambdaに関しては、 [twitter:@skrb]さんのProject Lambdaが詳しいのでそちらを。Project Lambdaはクロージャーですとかクロージャーじゃありませんとか両方言う人が居らっしゃいますが、各自判断で。

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

JAX-RSの拡張のお話。
独自のFilterを持てるようになりますよというお話?
Servletと一緒に使うため独自のFilterを持つ必要はあまりないと思うけど・・・・・
Clientは最近流行の流れるようなインターフェースで。

[BoF1-04] トラブルシューターの頭の中身 〜7年間のJavaトラブルシュートサービスから

漫才その1。
とかいいつつも、内容はすばらしく、トラブルシューティングの礎としては非常に役立つものでした。
勘に頼るのではなくきちんと測定しましょうという。
できれば同業他社である[twitter:@yamadamn]さんのマサカリ投げが見たかった。
ちなみにCosminexusJVMですらトラブルシュートが出来るよう。
(GCに頼らず、手動でメモリ管理が出来たりとJava的にはアレなVMなのですが)
マイナーJVMでトラブルに困っている方はご相談してみては?

[JK2-01] Technology Keynote

1日目と感想がかぶるので省略w
資料の最新化はお願いします。。。

富士通の方のセッションは、実は途中で退出していて聞いてないのですが、前日のNECの方の内容を見て書きなおしたのか?
きちんと見れる内容だったとか。
見ておけばよかったかな。

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

フツーの内容。JavaEE6を触ったことがあれば特に不要かな。割とどうでも良かった。

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

すまん。自分には無理だったw
内容として、古いEJB2.0の頃のデザインパターンを今ならこうなりますという内容なのだけれども、明らかに辛い。
昔流行ったLightweightなJavaしかやったことがない人にはへー、ふーん、ほーといった内容だし。明らかに30オーバーのおっさん向け。
ついでに資料の用語も特殊な用語が多かったり、あまり人に伝えることを考えてないよねー。。。。
DOMとか言われてもXMLしか出てこない人が多いと思いますよ?

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

どうすればJavaアプリケーションが早くなるのかというお話。
要約するとJITががんばってくれる。長時間オブジェクト(キャッシュ)はGCの影響で性能に悪影響が出る場合があるから注意しろと言った内容。
他は難しすぎて理解出来ないところがいくつかw
理解できなくてもJITがよろしくやってくれるから大丈夫だ。

[JS2-33] JSR 353: Java API for JSON Processing

日曜日のPlay framework2.0ソースコードリーディングの裏側で資料作成していたのを見かけました。。。。
そのほかもポロポロと。
JavaからのJSON利用の標準が簡単になってくれるといいなぁ。

[JS2-41] Java Persistence API on the Grid

OracleCoherence(製品)の紹介。途中で抜けました。
JavaEEできちんと性能出したければコヒレンス買えというのは反感しか出ないと思うけどな。
なんでこれがJavaOneに来たのかが判らない。
OOW向けの内容だと思う。

[BoF2-02] コンテナでテストをまわせ!Java EEへの自動テストの導入

ということで、抜けて合流したのはここでした。

途中参加のため内容は割愛しますが、途中で気になったのが一点。

席の後ろの方に片足で立って、もう片方の足でMacを支えて両手でMacを打っていたエクストリィィムな人が居るなぁとおもったら、[twitter:@kyon_mm]さんでした。
後ろから見てると面白かったので写真とっておけばよかったかなぁとかw

[BoF2-04] The New JSR-107 Caching Standard

漫才その2
 ヘ○ヘ
   |∧
  /

古くからあるJavaのキャッシングの仕様がついにJavaEE7で入りますよというお話。
アノテーションベースのキャッシングは便利そうだ。

こんな感じ。

ランチセッション

ランチセッションという形で二日間とも参加してきました。

  • 1日目

GlassFishのお話。
Oracleが持つアプリケーションサーバー、WebLogicGlassFishとかつてあった何とかというアプリケーションサーバーの住み分けについて説明して頂きました。
Red Hat ELとFedoraの関係を思いついたけど同じ印象を持った人が何人かいた模様。
oc4j乙。きみはOracleSOASuiteの内部では生き続ける・・・・(ハズ)
※コメントで指摘がありましたが、もう死にました。

  • 2日目

Groovist自重しろ。
GroovyFXがあればJavaFXいらないよねというのはネタだとしても暴言としか言えないです。。。
内部的にJavaFX使ってるんだから、JavaFXの開発が止まったら困るのはあなたも一緒ですよ?
開発をしてくださっている人の前であれは本気で、"無い"。

ついでに、クライアントサイドでUIが遅くても良いというのは最新の良い性能を使用して開発しているあなただから言えることだ。
ほとんどの人は1世代前のPCを使用しているのだから多くの人に使ってもらいたいならその人達のことを考えるべき。

本人はドヤァとか思っているのかも知れないけど、本当に、その場でつまみ出して欲しかった。

スペシャルセッション

そうそう、すっかり忘れていましたが、夜にはスペシャルセッションがありました。

  • Day1 - JavaOne Tokyo Special Lightning Talk
  • Day2 - JavaOne Community Panel Discussion

内容としては、1日目は好き勝手にみんなLTした感じ。
2日目はコミュニティへの参加の意義について。
なんだかんだで参加したセッションの中では一番楽しかったかな。
某人曰く、本家JavaOneに一番近いのがこれとのことだったので、きっと向こうはもっとワイワイガヤガヤ楽しいのでしょう。

いつかこういうところに呼ばれるようになってみたいなぁとか。
途中疑問に思ったのですが、コミュニティに参加したという状態はどういう状態なのでしょうか。そもそもコミュニティとは?
いまいちコミュニティ?に参加しているのかどうかがよく判らないので誰か教えて下さい。

終了後の懇親会

1日目、2日目ともに終了後の懇親会に参加させて頂きました。
多すぎて名前を上げることはできませんが、沢山の方々とお話ができて楽しかったです。

書くのが疲れてきたのでこの程度で。
そのうち追記するかも。