Your SlideShare is downloading. ×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Java Update 2014 okinawa

205
views

Published on

Published in: Technology

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
205
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
2
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.1 Yoshio Terada Java Evangelist http://yoshio3.com, Twitter : @yoshioterada
  • 2. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.2 以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するもので す。また、情報提供を唯一の目的とするものであり、いかなる契約にも組み 込むことはできません。以下の事項は、マテリアルやコード、機能を提供す ることをコミットメント(確約)するものではないため、購買決定を行う際 の判断材料になさらないで下さい。オラクル製品に関して記載されている機 能の開発、リリースおよび時期については、弊社の裁量により決定されます 。 Oracleは、米国オラクルコーポレーション及びその子会社、関連会社の米国及びその他の国における登録商 標です。文中の社名、商品名等は各社の商標または登録商標である場合があります。
  • 3. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.3 本日のアジェンダ はじめに Java SE の現在と未来 Java EE の現在と未来 さいごに
  • 4. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.4 本日のアジェンダ はじめに Java SE の現在と将来 Java EE の現在と将来 さいごに
  • 5. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.5 is Back
  • 6. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.6 2014年 Java にとって重 要な年
  • 7. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.7 祝 Java SE 8 正式リリース 2014 年 03 月 18 日
  • 8. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.8 本日のアジェンダ はじめに Java SE の現在と将来 Java EE の現在と将来 さいごに
  • 9. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.9 Servers Desktop Embedded TV Mobile Card Java Card Java EE Java TV BD-J JavaFX MSA Java Language Java SE Java ME Key APIs Platform Language Java Platform
  • 10. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.10 Java: パフォーマンスの向上 (JDK1.2 – Java SE 6) J2SE 1.2.2 J2SE 1.3.1_16 J2SE 1.4.2_11 J2SE 5.0_06 Java SE 6.0 0 100 200 300 400 500 600 700 800 900 NormalizedtoJ2SE1.2.2Performance Server benchmark: Volano 2.5.0.9 Sun JVMs are 32-bit Sun Fire V490: Solaris 9 / SPARC Volano Website: http://www.volano.com Source: Java Performance Engineering
  • 11. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.11
  • 12. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.12 2011年7月28日 Java SE 7正式リリース
  • 13. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.13 7 Project Coin (JSR 334) NIO.2 (JSR 203) Fork/Join Framework InvokeDynamic (JSR 292) • クラスローダの拡張 • 国際化の拡張 • Unicode 6.0 • IETF BCP47, UTR 35 • ISO 4217 通貨コード • Locale の拡張 • URLClassLoader のクローズ • SDP & SCTP • セキュリティの拡張 • TLS 1.2 • ECC • Swing JLayer • XRender Pipeline for Java 2D • JDBC 4.1
  • 14. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.14 祝 Java SE 8 正式リリース 2014 年 03 月 18 日
  • 15. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.15 JSR- 337 : Java SE 8
  • 16. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.16 Java SE 7 と Java SE 8 の関係 Java SE 7 の主要な新機能 Project Coin Java NIO.2 Fork/Join Framework InvokeDynamic Java SE 8 の主要な新機能 Lambda 式 Stream API Nashorn (JavaScript) 利用と 改善 Date & Time API Type Annotation Compact Profile JavaFX の統合 Java VM の統合
  • 17. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.17 Project Lambda Lambda 式 Streaming API
  • 18. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.18 マルチコア時代
  • 19. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.19 ここで登場 Lambda
  • 20. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.20 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.20 ExecutorService service = ...; service.submit(new Runnable() { @Override public void run() { // 非同期に処理するタスク doSomething(); } }); 1. 匿名インナー・クラスとして実装
  • 21. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.21 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.21 ExecutorService service = ...; service.submit(() -> doSomething()); 単一の abstract メドッドを持つ 関数型インタフェースを書き換え Java SE 8 ラムダ式
  • 22. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.22 Stream API
  • 23. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.23 Stream API とは コレクションに対する バルク(一括)処理が可能 Lambda 式を使用し可読性向上
  • 24. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.24 Stream API による実装 (パイプライン処理) 終端操作が呼び出されるまで処理は未実行 Stream の生成 Stream.of() Stream.empty() Stream.generate() list.stream() 中間操作 filter map mapToInt flatMap distinct sorted limit skip など 終端操作 forEach forEachOrdered toArray reduce collect min,max,count など
  • 25. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.25 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.25 拡張 for 文による操作(JavaSE7) List<String> list = Arrays.asList("aaa", "bbb", "ccc", "abc"); for (String data : list) { if (data.startsWith("a")) { System.out.println(data); } } 先頭が a で始まる文字列を出力
  • 26. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.26 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.26 Lambda 式 と Stream API 最終形式:Lambda 式により簡潔に記述可能 List<String> list = Arrays.asList("aaa", "bbb", "ccc", "abc"); list.stream() .filter(data -> data.startsWith("a”)) .forEach(System.out::println); for 文, if 文を使用せず コレクションに対する一括操作
  • 27. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.27 Java VM (実行環境) の統合
  • 28. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.28 JavaScript JavaScript エンジン (Nashorn)
  • 29. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.29 新リッチクライアント開発技術
  • 30. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.30
  • 31. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.31 Compact プロファイル 各APIにどのプロファイルで 利用可能か記載されている 参考:https://blogs.oracle.com/jtc/entry/a_first_look_at_compact
  • 32. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.32 Java SE 8 (JSR 337) 新機能 • JSR-308 : Annotations on types • JSR-310 : Date and Time API • JSR-335 : Lambda expressions 更新機能 • JSR-114 : JDBC Rowsets • JSR-160 : JMX Remote API • JSR-199 : Java Compiler API • JSR-173 : Streaming API for XML • JSR-221 : JDBC 4.0 • JSR-269 : Pluggable Annotation-Processing API
  • 33. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.33 Language Core Libraries Virtual machine Security Platform Internationalisation
  • 34. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.34 本日のアジェンダ はじめに Java SE の現在と将来 Java EE の現在と将来 さいごに
  • 35. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.35 Servers Desktop Embedded TV Mobile Card Java Card Java EE Java TV BD-J JavaFX MSA Java Language Java SE Java ME Key APIs Platform Language Java Platform
  • 36. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.36 1998年5 月 エンタープライズ アプリケーション 1999年12月 10 specs 堅牢 スケーラブル 2001年9月 13 specs Web サービス 2003年11月 20 specs Project JPE J2EE 1.3 CMP, Connector Architecture J2EE 1.4 Web Services Mgmt, Deployment, Async Connector J2EE 1.2 Servlet, JSP, EJB, JMS RMI/IIOP Java EE の歴史
  • 37. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.37 独自フレームワークの組み合わせ (今まで) 運用・保守性の低下 JSP Servlet EL + Struts spring HIBERNATE AXIS OpenEJB Jersey Webコンテナ (Tomcat等)
  • 38. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.38
  • 39. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.39 Struts 1.x : 1.3 % Struts 2.x : 1.3 % Results of Eclipse Community Survey 2012 http://www.eclipse.org/org/press-release/20120608_eclipsesurvey2012.php Struts 1 は 2013 年 4 月 製品ライフサイクル終了 フレームワーク活用のトレンド:世界
  • 40. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.40 以前と状況は 変わっている
  • 41. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.41 Rod は会社を去り 今はプロプラ技術
  • 42. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.42 Paul Maritz 曰く(EMC World) 30歳以下はJavaを使わない Rubyをはじめとする新たな開発 フレームワークとの親和性を高め、 新世代のプログラマもターゲット
  • 43. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.43 Pivotal 社の将来的な業績予測 も必要
  • 44. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.44 OSS だから安心
  • 45. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.45 OSS で安心できる場合 各OSS ライセンスに従い ソースコード・レベルで治す人、治せる人 OSS をベースとした製品の サポート契約を締結されている場合
  • 46. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.46 独自フレームワーク利用時のリスク セキュリティの脆弱性の対処 ライブラリ間の相性問題 バージョン・アップ
  • 47. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.47 メンテナンス・コストの増大 納品物の構成 Struts 提供サービス struts.apache.org/ www.springsource.org/ www.hibernate.org/ 実行環境 OSS はソースコードが公開 メンテナンスは利用者の負担が必要 Spring Hibernate
  • 48. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.48 納品後に発注者のコスト負担が大 ●フレームワーク毎に脆弱性情報の随時 チェックが必要 ●1つに脆弱性が発生した場合、他との 互換性は誰が保証するか不明 ●フレームワーク互換性に対するテスト工数 ●セキュリティ専任技術者の確保が必要 実行環境が Tomcat ならば、さらに負担が大 Struts 提供サービス Spring Hibernate
  • 49. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.49 2013 年 7 月 18 日
  • 50. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.50 WebLogic/GlassFish に標準で含まれる技術を利用 Java EE で発注者の負担が大幅軽減 ●Java EE 準拠サーバより脆弱性情報・ パッチ提供が通知 ●各技術間の互換性は、膨大なテストを 実施後正式リリース ●上記より無駄なテスト工数を排除 ●サーバ管理者による管理が可能 Java EE (オール・イン・ワン) 提供サービス
  • 51. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.51 標準技術採用のメリット • 長期的に安心して利用可能 – 特定開発者の趣味趣向の変化に左右されない – 開発業者の業績低下に伴うプロジェクト廃止のリスク – バージョン変更時の差分学習 • フレームワーク・ロックインの排除 – 特定 SI 業者作成のフレームワーク利用により他のより低価格の SI 業者に発注が困難 – 業者間の競争低下に伴い、発注費用の比較検討が困難 – 業界のトレンドから乗り遅れ
  • 52. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.52 独自技術利用の欠点・リスク • ランニング・コスト、メンテナンスコストの増大 – セキュリティの脆弱性にプロアクティブに対処が必要 – バージョン・アップ時の相性問題の発生 – テストが十分されていないパッケージの利用 • 開発、本番環境の構築が困難 – 異なる OSS フレームワークの利用により環境統一が困難 – 環境構築に要する費用増大 – 問題発生時、システムの増大時に柔軟な対応が困難
  • 53. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.53 Java: 世界中の広範囲な適用 9,000,000 JAVA DEVELOPERS DEPLOYING TO 18 COMPLIANT APPLICATION SERVERS
  • 54. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.54 Java EE 7 プラットフォーム 2013年6月12日
  • 55. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.55
  • 56. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.56 GlassFish v4 NetBeans Java EE SDK
  • 57. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.57 Java EE 7 のどの機能に興味がありますか? ブログのアンケート結果より テクノロジー WebSocket バッチ JAX-RS JSON-P 並列処理
  • 58. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.58 Java EE 7 主要テーマ DEVELOPER PRODUCTIVITY MEETING ENTERPRISE DEMANDS Java EE 7
  • 59. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.59 HTML 5 対応
  • 60. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.60 HTML 5 対応 従来型 アプリ View Model HTTP/JS View Service アプリ HTTP/JS JSON View Model 次世代 型
  • 61. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.61 アプリ View Model HTTP/JS JavaServer Faces 2.2 従来型の開発
  • 62. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.62 View Service アプリ HTTP/JS JSON View Model WebSocket 1.0 JSON 1.0 JAX-RS 2.0 次世代型の開発
  • 63. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.63 開発生産性の向上 DEVELOPER PRODUCTIVITY Java EE 7
  • 64. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.64 開発生産性の向上 Java SE 7 対応 try-with-resource への対応 冗長的なコード排除 冗長的なインスタンス生成の抑制 完全整理されたプラットフォーム 頻繁に利用される JAX-RS の Web Profile 対 応 Java EE 7 JMSContext Connection Session
  • 65. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.65 エンタープライズ・ニーズ対応 MEETING ENTERPRISE DEMANDS
  • 66. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.66 エンタープライズ・ニーズへの対応 Java EE 環境における並列処理実装方法 の提供 バッチ・アプリケーションに対する標準化 ニーズへの対応 JMS における開発生産性の向上
  • 67. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.67
  • 68. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.68
  • 69. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.69 Java EE 利用者の声 三菱UFJインフォメーション テクノロジー ITプロデュー ス部 斉藤賢哉氏 ロックインが懸念される ベンダー固有の技術ではなく、 オープンな仕様であり、 長く安心して取り組める技術
  • 70. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.70 Java EE 6に移行することで、構築 したアプリケーションのライフサイ クルを延長でき、技術トレンドに 沿った機能を容易に導入できるよう になる。また、サードパーティ製ラ イブラリへの依存を減らすことで、 管理性や安定性が向上し、コードの 修正が容易な環境を実現できるだろ う Java EE 利用者の声 楽天株式会社 岩崎浩文氏
  • 71. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.71 アリエルネットワーク株式会社 CTO 井上 誠一郎氏 Java EE 利用者の声 Java EEが使える標準技術に なったことで、Java EEの選択 が長期開発におけるリスクを 大きく軽減できると期待して います。
  • 72. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.72 Java EE 利用者の声 NTTデータビジネスブレイ ンズ ビジネスソリューショ ン事業部伊賀敏樹氏 これまでのJava EEに対する印 象を、一度リセットする必要 があると感じた。特にJSFは今 では大好きな技術の1つ。小規 模な案件でJava EE 6と Faceletsの組み合わせを採用す るケースも出てきている
  • 73. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.73 長期的に安心して使える Java & Java EE • 世界標準技術 • 開発者の意見を反映した世界標準技術 • ガラパゴスな日本独自技術の排除 • 高い後方互換性 • 過去作成した資産を長く利用可能 • 新しくなった実行環境でも動作可能 • プラットフォーム非依存 • 一度書いたプログラムが異なる環境で動作 • 特定の OS 環境に非依存 • ハイ・スケーラビリティの実行環境 • ハイ・パフォーマンス • 便利な運用・監視ツール
  • 74. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.74 is Back
  • 75. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.75 本日のアジェンダ はじめに Java SE の現在と将来 Java EE の現在と将来 さいごに
  • 76. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.76 Java Developer Newsletter http://tinyurl.com/jdn-reg
  • 77. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.77
  • 78. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.78