Java Update 2013

2,014 views
1,918 views

Published on

Published in: Technology
0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,014
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
34
Comments
0
Likes
5
Embeds 0
No embeds

No notes for slide

Java Update 2013

  1. 1. Yoshio TeradaJava Evangelisthttp://yoshio3.com,Twitter : @yoshioterada 1 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  2. 2. 以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するもの です。また、情報提供を唯一の目的とするものであり、いかなる契約にも 組み込むことはできません。以下の事項は、マテリアルやコード、機能を 提供することをコミットメント(確約)するものではないため、購買決定 を行う際の判断材料になさらないで下さい。オラクル製品に関して記載さ れている機能の開発、リリースおよび時期については、弊社の裁量により 決定されます。 Oracleは、米国オラクルコーポレーション及びその子会社、関連会社の米国及びその他の国における登録商 標です。文中の社名、商品名等は各社の商標または登録商標である場合があります。2 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  3. 3. 本日のアジェンダ はじめに Java SE の現在と将来 Java EE の現在と将来 さいごに3 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  4. 4. 本日のアジェンダ はじめに Java SE の現在と将来 Java EE の現在と将来 さいごに4 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  5. 5. ところで このキャラクタを ご存知でしょうか?5 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  6. 6. Java のマスコットキャラ Duke6 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  7. 7. Duke ぜひ覚えて帰ってください !!7 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  8. 8. 17 8 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  9. 9. 世の中に衝撃を与えた9 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  10. 10. Java を作った2人の天才 Write Onece Run Anywhere James Gosling Bill Joy 10 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  11. 11. Java の構成要素 ライブラリ 言語仕様 Java VM11 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  12. 12. Servers Desktop Embedded TV Mobile Card BD-J Key APIs Java EE JavaFX Java TV MSA Platform   Java SE Java ME Java Card Language Java Language Java Platform12 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  13. 13. Java リリースの歴史 J2SE 1.4 Java SE 6 J2SE1.2 JDK1.0 2006 2004 2002 2000 1998 19971996 Java SE 5 J2SE 1.3 JDK1.113 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  14. 14. Oracle 統合後の Java "Java is the single most important software asset we have ever acquired." 「Java は私たちが今までに取得した中で 最も重要なソフトウェア 資産です。」 – Larry Ellison14 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  15. 15. Java リリースの歴史 Java SE 7 ・・・ ・・・ ・・・・・・ ・・・・・・ 2013 201115 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  16. 16. JJUG 会長:鈴木雄介氏§ IOUC に参加してJavaの進化がようやく安定して、これからの道のりが楽しみであること。そしてSUNの頃とは違う形ORACLEと良好な関係が築けていることです。 そんなわけで「ORACLEはJavaにコミットしているのか?」という質問 が無意味なぐらい、ORACLEはJava技術だけではなく、Javaユーザーの 方を向いているのです。 http://arclamp.hatenablog.com/entry/2013/01/21/11085716 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  17. 17. 2013年 Java にとって 重要な年17 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  18. 18. 本日のアジェンダ はじめに Java SE の現在と将来 Java EE の現在と将来 さいごに18 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  19. 19. Servers Desktop Embedded TV Mobile Card BD-J Key APIs Java EE JavaFX Java TV MSA Platform   Java SE Java ME Java Card Language Java Language Java Platform19 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  20. 20. Java: パフォーマンスの向上 (JDK1.2 – Java SE 6) Server benchmark: Volano 2.5.0.9 900 Normalized   to   J 2S E   1.2.2   P erformance 800 700 600 500 400 300 200 100 0 J2SE 1.2.2 J2SE 1.3.1_16 J2SE 1.4.2_11 J2SE 5.0_06 Java SE 6.0Sun JVMs are 32-bitSun Fire V490: Solaris 9 / SPARCVolano Website: http://www.volano.comSource: Java Performance Engineering 20 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  21. 21. デモ21 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  22. 22. 2011年7月28日 Java SE 7 正式リリース22 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  23. 23. 7 Project Coin (JSR 334) NIO.2 (JSR 203) Fork/Join Framework InvokeDynamic (JSR 292) •  クラスローダの拡張 •  SDP & SCTP •  国際化の拡張 •  セキュリティの拡張 •  Unicode 6.0 •  TLS 1.2 •  IETF BCP47, UTR 35 •  ECC •  ISO 4217 通貨コード •  Swing JLayer •  Locale の拡張 •  XRender Pipeline for Java 2D •  URLClassLoader のクローズ •  JDBC 4.123 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  24. 24. プロジェクトCoin 7 § 言語仕様に関する小さな変更24 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  25. 25. switch 文で文字列 2進数表記 数値表記中の区切り文字 例外のマルチキャッチ 例外の安全な再スロー ジェネリクスの省略表記 リソースの自動クローズ 安全な可変長引数メソッド25 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  26. 26. JSR 203: NIO.2More New I/O APIs for theJava™ Platform26 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  27. 27. ファイル操作のパフォーマンス大幅向上27 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  28. 28. Java SE 7 へ移行するメリットパフォーマンスの向上 開発生産性・容易性の向上ファイル操作の簡易化 冗長的な実装コードの削減28 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  29. 29. 2013年 秋 Java SE 8 正式リリース予定29 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  30. 30. JSR- 337 : Java SE 830 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  31. 31. JavaScript エンジン (Nashorn) JavaScript31 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  32. 32. JavaScript エンジン (Nashorn) ライブラリ その他の 言語 Java VM32 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  33. 33. Java 実行環境の統合33 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  34. 34. 新リッチクライアント開発技術34 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  35. 35. 35 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  36. 36. We’re also going to open source Our iOS and Android36 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. implementations
  37. 37. Project Lambda37 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  38. 38. ハードウェアのトレンド38 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Image Herb Sutter
  39. 39. マルチコア時代39 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  40. 40. マルチコア時代 携帯電話 ... タブレット ... デスクトップ 2 ... 4 ..... 8 ..... 2002 2004 2006 2008 2010 201240 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  41. 41. ここで登場 Lambda41 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  42. 42. 同一学年の最優秀点数の取得 Collection<Student> students = ...; max = students.filter((Student s) -> s.gradYear == 2011) .map((Student s) -> s.score) .reduce(0.0, (Double max, Double score) -> Math.max(max, score)); max = students.filter(s -> s.gradYear == 2011) .map(s -> s.score) .reduce(0.0, Math#max);   シーケンシャル処理 max = students.parallel() .filter(s -> s.gradYear == 2011) .map(s -> s.score) .reduce(0.0, Math#max);       パラレル処理42 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  43. 43. Lambda(JSR-335) Date/Time API(JSR-310) Compact Profiles Java SE 8 Nashorn Type Annotations(JSR-308)43 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  44. 44. Unified Type System OpenJFX Self Tuning JVMJava SE 9 … and Beyond! Easy of Use Jigsaw Reification44 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  45. 45. 本日のアジェンダ はじめに Java SE の現在と将来 Java EE の現在と将来 さいごに45 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  46. 46. Servers Desktop Embedded TV Mobile Card BD-J Key APIs Java EE JavaFX Java TV MSA Platform   Java SE Java ME Java Card Language Java Language Java Platform46 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  47. 47. 2009年 12 月 Java EE 6 正式リリース47 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  48. 48. Java EE の適用状況 Cameron Purdy48 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  49. 49. Java EE 6 対応の 実行環境 Cameron Purdy49 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  50. 50. 独自フレームワークの組み合わせ Struts OpenEJB Webコンテナ spring + HIBERNATE JavaServer PagesJava Servlet Jersey Expression Language AXIS 50 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  51. 51. 独自フレームワーク利用時のリスク セキュリティの脆弱性の対処 ライブラリ間の相性問題 バージョン・アップ クラス・パッケージ名の衝突51 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  52. 52. 独自技術から標準技術への移行 画面デザイン 依存性注入 DB連携 O/Rマップ DB ・ ビジネス ロジック 利用者 HIBER 独自技術の Struts spring 組み合わせ NATE DI/CDI/ Java EE 標準 JSF EJB JPA 52 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  53. 53. エンタープライズは 標準技術への回帰 がはじまった53 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  54. 54. フレームワーク活用のトレンド:世界 Struts 1.x : 1.3 % Struts 2.x : 1.3 % Struts 1 は 2008 年 10 月が 最終リリース Results of Eclipse Community Survey 2012http://www.eclipse.org/org/press-release/20120608_eclipsesurvey2012.php54 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  55. 55. フレームワーク活用のトレンド : 日本 Java EE : 24% Spring : 23% その他 : 20%日本オラクルイベントのアンケート結果調べ (回答数 95)55 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  56. 56. 開発者ニーズを満たすJava EE 6 • オールインワン • 軽量 Java EE WebProfile版がサポートする仕様 Servlet 3.0 JPA 2.0 Java EE 準拠 JSP 2.2/EL JSTL Java EE 6 JTA 1.1 DI 1.0/CDI 1.0 アプリケーション JSF 2.0 全機能 Managed Bean 1.0 サーバ Bean Validation 1.0 Interceptors 1.1 EJB 3.1 Lite Common Annotations 56 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  57. 57. コンポーネントベース開発も可能§  ドラッグ&ドロップで開発57 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  58. 58. Java EE 6による開発生産性の向上 Java クラス数* コード⾏行行数* XML⾏行行数* 25% 50% 80% 削減 削減 削減 §  Java EE 6, Java SE 7 準拠による開発生産性の向上 –  必要Java クラス、コード/XML行数を削減し開発速度を向上 §  最新のプログラミング技術の導入 –  依存性注入(DI)、アノテーション、POJO, RESTなど最新の開発技術を標準化し提供 §  メジャーな開発ツールによるサポート –  Eclipse, JDeveloper, NetBeans58 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. •  POJO/JPA/REST ベースのサンプルアプリでの試算
  59. 59. デモ59 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  60. 60. 2013年 春 Java EE 7 正式リリース予定60 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  61. 61. Java EE 7 : 2013年 春頃 提供開始予定 Java EE 7 SDK の提供開始61 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  62. 62. Java EE 7 シンプル化と HTML 5対応62 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  63. 63. Java EE 7 へ含まれる予定の JSR 一覧 JAX-RS EL Concurrency JSP 2.2 JSF 2.2 Portable 2.0 3.0 Utilities for EE Extensions Servlet 3.1 Batch Bean Validation 1.1 Application (JSR-352) Common Interceptors 1.1 CDI 1.1 Annotations 1.1 Java API for JSON Managed Bean 1.0 EJB 3.2 (JSR-353) Java API for Connector WebSocket JPA 2.1 JTA 1.2 JMS 2.0 1.6 (JSR-356) 新規追加 大幅な更新 通常の更新63 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  64. 64. Java EE 7 の注目技術64 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  65. 65. JSR 356:JavaTM API for WebSocket65 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  66. 66. 飛行機の事前座席指定66 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  67. 67. オークション67 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  68. 68. 最新情報・更新情報を 取得するために 今どうしていますか?68 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  69. 69. オークション・サイトで更新情報を取得する場合 接続 価格(空席)の 最新情報をください 価格(空席) 情報をください データベース サービス69 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  70. 70. オークション・サイトで更新情報を取得する場合 <HTML> ヘッダー ボタン1の画像 ボタン2の画像 A の価格 余分な広告 2000円 データベース 他へのリンク サービス 製品情報:製品A 製品価格:2000円 製品詳細:これは フッダー 切断 </HTML> 70 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  71. 71. 再度・更新情報を取得する場合 接続 価格の 最新情報をください 価格情報を ください データベース サービス71 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  72. 72. 再度・更新情報を取得する場合 <HTML> ヘッダー ボタン1の画像 ボタン2の画像 A の価格 余分な広告 4000円 データベース 他へのリンク サービス 製品情報:製品A 製品価格:4000円 製品詳細:これは フッダー 切断 </HTML> 72 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  73. 73. 1人あたり3回のアクセスで多数の接続・切断接続切断 ….. 製品価格:4000円接続 …..切断接続 ….. 製品価格:4000円切断 ….. データベース サービス接続切断 ….. 製品価格:4000円接続 …..切断接続 …..切断 製品価格:4000円 …..73 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  74. 74. システム全体に高負荷74 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  75. 75. 本当に必要な情報は? <HTML> ヘッダー ボタン1の画像 ボタン2の画像 余分な広告 他へのリンク 製品情報:製品A 4000 円 製品価格:4000円 製品詳細:これは… フッダー これだけ </HTML> 75 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  76. 76. ネットワーク帯域も無駄76 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  77. 77. WebSocket の背景 ‒ Server Push Polling Long Polling 複雑・非効率・無駄Comet/Ajax77 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  78. 78. WebSocket を使えばどうなる? 接続 接続 2000円 3000円 3000円 データベース サービス 4000円 5000円 6000円 監視プログラムは 6000円 1つのみ 切断78 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  79. 79. 1人辺り接続・切断処理は1度接続切断 受信 送信 受信接続切断 送信 データベース 受信 サービス 受信接続切断 受信 受信 送信 監視プログラムは接続 受信 送信 1つのみ切断 受信 79 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  80. 80. 接続・切断数の減少 不要なデータ配信の排除が可能80 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  81. 81. WebSocket とは TCP ベース 双方向・全二重通信 RFC 6455 JavaScript API by W3C81 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  82. 82. ブラウザの対応状況http://caniuse.com/websockets現バージョンの対応状況82 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  83. 83. WebSocket の基本概念 コネクションの確立双方向のメッセージ送信 コネクションの切断83 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  84. 84. コネクションの確立 HandShake リクエスト HandShake レスポンスクライアント サーバ84 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  85. 85. HandShake リクエスト (RFC 6455で定義) GET /mychat HTTP/1.1! Host: server.example.com! Upgrade: websocket! Connection: Upgrade! Sec-WebSocket-Key: x3JJHMbDL1EzLkh9GBhXDw==! Sec-WebSocket-Protocol: megachat, chat! Sec-WebSocket-Extensions : compress, mux! Sec-WebSocket-Version: 13!クライアント Origin: http://example.com サーバ85 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  86. 86. HandShake レスポンス (RFC 6455で定義) HTTP/1.1 101 Switching Protocols! Upgrade: websocket! Connection: Upgrade! Sec-WebSocket-Accept: HSmrc0sMlYUkAGmm5OPpG2HaGWk=! Sec-WebSocket-Protocol: chat! Sec-WebSocket-Extensions: compress, mux クライアント サーバ86 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  87. 87. コネクションの確立クライアント サーバ87 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  88. 88. WebSocket のライフサイクル 接続確立 Open Open Message Message Message Message Message Message Error Close 接続切断クライアント サーバ88 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  89. 89. WebSocket APIwww.w3.org/TR/websockets/89 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  90. 90. Java API for WebSocket (JSR-356)仕様 http://jcp.org/en/jsr/detail?id=356 http://java.net/projects/websocket-spec ステータス: Early Draft90 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  91. 91. 参照実装http://java.net/projects/tyrus最新の GlassFish v4開発ビルドにバンドル済91 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  92. 92. Java のWebSocket 標準実装はとてもかんたん92 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  93. 93. WebSocket アノテーション アノテーション レベル 内容@ServerEndpoint クラス サーバ側のエンドポイントを示す@ClientEndpoint クラス クライアント側のエンドポイントを示す@OnOpen メソッド 接続確立時に呼び出すメソッドを指定@OnClose メソッド 接続切断時に呼び出すメソッドを指定@OnMessage メソッド メッセージを受信した時に呼び出すメソッドを 指定@PathParam メソッド エンドポイントのURI 引数に指定されたパラ パラメータ メータを取得する際に仕様@OnError メソッド エラー発生時に呼び出すメソッドを指定 93 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  94. 94. デモ94 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  95. 95. サンプル・アプリケーションの構成 (多対1) RE Session Twitter4J Session RE 監視 Session Twitter RE WebSocket Endpoint Remote Endpoint95 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  96. 96. リアルタイム情報配信のユースケースに最適96 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  97. 97. 本日のアジェンダ はじめに Java SE の現在と将来 Java EE の現在と将来 さいごに97 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  98. 98. Oracle からの アナウンス98 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  99. 99. Java Developer Newsletter http://tinyurl.com/jdn-reg99 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  100. 100. 日程:2013 年 5 月14 日 場所:東京近郊(秋葉原?!)100 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  101. 101. 101 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  102. 102. 102 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  103. 103. 103 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

×