JavaOne 2014 サンフランシスコ報告会 Tokyoに参加しました

JavaOne 2014 サンフランシスコ報告会 Tokyoに参加してきたので、軽くまとめてみます。アーキテクチャトレンドと、EEのアップデート以外は関心が無いので、あまり触れません。

イベントの概要

イベントの雰囲気

  • 座席の占有率は30〜40%ほどで、盛り上がってる風でもなく、ボチボチという雰囲気でした。
  • 会場のOracle本社13Fは綺麗ですし、無料のWiFi環境の整備等、細かいところに気遣いを感じました。
  • 司会進行、説明等は丁寧でわかりやすかったです。場所が場所ですし、きっちりしてますね。

基調講演から振り返る JavaOne 2014

アーキテクチャトレンド

  • スライド -> http://www.slideshare.net/yusuke/j1jp2014-architecture
  • 個人的には、一番面白いセッションでした。
  • 「仕様の確定」から「価値の提供」へのシフト
    • SIerとしては、「う〜ん、そんなこと言われても・・・。」という感じです。
    • 製造業をモデルとして、階層化された流れ作業で仕事をするスタイルなので、適用は厳しいです。
    • ぶっちゃけて言うと、顧客価値よりも、自分の仕事の確保のほうが重要ですし(みんな口には出さないけど、行動原理は・・・。)
  • 今年最大の流行語はMicroservices Architecture
    • みんな試行錯誤中でカオス状態
    • リファレンスアーキテクチャを本番で適用した人が皆無らしいというのが・・・。
    • 個人的には、ミドル間の通信、永続化、リカバリ処理等のオーバーヘッド増大や、考慮漏れ、ミドルのバグ等が怖いです。あんな複雑で期待通りに動くのかなぁ・・・。
  • DDDも流行中
    • 「設計書に書いた日本語が正」のSIerでは受け入れられないだろうなぁ。
    • DDDの前に、OOADの有識者が殆どいないですし、「プログラミングは価値が低い、知らなくてもよい」という文化なので、適用が困難なのでは。
  • NoSQLを手放しで褒める人は皆無
    • NoSQLはイケてない、でもRDBMSもイケてない -> DBはもっと進化が必要!
    • Consistencyは欲しい!
  • Dockerも流行中
    • コンテナ型は何十年も前から存在するので、Dockerの本質ではない
    • OSを含めたイメージをリポジトリに登録し、再配布可能にするのが本質
    • エンタープライズの世界に普及するには数年かかりそう
  • その他
    • 「レイヤ」や「抽象化」等の言葉が出てきたのは、ソフトウェア技術の話っぽくて好き。
    • 流行をゴリ押しするわけではなく、俯瞰的に見る感じで、色々考えさせられました。

Java EE Report

  • スライド -> http://www.slideshare.net/agetsuma/java-ee8-report
  • トップバッターはServlet 4.0
    • やはりHTTP/2の影響大
    • SSEの仕様は決定していない模様。使いやすければ、Webアプリのつくりが根本的に変わりそう。
  • JSF, JAX-RSは地味に更新
  • MVC1.0
    • 「いまさらねぇよなぁ」「JSF/JAX-RSとのすみわけは?」等は激しく同意。
    • デザイン案は、JSFっぽい。
  • CDIの強化
    • Java SE環境でのDI、セキュリティ機能の統合は影響が大きそう。
    • TomcatやJettyが素でDI、トランザクション管理できると、Springの価値が大きく下がるのでは?
    • CDIの仕様分割には激しく同意。異様に複雑で全体像を掴みづらく、仕様バグだらけだし、人類には早すぎる。
  • JPA関連の話題が皆無
    • Survey関連とAvatarで名前がちらっと出てきただけ
    • 多分、最重要なJava SE/EEのAPIのうちの一つだと思うのですが・・・。
    • NoSQL対応、効率性向上、Spring Dataへの対抗等、ネタはいくらでもあるはず。
  • その他
    • Oracleユースケースを知りたがっている」とのことですが、多数決方式だとライトな使い方に偏りそう。
    • 機能追加の話がメインですが、JSRの整備や、公式チュートリアルとJSRの間を埋めるものが欲しい。

まとめ

  • 革新は無いけど、改善は続いているようです。
  • コミュニティを大事にしてくれるのはよいですね。
  • 海の向こうのスケールの大きいイベントなので、日本の中小企業に勤める普通のサラリーマンとしては、あんまり実感が沸きませんでした。
  • 今私が所属している会社のSIでJavaを使い続けるのは厳しいというのが、率直な感想です。
    • 更新のペースがSIの感覚と比べて速い(ランタイムやミドルがすぐEOLなのは困るというか、現在進行形で困っている)
    • フレームワーク、言語の仕様が複雑で下請け先の量産型プログラマでは使いこなせない(プロジェクト遅延に直結するくらい、道具の難しさがボトルネック。自動化は制約や拡張の開発で問題を余計に複雑にする。)
    • 機能、互換性の足切りや、やりたいことがあるけど、道具を理解できない etc...でドツボに嵌りそう(というか、嵌ってます)
    • 流行を中心に機能拡張されるので、SIの要求と方向性が異なる(採用を検討するけど、ニーズに合わないので却下されたり。
    • 独自の「SIのニーズに沿った言語、Fw」を自作するか、思い切ってJavaでのシステム開発はきっぱり諦めて、パッケージやSaaSの適用、コンサルに特化すべきなのでは。