日時:2016/11/19(土) 13:00 〜 17:30
場所:日本オラクル株式会社 関西支社
https://kanjava.connpass.com/event/42668/
JavaOne 2016概要とJava EEに関する新提案の件
発表者:伊藤 敬さん(日本オラクル) @itakash
Java EEの今後
- クラウド、マイクロサービスのアプリケーション開発を想定
- 異種クライアントの共存
- ステートレス・サービスへの対応
- 多彩なデータソースに対応
- 実績のある技術で構成
- Programing Model
- React
- Packaging
- docker
- Serverless
- Key Value/Doc Store
- Eventual Consistency
- Configuration
パッケージングの変更・追加
- Dockerモデルの採用
- マルチテナントへの対応
- Serverlessアーキテクチャの導入
Event API Proposal for Java EE9
- Asimple Event API
- Reactiveプログラミングが書きやすくなる
変更提案
- サーキットブレーカー機能
- マルチテナント
- ヘルスチェック機能
- MVCは取り下げる
Java EE Roadmap
-
2017年
- Java EE8
- マイクロサービスサポート(イニシャル)
- Java EE9策定
2018年
- Java EE9
- モジュラーJavaEEランタイム
- マイクロサービスサポート
変更提案とロードマップに対するアンケートを収集。
アンケート結果はもうそろそろ出るらしい。
JavaOneで登場したライブラリ
資料:https://docs.com/kazsharp/8019/javaone2016-kazsharp
発表者:佐々木さん @kazsharp
jComprehension (List Comprehension)
リストの内包表記
https://github.com/farolfo/jComprehension
JPA Modeler
- JPAのためのグラフィカルツール
- GUIでエンティティを作成
- エンティティ間の関連も作成
- ER図の自動生成
Mophia
- MongoDB用のライブラリ(O/Dマッパー)
- Java EE9ではNoSQL用の標準ライブラリが追加される予定
Lambda-logging-jcl
- Log4j2のApache Commons Loggingブリッジの実装
- lambda対応
- lambda式の遅延実行を利用したログ出力
Java SE Update ~Jigsawをメインに~
資料:http://www.slideshare.net/skrb/javaone-2016-java-se-update
発表者:さくらばさん(Java Champion) @skrb
James Gosling…Java作った人
Mark Reinhold…OracleのJavaにとって重要人物
Stephen Chin…最近日本に来た
Brian Goetz…Lambdaチーム
寺田さん…日本MS、Javaチャンピオン
Project Jigsawの話
Module
- JAR HELL問題への対応
- 依存性について言語として対応する
- PublicがPublicすぎる⇒Moduleで解決
手順
- JARファイルに
module-info.java
を追加する - 依存性とスコープを書く
-
src
ルート直下に置く - Build
- Goodbye, Classpath
-cp / --class-path
- Hello, Modulepath
-p / --module-path
- JLINK
- JREをカスタムできる
スタンダードライブラリもモジュール化されていてモジュール用のコマンドツールも追加されている
Project Panama
Vector API
- API for SIMD
- 配列を効率よく使えるようになる
Forien Function Interface
- JNIを使いやすくする
- JFFI⇒CやC++のコードを書かなくてもinterfaceやClassを作ってくれる
※参考
http://itpro.nikkeibp.co.jp/atcl/column/15/120700278/050900012/
http://qiita.com/hashiwa/items/9ae1f8ad8d2e8f916664
2016 エンタープライズ Java の最新動向と、雲の中の Java
発表者:寺田 佳央さん(Java Champion) @yoshioterada
Java EE Guardians
- 元Oracle、インド人がリーダー
- JavaEEが下降気味になったのを問題問題定義
MVC完全撤退の危機について
⇒アンケート収集、結果次第で撤回の可能性はある
MicroProfile
https://microprofile.io/
https://www.infoq.com/jp/news/2016/11/microprofile-panel-javaone
- JavaEE技術におけるマイクロサービス対応
- Oracle以外の各社が推進
- Eclipseでの開発前提
クラウド化・マイクロサービス化
- マイグレーションパスを用意
- JavaEEの後方互換性を維持
- REST(JavaRX)対応
- JavaEE8…JavaEE9の準備
- JavaEE9…クラウド&マイクロサービス、リアクティブプログラミング対応
モノリシックvsマイクロサービス
Agile、DevOps、CI/CDは当たり前でその先にマイクロサービスがある
- 分散コンピューティングを意識したシステム開発
- システムが落ちても全体に影響がないように設計する
- マイクロサービスを意識したJava F/W
- SpringBoot
- akka
- MicroProfile
⇒これらに対してJava EEは標準化していきたい
標準化技術
- API Gateway
- Service Registory/Discovery
- 動的変化するサービス・エンドポイントへの接続
- ロードバランサがR/Dに接続して裏側のサービスに振り分ける
- サーキット・ブレーカー
- 特定サービスのち円・障害にも全体サービスを継続
- サービスの切り離しと回復
- BulkHead(隔壁)パターン
- 並列(スレッド)サービス呼び出し数を制限
※JavaEE9ではAPIGatewayは入らない
MSの事例
Cognitive ServicesのFace APIをマイクロサービス化したサンプル・アプリケーション事例紹介
MS Cognitive Services
https://www.microsoft.com/cognitive-services/en-us/apis
https://github.com/yoshioterada/Face-Detect-Cognitive-Service-with-Java-EE
https://msdn.microsoft.com/ja-jp/magazine/mt595752.aspx
日本からJavaOneへ参加するには、そしてそのオトクな方法
発表者:じゅくちょー(関ジャバ会長) @jyukutyo
- 費用だいたい30万円台
節約手段
- 移動を乗り継ぎにする⇒28時間ぐらいかかる
- JavaOneパスの割引を駆使(標準価格は20万5千円)
※2017年は9/30-10/6
JavaOneに関する情報
- Slack #j1jp
- Facebookグループ…毎年できる
本編以外の楽しみ
- NullPointersの演奏⇒JavaOne向けに結成されたバンド
- JavaOneメシ⇒カロリー摂取するだけの食べ物
JavaOne以外のイベント
Devoxx
3/21-23
パス代$995
SpringOne Platform
2017/12/4-7
JDK 9 Language Updates
発表者:きつねさん(OpenJDKコミッタ) @bitter_fox
jshell
- Java REPL Tool
javadoc
- HTML 5 Javadoc
- Simplefied Doclet API
- Javadoc Search
- Javadocに検索窓
- Java9からModuleベースになる
Compiler
--releaseフラグ
- オプションのフォーマット
- 複数文字列は
--
を採用 - ただし今までのオプションは変更なし
- 複数文字列は
- invokedynamic
-
StringBuffer
からStringBuilder
のようなケースでリコンパイルが不要
-
- Tiered Attribution
- 型推論の処理が効率化
- ネストした型推論のコードでもコンパイル速度向上
Java言語仕様
-
@SafeVarargs
on privete メソッド -
Try-w-resources
でのfinal変数の使用 - 匿名クラスでのダイヤモンド構文
- 識別子
_
のエラー化 - privateインターフェースメソッド