javaone 2016総括 #jjug
TRANSCRIPT
![Page 1: JavaOne 2016総括 #jjug](https://reader031.vdocuments.mx/reader031/viewer/2022021420/586f85bb1a28ab54768b51dd/html5/thumbnails/1.jpg)
JavaOne 2016総括
2016/10/15
鈴木雄介グロースエクスパートナーズ株式会社 執行役員
日本Javaユーザーグループ 会長
JavaOne 2016 報告会
#JJUG
![Page 2: JavaOne 2016総括 #jjug](https://reader031.vdocuments.mx/reader031/viewer/2022021420/586f85bb1a28ab54768b51dd/html5/thumbnails/2.jpg)
1
鈴木雄介• グロースエクスパートナーズ(株)
» 執行役員/アーキテクチャ事業本部長
» http://www.gxp.co.jp/
• 日本Javaユーザーグループ
» 会長
» http://www.java-users.jp/
• SNS
» http://arclamp.hatenablog.com/
» @yusuke_arclamp
![Page 3: JavaOne 2016総括 #jjug](https://reader031.vdocuments.mx/reader031/viewer/2022021420/586f85bb1a28ab54768b51dd/html5/thumbnails/3.jpg)
アジェンダ
• 標準Javaについて
• コミュニティについて
• トレンド
2
![Page 4: JavaOne 2016総括 #jjug](https://reader031.vdocuments.mx/reader031/viewer/2022021420/586f85bb1a28ab54768b51dd/html5/thumbnails/4.jpg)
標準Javaについて
3
![Page 5: JavaOne 2016総括 #jjug](https://reader031.vdocuments.mx/reader031/viewer/2022021420/586f85bb1a28ab54768b51dd/html5/thumbnails/5.jpg)
標準Javaについて
「特に進展なし」• Java SE 9、Java EE 8については新しい情報なし
»むしろ、EE 8については一部の仕様がドロップ
»Java SE 10は未定
• Java ME、JavaFXについてはキーノート発表なし
»Java MEはJava SE Embededへ移行
»JavaFXは標準として開発がされていくのか?
▸ファンは多いためOSSでの継続が期待されるところ?
4
![Page 6: JavaOne 2016総括 #jjug](https://reader031.vdocuments.mx/reader031/viewer/2022021420/586f85bb1a28ab54768b51dd/html5/thumbnails/6.jpg)
標準Javaについて
今後への懸念は払拭されず• Java EE Guardians
»https://javaee-guardians.io/
»ORACLEのJavaEEへのコミット低下を懸念する団体
»Java EEの推進を実現力があるベンダーへ移行することを提案
• ロードマップは出たけども…
»本当にリリースできるのか?は不安
• 問題はEEだけではない
5
![Page 7: JavaOne 2016総括 #jjug](https://reader031.vdocuments.mx/reader031/viewer/2022021420/586f85bb1a28ab54768b51dd/html5/thumbnails/7.jpg)
MAKE JAVA GREAT AGAIN
6
MAKE JAVA GREAT AGAIN
![Page 8: JavaOne 2016総括 #jjug](https://reader031.vdocuments.mx/reader031/viewer/2022021420/586f85bb1a28ab54768b51dd/html5/thumbnails/8.jpg)
MAKE JAVA GREAT AGAIN
IBM SDK for Java Going Open Source• IBMのJVM実装であるIBM J9をOpenJ9としてOSS化
»Coming Soon http://openj9.mybluemix.net/
»OpenJ9はEclipse OMRがベース
• “OpenJ9ベースのOpenJDK”が登場する
»おそらくHotSpotベースよりも起動が速く、footprintが小さい
»HotSpotベースのものがなくなるわけではない
7
![Page 9: JavaOne 2016総括 #jjug](https://reader031.vdocuments.mx/reader031/viewer/2022021420/586f85bb1a28ab54768b51dd/html5/thumbnails/9.jpg)
8http://www.slideshare.net/DanHeidinga/j9-under-the-hood-of-the-next-open-source-jvm
※今まで
![Page 10: JavaOne 2016総括 #jjug](https://reader031.vdocuments.mx/reader031/viewer/2022021420/586f85bb1a28ab54768b51dd/html5/thumbnails/10.jpg)
9http://www.slideshare.net/DanHeidinga/j9-under-the-hood-of-the-next-open-source-jvm
※これから
![Page 11: JavaOne 2016総括 #jjug](https://reader031.vdocuments.mx/reader031/viewer/2022021420/586f85bb1a28ab54768b51dd/html5/thumbnails/11.jpg)
MAKE JAVA GREAT AGAIN
Eclipse OMR• 2016年3月に公開。コンパイラを9月に追加
»Dual License : Eclipse Public License V1.0/Apache 2.0
»https://github.com/eclipse/omr
• 任意の言語の実行環境を開発するためのツールキット
»JITコンパイラ、GC、スレッドライブラリなど言語に非依存でVMに必要な機能を集めたもの
»CRubyをOSS提供済み▸ http://www.slideshare.net/craiglehmann/the-omr-gc-talk-ruby-kaigi-2015
▸CPythonは公開予定ありと思われる
10
![Page 12: JavaOne 2016総括 #jjug](https://reader031.vdocuments.mx/reader031/viewer/2022021420/586f85bb1a28ab54768b51dd/html5/thumbnails/12.jpg)
11https://www.eclipsecon.org/na2016/sites/default/files/slides/OMR%20Modern%20Toolkit%20for%20Building%20Language%20Runtimes.pdf
![Page 13: JavaOne 2016総括 #jjug](https://reader031.vdocuments.mx/reader031/viewer/2022021420/586f85bb1a28ab54768b51dd/html5/thumbnails/13.jpg)
MAKE JAVA GREAT AGAIN
今後の展開は注目• Apache Harmony論争再び?
»JDK 5, 6のオープンソース実装(Apache 2.0)を目指して公開
»Sunが対抗してOpenJDK(GPL)を提供
»なんやかんやでAndroidに組み込まれてAndroid訴訟に発展した
▸http://www.publickey1.jp/blog/16/googleoraclejava_apiitjjug.html
▸Android NougatではOpenJDK実装に切替え
• IBMによる言語ランタイムのOSS化
»Javaに限らず多くの言語で主流となるのか?
12
![Page 14: JavaOne 2016総括 #jjug](https://reader031.vdocuments.mx/reader031/viewer/2022021420/586f85bb1a28ab54768b51dd/html5/thumbnails/14.jpg)
MAKE JAVA GREAT AGAIN
誰がJavaを偉大にするのか?• 標準Javaの歩みが遅くなっても誰かが追い越していくだけ
»MicroProfileでも「標準外をいれよう」という議論がある
• OSSとコミュニティが進化を加速していく
»その中でビジネスができるようにしていくのはどうするのか?
13
![Page 15: JavaOne 2016総括 #jjug](https://reader031.vdocuments.mx/reader031/viewer/2022021420/586f85bb1a28ab54768b51dd/html5/thumbnails/15.jpg)
コミュニティについて
14
![Page 16: JavaOne 2016総括 #jjug](https://reader031.vdocuments.mx/reader031/viewer/2022021420/586f85bb1a28ab54768b51dd/html5/thumbnails/16.jpg)
15
![Page 17: JavaOne 2016総括 #jjug](https://reader031.vdocuments.mx/reader031/viewer/2022021420/586f85bb1a28ab54768b51dd/html5/thumbnails/17.jpg)
16
エピソード21:コーダーの覚醒
ダースコーダーとデュークトルーパーは銀河中の開発者からモジュールを盗み、彼らのコードがコンパイルできなくなうようにしてしまいました。
![Page 18: JavaOne 2016総括 #jjug](https://reader031.vdocuments.mx/reader031/viewer/2022021420/586f85bb1a28ab54768b51dd/html5/thumbnails/18.jpg)
17
OSGiがあるよ!それじゃダメなの!
![Page 19: JavaOne 2016総括 #jjug](https://reader031.vdocuments.mx/reader031/viewer/2022021420/586f85bb1a28ab54768b51dd/html5/thumbnails/19.jpg)
18
絶大な力を持つダースコーダー
![Page 20: JavaOne 2016総括 #jjug](https://reader031.vdocuments.mx/reader031/viewer/2022021420/586f85bb1a28ab54768b51dd/html5/thumbnails/20.jpg)
19
新たな仲間達との出会い
![Page 21: JavaOne 2016総括 #jjug](https://reader031.vdocuments.mx/reader031/viewer/2022021420/586f85bb1a28ab54768b51dd/html5/thumbnails/21.jpg)
20
新たな師との出会い
![Page 22: JavaOne 2016総括 #jjug](https://reader031.vdocuments.mx/reader031/viewer/2022021420/586f85bb1a28ab54768b51dd/html5/thumbnails/22.jpg)
21
敵の居場所を捜す
![Page 23: JavaOne 2016総括 #jjug](https://reader031.vdocuments.mx/reader031/viewer/2022021420/586f85bb1a28ab54768b51dd/html5/thumbnails/23.jpg)
22
果たしてDarth Coderの正体とは!?
![Page 24: JavaOne 2016総括 #jjug](https://reader031.vdocuments.mx/reader031/viewer/2022021420/586f85bb1a28ab54768b51dd/html5/thumbnails/24.jpg)
コミュニティの状況
Community Keynote• 相変わらずの学芸会ノリ
»コミュニティの人やORACLEの人によるJavaネタ大会▸ オンデマンド:https://www.oracle.com/javaone/on-demand/index.html
»特に情報はないけど「コミュニティが中心だ」というメッセージにはなっている!?
»Java祭りの出し物と思えば楽しい
• JavaOneは「ベンダー主導の情報発信の場」から「コミュニティが交流する場」へ
23
![Page 25: JavaOne 2016総括 #jjug](https://reader031.vdocuments.mx/reader031/viewer/2022021420/586f85bb1a28ab54768b51dd/html5/thumbnails/25.jpg)
JavaOneの総括
Javaに閉じず(閉じてる意味がない)• “Java”というよりは、Javaで作られたアプリケーションを中心としたエンジニア同士の情報交換の場
»あくまでも正装はTシャツとジーパン
• 雰囲気はオープン!
»開かれていることがJavaの価値
• エンタープライズ色が強めなのが特色
»金融系、政府系の人も多い
24
![Page 26: JavaOne 2016総括 #jjug](https://reader031.vdocuments.mx/reader031/viewer/2022021420/586f85bb1a28ab54768b51dd/html5/thumbnails/26.jpg)
トレンド
25
![Page 27: JavaOne 2016総括 #jjug](https://reader031.vdocuments.mx/reader031/viewer/2022021420/586f85bb1a28ab54768b51dd/html5/thumbnails/27.jpg)
キーワード
DevOps、Cloud、Microservices、Reacitve• 標準Javaに関連しない講演だと、もはやJavaの話は少ない
»サーバサイド系は特に
• エンタープライズ開発の定点観測としては重要
»去年は”Microservices”
26
![Page 28: JavaOne 2016総括 #jjug](https://reader031.vdocuments.mx/reader031/viewer/2022021420/586f85bb1a28ab54768b51dd/html5/thumbnails/28.jpg)
キーワード
Agile• もはや議論すらない。常識の範疇
»“Agile”を含むセッションは6個(タイトルに含むのは1つだけ)
»ウォーターフォールがダメということではなく、アジャイルになるべきものはアジャイルになっている、ということだと理解
• どういうリリースサイクルか?という問いはある
»2週間、1ヶ月、3ヶ月、6ヶ月…
• あとは具体的なツールの話
»プロセス論が話されることは少ない
27
![Page 29: JavaOne 2016総括 #jjug](https://reader031.vdocuments.mx/reader031/viewer/2022021420/586f85bb1a28ab54768b51dd/html5/thumbnails/29.jpg)
キーワード
DevOps 1/2• “DevOps”を含むセッションは51個
• 定義はそんなに重要ではない
»≒ Continuous Integration / Continuous Deploy (Delivery)
»ツールとしてもJenkinsやBambooが一般化
• 一周回って次の課題へ
»マイクロサービス環境におけるデプロイをどうしていくか
28
![Page 30: JavaOne 2016総括 #jjug](https://reader031.vdocuments.mx/reader031/viewer/2022021420/586f85bb1a28ab54768b51dd/html5/thumbnails/30.jpg)
キーワード
DevOps 2/2• コンテナを前提としたデプロイ
»“Docker”は26個、Kubernetes+Mesos
• 複雑なパイプライン設計をどうしていくのか?
»Big one buildから、Network buildへ
• 長くなったテスト時間を短くするには?
»リリースサイクルに間に合わない
• メトリクスが重要
»監視の先へ
29
![Page 31: JavaOne 2016総括 #jjug](https://reader031.vdocuments.mx/reader031/viewer/2022021420/586f85bb1a28ab54768b51dd/html5/thumbnails/31.jpg)
キーワード
Cloud• 使ってて当たり前
»“Cloud”を含むセッションは137個
»AWS勢が圧倒的に感じる
• サーバレスへの関心は高くなっている
»AWS Lambda
30
![Page 32: JavaOne 2016総括 #jjug](https://reader031.vdocuments.mx/reader031/viewer/2022021420/586f85bb1a28ab54768b51dd/html5/thumbnails/32.jpg)
キーワード
Microservices 1/3• 一般的な概念として定着しつつある
»“Microservices”を含むセッションは52個
• なぜ分けるか?いかに分けるか?という議論より、分けたサービスをいかに管理するか?という議論
»メリットの話ではなく、デメリットを減らしていく議論へ
»Netflixのトップページでは500個のサービスが動く
▸Amazonは700-800個?
31
![Page 33: JavaOne 2016総括 #jjug](https://reader031.vdocuments.mx/reader031/viewer/2022021420/586f85bb1a28ab54768b51dd/html5/thumbnails/33.jpg)
キーワード
Microservices 2/3• データ共有
»Event-Sourcing、ビュー、トリガー、ストアド、ETL連携
• Resilientなサービス設計
»タイムアウト、リトライ、サーキットブレーカー、遅延対応…
• テスト戦略
»Consumer-Driven Contract testing
• 疎結合を優先し、非同期処理での不整合を許容する
»「Amazonは処理に失敗したらクーポンを出しているよ」
32
![Page 34: JavaOne 2016総括 #jjug](https://reader031.vdocuments.mx/reader031/viewer/2022021420/586f85bb1a28ab54768b51dd/html5/thumbnails/34.jpg)
キーワード
Microservices 3/3• Microservicesのプラットフォームは何がいいか?
»Spring Cloud→
»基本的にはJava EEも同じ方向性
33Bundling Microservices to Optimize Consumption for Devices with Spring Cloud and Netflix OSS [CON6461]
![Page 35: JavaOne 2016総括 #jjug](https://reader031.vdocuments.mx/reader031/viewer/2022021420/586f85bb1a28ab54768b51dd/html5/thumbnails/35.jpg)
キーワード
Reactive• 用語定義やメリットの議論が継続中
»“Reactive”を含むセッションは26個
»Lightbend(元Typesafe)の存在感
• マイクロサービス間通信としてのReactive
»“通信する”という概念そのものがボトルネックに
▸RESTful over HTTP 1は限界
▸サービスチェーン問題への解決が必要
▸通信を抽象化した非同期/非対称なイベント駆動モデルが必要
34
![Page 36: JavaOne 2016総括 #jjug](https://reader031.vdocuments.mx/reader031/viewer/2022021420/586f85bb1a28ab54768b51dd/html5/thumbnails/36.jpg)
未来予測
数千、数万のサービスで構成されたシステム• イベント駆動によるサービス間連携
»非同期/非対称でのやり取りで、システムの境界線が曖昧に
»サーバレスの延長?
• サービスの制御は全てプラットフォームに任せる
»ランタイムは数万~数十万
»デプロイしたコードに最適化されたランタイム上で動く
▸サービスに定義されたProfileにあわせてインフラとミドルを組み上げる
35
![Page 37: JavaOne 2016総括 #jjug](https://reader031.vdocuments.mx/reader031/viewer/2022021420/586f85bb1a28ab54768b51dd/html5/thumbnails/37.jpg)
まとめ
36
![Page 38: JavaOne 2016総括 #jjug](https://reader031.vdocuments.mx/reader031/viewer/2022021420/586f85bb1a28ab54768b51dd/html5/thumbnails/38.jpg)
Javaの未来について
誰がJavaを偉大にするのか?• コミュニティやOSSと協業できる企業
»Javaはオープン化されている
»健全なエコシステムがあることは重要
• JavaOneはコミュニティの交流の場として機能している
»もちろん、行く価値があります
»DevOps、Cloud、Microservices、Reacitve、その先へ
37
![Page 39: JavaOne 2016総括 #jjug](https://reader031.vdocuments.mx/reader031/viewer/2022021420/586f85bb1a28ab54768b51dd/html5/thumbnails/39.jpg)
お知らせ
38
![Page 40: JavaOne 2016総括 #jjug](https://reader031.vdocuments.mx/reader031/viewer/2022021420/586f85bb1a28ab54768b51dd/html5/thumbnails/40.jpg)
JJUG CCC Fall 2016
12/3(土)開催です!!• (冬じゃないか、という指摘は受付けてません)
• 過去最大:47セッション+ブース
»鋭意コンテンツ策定中!
39