JavaOne 2014 サンフランシスコ報告会 Tokyo
JavaOne 2014 サンフランシスコ報告会 Tokyoに行ってきました。
基調講演から振り返る JavaOne 2014
寺田 佳央さん
今年19回目
参加者数 9010名 年々増加している
スピーカー 615名中382名がOracle以外の人
アジアからの参加者は全体の5%
Peter Utzschneider が取りまとめ
今年1年かけたJavaのメッセージはCREATE THE FUTURE JAVA
Javaの継続的な進化
- コミュニティ
- OpenJDK
- JCP
JCP.next 進化の継続 - Java User Group
今年世界で約80のJUGが出来ている
- テクノロジー
- Java SE
- Java Embedded
- Java EE JSR366が承認
- Oracle Stewardship
- Java啓蒙活動
- OTN
- Java.net
今年JCP15周年のイベントが多く開催されている
Java8リリース後の現状
今年3月に出たばかりなのに、8か国で80冊以上の本が出ている。これはすごいこと。
Lambda & Stream APIとは
- Java Language を近代化するための大きな一歩
- Java Libraries を近代化するための大きな一歩
- 過去最大のアップグレード
ゴールドマンサックスがJava8をエンタープライズで使用。
リリース前から既に把握していて、リリースに対応するためのコードを既に書いていた。
無名インナークラスをLambdaに変換してテストコードを9%削減できた(10.5万行→9.5万行)
高速化されている。
Fork/Joinの改良
高速なAtomic変数、並列処理ライブラリ
セキュリティ関連対策を実施
年4回定期的なパッチ提供
今後の予定
2015/01/20
2015/04/14
2015/07/14
2015/10/20
Java SE 8u20の新機能
Advanced Management Console(AMC) 1.0 (ただし契約締結者専用)
- Java Applet、WebStartの利用状況収集
- アクセス制限が可能
- 特定アプリに対し、古いJREでの動作指定が可能
ちょっと触ってみたが、まだ設定が難しい。
Java Embedded
50万ダウンロード
業界全体で体制が整ってきている
多くの人がオンラインで学んでいる
Javaとモバイルのイノベーション
MobileApplicationFramework(有償)
Javaを書けばiOS、Androidで動く
標準技術で実装
デバイスの差異も吸収
Apache Cordovaでも使用可能
Java SEの将来
Java SE9
- Project Jigsaw
- HTTP 2.0
- Lightweight JSON
- Cloudに最適化したVM
JDK EnhancementProposal(Java SE9に含まれる予定の機能)
http://openjdk.java.net/jeps
JEP182 -source, -target オプションのルール変更
JEPには無い
過去のSEのバージョンでコンパイルするオプション
Java8でも既に警告が出る
Java9では指定不可になる
古いバージョンでのコンパイルが出来なくなる
SE9以降の新しいプロジェクト
- Project Valhalla
- value型の追加
参照型オブジェクトに比べメモリ、パフォーマンスを改善 - ジェネリクスにおけるプリミティブ型
- value型の追加
- Project Panama
- JVMとネイティブライブラリ間の相互接続を可能にする新機能
JavaSE7 公式アップデート終了(有償サポートはある)
Java EE の将来
常に業界トレンドを深く観察
ユーザーグループにアンケートを取って新機能を選定
HTML5/Web層の拡張
簡単開発
Cloud稼働用のインフラ
Java EE8 (JSR366)は満場一致で承認がおりた
これから開発が進んでいく
みなさんに積極的に参加してほしい
JUGで開発メンバーにフィードバックできるようになっている
http://glassfish.org/contribute
2016年にJavaEE8が出る予定
その他
IntelがJavaOneに参加
今後Javaへの最適化がされていくと思う
SnapCode
子供向け学習用IDE&RADツール
Oracle感謝祭は遊園地を貸し切って開催
エアロスミスのコンサートも
録画済みセッションを全て近日公開予定
来年はJava20周年
様々なイベントが企画されると思う
Java One 2015 San Franciscoは
2015/10/25 - 2015/10/29
Java コミュニティアップデート
鈴木 雄介さん(JJUGのリーダー)
OUGLS参加報告
Oracle User Group Leader Summit
世界中のオラクル製品ユーザーグループのリーダーが集まる場
JavaOneの直前に2日間開催
アイスブレイクとしてコミュニティの未来を考えて絵にしたり
何をするのか
- 地域コミュニティの話し合い
- 各コミュニティからの報告
- ユーザーグループの成長について
今年主なテーマはソーシャルメディアの利用
ソーシャルメディアを利用してどうやってユーザーやスポンサーを集められるか - Chief Customer Officeの話
ORACLEがいかに顧客の声に興味があるかを延々と話してた。
感想
- コミュニティ運営は世界中で苦労がある
東京は特異性がある
世界でも東京のメンバー数は多い方
イベントにこんなに集まってくれるのはすごい - 面白いアイデア
動画配信やリモート講師
日本はタイムゾーン的に海外とのリアルタイムは難しい
子供向けイベント - (相変わらず)Javaは仲が良い
夜はBBQが恒例
他のOracleコミュニティに比べると仲が良い
ビジネスカジュアルって書いてあるのに余裕でTシャツでくる
JJUG視点でのJavaOneの感想
サプライズはない
- Oracle is not Sun.
今年1月のサミットで言われた言葉
予定通りのスケジュール(Sunにはできなかった)
顧客の声を聞く - 個人的には歓迎
Sun好きには不評ですが成熟期のJavaには必要
Javaはコミュニティを通じて顧客の声を聞こうとしている
いろんなところで気遣いを感じた
特にEEはコミュニティ重視
- コミュニティサーベイはたぶん初めて
- JCPに基づくプロセスを重視
- とにかくユースケースを知りたがっている
これからのJJUG
JJUG CCC 2014
11/15 @ベルサール西新宿
Simon Ritter参戦
フィードバックください
@JJUB #jjug
members@java-users.jp
常に幹事募集中です!
Java アーキテクチャトレンド
鈴木 雄介さん(JJUGのリーダー)
Javaに閉じないアーキテクチャのトレンドの話
バズワード多めで話します
具体的な実装の話はしません
世の中の流れ
IoT
- あらゆるものがネットに接続
- デバイスの多様化と大量化
- 経験の一体化
サービスへ
アプリケーション開発からサービス運営へ
- アプリケーション開発
仕様を定義
開発者が作る
基本的には閉じられた世界 - サービス運営
利用からフィードバック
様々な人が関わる
外的要因に影響される
企画、開発、運用が協力(リーンとかDevOpsとか)
アーキテクチャ
Microservices Architecture
- 考え方
- 固有のドメインに固有のサービスがある
- サービス同士はAPIとメッセージを介して連携
- SOAとの違い
- SOA
モノシリックなアプリケーションをサービス化 - MSA
サービスを小さなサービスで構成
- SOA
Reactive
- 日本語では反応的な
- 特徴
- イベント駆動
- 容易な拡張
- 障害体制が高い
- 応答性が高い(エラーが出ても何かを返す)
JavaOneで紹介された製品
- OSGi
MSAかは微妙だけどモジュールは大事 - Play+Akka
- Spring Boot・Dropwizard
EoDだけではない監視や障害対応機能 - RabbitMQ
- Closure はこれから
まだかっこいい実装のOSSが無い
JavaOneで話されていた設計
- DDD(Domain Driven Design)を出す人が大半
- 変化の境界線を見つけることが大事
- とはいえ、手探りでって印象
カオスの淵
NoSQL
- CAP定理
- とはいえ、ACIDは重要
- 正解がないので、個別のプロダクトの特徴を見極めるのが大事
JavaOneではMongoDBが多かった気がする
なぜJavaなのか
Javaがオープンだから
- 企業が求める安定性と挑戦が両立している
- 両輪がフィードバックするのが理想的
安定や後方互換性もある
変化はゆっくり
常に試行錯誤し、新しいことをやる
サマリ
エンターブライズも楽しくなってきた
- 大量だけでなく多様になっている点に注意
- 常に変化する全体にどうアプローチするか
バズワードに注意
- 製品を安易にくくらない(NoSQLとか)
- 銀の弾丸はない
Java Embedded 関連のアップデート
大山 弘樹さん(@ooyama)
去年も今年もIoTとRaspberryPiが多い
RaspberryPiが売りたいんじゃないか(笑)
ME EmbeddedとSE Embeddedの2つがある
ハードをがっつり使いたいならME
MEにはJNIが無い
Java SE & JavaFX 関連のアップデート
櫻庭 祐一さん(@skrb)
Project Valhalla
Value Types
配列の(メモリ的な)要素が実態を指すポインタではなくて実態そのものを入れる
value lass Point {
final int x;
final int y;
}
Immutableなのでスレッドセーフ
Specialized Generics
ジェネリクスにプリミティブ型が使える
今までのジェネリクスはコンパイルしたら型の情報が消えるが、プリィティブ型を使うといろいろ問題があるのでこれから議論されていくだろう。
Project Panama
Foreign Function Interface
ネイティブコードをコールする際、Javaのメソッドを呼ぶかのように使える。
ネイティブで扱いづらかったものが統一して使えるようになる。
ヒープの使い方を再度見直して効率よく使えるようにする。
Data Layout Control と Arrays2.0
セッションで話がなかった
Project Sumatra
GPGPUの話で、去年盛り上がっていたが今年はいまいち。
AMDからはスピーカが出ていたが、Oracleから出てなかった。
Project Jigsaw
いまいち進んでいない印象。
モジュールの関連性を図にする予定だったがあきらめたっぽい?
最初いろいろやる予定だったが、今はシュリンクさせてなんとかSE9に乗るのではないか。
MLの流通量は上がってきている。
JVMのイメージファイルが作れるようになる。
必要なモジュールだけをまとめたもの。
exeファイルも作りやすくなるのではないか。
JavaFX
JavaFX 8u40で追加されるもの
- Accessibility
音声で読み上げてくれる - Dialog
- 法線(SE9から?)
3Dの面に対するベクトル
今まではJavaFXが勝手に決めていた
法線を自分で決められるようになる。
Java EE 関連のアップデート
上妻 宜人さん
Java EE8 テーマ
- HTML5/Web層の拡張
- かんたん開発
- クラウド上でのインフラ
まだ作業中なので、仕様は変わる可能性がある。
Servlet4.0
HTTP/2対応
- GoogleのSPDYプロトコルが原型
- バイナリフレーム/ヘッダ圧縮/多重化
- ヘッダの意味合い(GET/POST/200 OK など)は基本的に踏襲
ストリームによる多重化
StreamIDへのアクセス
サーバープッシュ
- WebSocketを置き換えるものではない
- 関連リソースをサーバープッシュ
例えば、htmlの要求が来たら関連するjs,png,cssをプッシュする - 問題点についての解決策については話がなかった
Java SE9 でもHTTP/2に対応予定
新たなHTTPのAPIを追加。(HTTP/2に限らず1にも対応)
MVC1.0
アクションベースMVC
そもそも必要か、JAX-RSに入れるかの議論があったが、結果的に独立した仕様として検討がスタート
テンプレートは対象外
既にJSPとFaceletsがある
既存仕様との連携
CDI, Bean Validation
JSF 2.3
CDI連携の強化
@javax.faces.bean.ManagedBeanの扱いの見直し
- 非推奨ではなく @java.inject.Named と同様として扱う
EL式のキャッシュによる性能向上
マルチコンポーネントのバリデーション
JAX-RS 2.1
パフォーマンス向上
- Non-Blocking I/O APIのサポート(主にサーバーサイド)
- Reactiveプログラミングモデル(主にクライアントサイド)
SSE - Serer Send Eventのサポート
Java EE内連係の強化
- JSON-Bとの連携
- MVC1.0との連携
JSON-B 1.0
JSONとJavaオブジェクトのマッピング
- JAXB(XML Binding)と同様に相互互換
- 既存実装としてJackson data bindingなど
JavaとJSONでのプロパティ名を変えるにはアノテーションを使用。
JSON-P 1.1
JSON Processing
- JavaEE7導入のJSON処理API
- JSONを出力するためのJavaAPI
JavaEE8 - JSON Patch
- JSONデータの一部を置き換える仕組み(RFC6902)
- HTTP "PATCH" と組み合わせてJSONデータの差分更新に使う
- "PUT"は対象URLリソース全体を置き換えることを示す
- "POST"はリソースの新規作成に用途を絞る
CDI 2.0
非同期イベント機能の導入
通知する側が通知される側の完了を待たない。
受け側は通知を受け取ったことだけを返す。
仕様のモジュール分割
- CDI仕様が肥大化してきて、Weld以外の安定実装が少ない
Java EE Management API 2.0
REST APIによる監視・デプロイの標準化
REST APIによる管理
REST APIによるアプリケーションのデプロイ
Java EE Secrity 1.0
JavaOneではセッションが無く、これから検討されていく
スコープを整理中
Schedule
2016/Q3 リリース
井上誠一郎さん
Java EE8
Apache TomEE, Java EE Web Profile
- 読み方はトミー
- TomcatベースのJava EE実装
- Tomitribe社がバックについた
Project Avatar
- TSA(Thin Server Architecture)
- サーバーサイドJavaScript
Avatarのセッションは4つくらい
- Avatar2.0
- TSAの言及はほとんどなくなった
- Node.js互換アピールに完全シフト
Node.js on the JVM
~95% Node.js API compatibiliry
many of the node-modules work
Nodes.jsとの違い
- Nashornベース:Competes with Googl V8
- マルチスレッド
- スレッドごとにイベントループ
ロードマップ
- 2015年 Avatar Commercial Support
- 公開資料に書いてあった
Spring Framework
前はOracleがSpringを敵視してる感があったが、今回はそれほどでもない。
あくまで個人の印象。
Spring Framework4の特徴
- embedded Webサーバー(Spring Boot)
- message centric architecture
- async processing
Spring Boot Actuator
ほとんどコードを書かなくてもWebアプリがモニタリング可能(REST API)
http://localhost:8080/health を叩いて死活監視
http://localhost:8080/info を叩くと管理ビーンのメソッドコール数の統計情報
Webサイトの手順に従ってやれば15分でできる。
Springは実用的
ドキュメントやMaven等のツールとの連携がやっぱりすごい。
まとめ
Java EEは進化を継続
AvatarはNode.js互換路線
Spring Frameworkに復活の印象(Spring Boot以降)
HeapStats の発表と出展を通して見えた JavaOne2014
高雄 慎二さん(NTT OSSセンタ)
JavaOneを情報発信の場として考えるきっかけになればいい。
展示ホール出展
世界のユーザーに直接リーチ出来ることに魅力を感じて参加
150名以上が来訪
通訳の人もいたが忙しい時は通訳してる暇がないので直接対応
出展までの流れ
5月 申込フォームをDLしてメールで送信
費用は$7500
2名までJavaOne参加のフルチケットがつく
チケット無しの展示員は何人でもOK
6月 ExhibitorKitが届く
展示に必要なレンタル物品を注文
電源のレンタルも必要(別業者)
9月 展示物を用意
手荷物で直接運搬
チラシは必須。忘れたので現地で印刷
出展のメリット
世界の関連製品と肩を並べて比較される
世界のターゲットユーザの人々に直接リーチできる
他の会社から一緒にやろうよとか言われた
バッチスキャナの威力
名刺交換する暇がなかったが、気軽に顧客情報を得た
注意点
他のブースでExhibitorKitの既製品を使ってるところはほとんどなかった
文字の多いパネルは良し悪しあり
細かいトラブルはあるので、ゆとりが必要
注文したディスプレイが届かずに夜中まで待ったり
HeapStats発表
出席者
予約 63名
実際 約20名
国籍 Japan、USA、フィンランド等
Speakerのメリット
世界中の人に直接語り掛ける経験
反応が直接わかる
展示よりも長時間深い話ができる
参加登録が2名まで無料
Speaker専用の部屋がある(らしい)
発表までの流れ
Call For Proposals 3/4 - 4/15
採否通知 5中 - 6中
Speaker Portalからいろいろ登録
発表資料の登録はぎりぎりでもOK ~9/28
Call For Proposals
Titleは短めに
Abstractは公開される
Summaryは選考用?
Video 過去のプレゼン実績の動画記録
そんなに難しく考えずに、動画をとって送ればいいと思う
英語は?
日常の仕事で英会派はほとんどしない
英語ドキュメントはそれなりに読む
ネイティブチェックは依頼(展示パネルのみ)
発表資料はぎりぎりまで作っていたので
現地の通訳を1名依頼
まとめ
参加者との距離が格段に近くなる
世界の中での自分の立ち位置が見える感覚
技術(Java)に国境なし
BOF(birds of a feather)は初めての発表の場としてちょうどよい