Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Java 2013 Update

829 views

Published on

Published in: Technology
  • Be the first to comment

Java 2013 Update

  1. 1. 今後 10 年 IoT 時代に 進化し続ける Java Yoshio Terada Java Evangelist http://yoshio3.com , Twitter: @yoshioterada 1 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  2. 2. Java の歴史 Java SE 6 J2SE 1.4 J2SE1.2 JDK1.0 2006 2000 2002 2004 1998 1996 1997 Java SE 5 J2SE 1.3 JDK1.1 2 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  3. 3. Oracle 統合後の Java "Java is the single most important software asset we have ever acquired." 「Java は私たちが今までに取得した中で 最も重要なソフトウェア 資産です。」 – Larry Ellison 3 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  4. 4. Java の歴史 Java SE 7 2013 2011 4 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  5. 5. Java: パフォーマンスの向上 JDK1.2 – Java SE 6 Normalized to J2SE 1.2.2 Performance Server benchmark: Volano 2.5.0.9 900 800 700 600 500 400 300 200 100 0 J2SE 1.2.2 Sun JVMs are 32-bit Sun Fire V490: Solaris 9 / SPARC Volano Website: http://www.volano.com Source: Java Performance Engineering 5 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. J2SE 1.3.1_16 J2SE 1.4.2_11 J2SE 5.0_06 Java SE 6.0
  6. 6. 6 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  7. 7. 今後も 進化する Java 7 Copyright Oracle and/or Oracle and/or its 7 Copyright © 2013, © 2013, its affiliates. All rights reserved.affiliates. All rights reserved.
  8. 8. これから先10年 IT業界に起こる変革 8 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  9. 9. 347 新しい投稿 11,000 ロードアクティブユーザ 72 時間分のアップロード 60 秒 2億4千万 メッセージ送信 11,000 人の検索 278,000 ツィート 41,000 検索 104,000 写真共有 2千万 写真閲覧 Source: Go-Gulf.com 9 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  10. 10. 世界の人口 ネットワークに 接続するデバイス数 1人あたりの 接続デバイス数 63 億人 68 億人 72 億人 76 億人 5億 125 億 250 億 500 億 0.08 2003 Source: Cisco 10 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 1x 1.84 2010 3x 3.47 2015 5x 6.58 2020
  11. 11. 11 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  12. 12. 例:スマート・ホーム 12 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  13. 13. 全ての物が繋がる 時代へ !! 13 Copyright Oracle and/or Oracle and/or its 13 Copyright © 2013, © 2013, its affiliates. All rights reserved.affiliates. All rights reserved.
  14. 14. 新たなビジネス・チャンス 14 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  15. 15. Graphic Section Divider 15 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  16. 16. Java ME & Java SE 統合 16 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  17. 17. 現在の Java ME & Java SE Java SE 7 Java SE 7 CDC 1.1 (based on SE 1.4.2) CDC 1.1 CLDC 1.1 CLDC 1.1 (based on SE 1.3) APIの差異 17 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 言語仕様の差異
  18. 18. 来年リリース予定の Java ME & SE Java SE 8 Java ME 8 APIの差異 18 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Java SE 8 Java ME 8 言語仕様の差異
  19. 19. 将来の Java ME & Java SE Java SE Java SE Small Devices APIの差異 19 Small Devices 言語仕様の差異 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  20. 20. Servers Key APIs Platform Desktop Java EE JavaFX Java SE Language Embedded TV Mobile BD-J Java TV MSA Java ME Java Language Java Platform 20 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Card Java Card
  21. 21. 来年 春 Java SE 8 リリース予定 21 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  22. 22. 革新的リリース 22 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  23. 23. JSR- 337 : Java SE 8 23 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  24. 24. Project Lambda 24 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  25. 25. Project Lambda 25 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  26. 26. ExecutorService service = ...; service.submit(new Runnable() { @Override public void run() { // 非同期に処理するタスク doSomething(); } 非同期・並列処理の実装が冗長的 }); 無名クラスの実装が必要 26 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 2012,
  27. 27. Java SE 8 ラムダ式 ExecutorService service = ...; service.submit(() -> doSomething()); 非同期・並列処理の実装をかんたんに 27 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 2012,
  28. 28. Java SE 8 ラムダ式 最高得点の取得 List<Student> students = ...; double highestScore = students.stream() //.parallelStream() .filter(s -> s.getGradYear() == 2011) .mapToDouble(s -> s.getScore()) .max() .getAsDouble(); 28 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 2012,
  29. 29. Project Lambda Lambda 式を導入すべき4つの理由 構文の簡易化 パフォーマンス (InvokeDynamic) 抽象化 (Stream) 並列処理実装の簡易化 (parallelStream) 29 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  30. 30. JavaScript エンジン (Nashorn) JavaScript 30 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  31. 31. JavaScript エンジン (Nashorn) ライブラリ Java VM 31 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  32. 32. Java のロードマップ JDK 9 7u40 7u21 • Java Client Security Enhancements • App Store Packaging tools • • • • • Java Flight Recorder Java Mission Control 5.2 Java Discovery Protocol Native memory tracking Local Security Policy JDK 8 (Q1 2014) • • • • Lambda JVM Convergence JavaScript Interop JavaFX 8 Modularity – Jigsaw Interoperability Cloud Ease of Use Optimizations 2015 2014 2013 • • • • • 2016 Java ME Embedded 3.4 Java ME Embedded 8 Java SE Embedded 8 Java Embedded 9 • Fast follow-on • QSC platform only • Enhanced on-device debugging, monitoring • Java ME CLDC 8 & ME Embedded Profile 8 • “Little sibling” of Java SE 8 • New & enhanced Embedded API • New portable architecture • Small and full profiles • • • • • • • • Java ME and SE 9 • Modularity based on Jigsaw Java ME SDK 8 • Improved developer tooling & experience 32 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Complete JVM convergence New Compact Profiles Significantly smaller base runtime Embedded JRE customization tool Support for ARM, Power PC & x86 Java Flight Recorder/Mission Control Simple migration of ME CDC headless applications
  33. 33. 2013年 6月 Java EE 7 正式リリース 33 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  34. 34. Java EE 7 のテーマ Java EE 7 開発生産性 34 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. HTML5 エンタープライズ ニーズへ対応
  35. 35. Java EE 7 のどの機能に興味がありますか? ブログのアンケート結果より WebSocket テクノロジー バッチ JAX-RS JSON-P 並列処理 35 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  36. 36. WebSockets 次世代の HTML 5 対応アプリケーション 次世代 HTML5 対応のアプリケーションの基盤  WebSockets : 低レイテンシ、レスポンスタイムの改善  JSON : シンプルなデータ・フォーマットで移植性の高いアプリケーション  RESTful : 同期・非同期、スケーラブル、高パフォーマンス 36 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  37. 37. Java EE 7 HTML 5 対応 View HTTP/JS 従来 アプリ Model アプリ View 次世代 Model 37 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. HTTP/JS JSON View Service
  38. 38. 大規模リアルタイム情報配信システム WebSocket Web アプリケーション JMS 情報提供者 LB 情報受信者 メッセージプロバイダ WSサーバエンドポイント Message Driven Bean 38 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 社内システム
  39. 39. Java EE 7 大規模 WebSocket ハンズオン 誰でも手順に従い 簡単にできます。 http://www.slideshare.net/OracleMiddleJP/java-ee7-holjjugccc 39 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  40. 40. 40 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  41. 41. 将来の Java EE 41 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. GET INVOLVED!
  42. 42. Open Sourcing Project Avatar avatar.java.net Download and try now! Get involved! 42 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  43. 43. Project Avatar とは コンセプト Java と JavaScript の融合 サーバ側の実装も JavaScript WebSocket, REST, SSE に対応 43 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  44. 44. JavaScript エンジン (Nashorn) JavaScript 44 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  45. 45. Avatar のアーキテクチャ Avatar アプリ (HTML 5/JS/CSS) HTTP Avatar 実行環境 UI ブラウザ 45 HTML 5 DOM ローカルストレージ Copyright © 2013, Oracle and/or its affiliates. All rights reserved. HTTP・ SSE・ WebSocket HTTP/ WebSocket View アプリ サービス Avatar アプリ (HTML5/JavaScript) Avatar コンパイラ Nashorn (JavaScript エンジン) Java EE サービス Java EE アプリ App サーバ
  46. 46. Avatar のアーキテクチャ Avatar アプリ (HTML 5/JS/CSS) HTTP Avatar 実行環境 HTTP/ WebSocket UI ブラウザ 46 HTML 5 DOM ローカルストレージ Copyright © 2013, Oracle and/or its affiliates. All rights reserved. HTTP/ WebSocket View サービス Avatar アプリ (HTML5/JavaScript) Data ①サービスアプリの作成 Avatar Avatar コンパイラ Nashorn (JavaScript エンジン) Java EE サービス Java EE アプリ App サーバ
  47. 47. Avatar のアーキテクチャ Avatar アプリ (HTML 5/JS/CSS) HTTP Avatar 実行環境 HTTP/ WebSocket UI ブラウザ 47 HTML 5 DOM ローカルストレージ Copyright © 2013, Oracle and/or its affiliates. All rights reserved. HTTP/ WebSocket View アプリ サービス Avatar アプリ (XML/JavaScript) Avatar コンパイラ Nashorn (JavaScript エンジン) ② Viewとサービスを実装 Java EE サービス Java EE アプリ App サーバ
  48. 48. Avatar のアーキテクチャ Avatar アプリ (HTML 5/JS/CSS) HTTP Avatar 実行環境 HTTP/ WebSocket UI ブラウザ 48 HTML 5 DOM ローカルストレージ Copyright © 2013, Oracle and/or its affiliates. All rights reserved. View アプリ サービス Avatar アプリ (XML/JavaScript) Avatar コンパイラ Nashorn (JavaScript エンジン) ③ Viewとサービスを コンパイル Java EE HTTP/ WebSocket サービス Java EE アプリ App サーバ
  49. 49. Avatar アプリケーションのダウンロード Avatar アプリ (HTML 5/JS/CSS) HTTP Avatar 実行環境 ④ View サービスの UI HTML 5 DOM 「複数ページの一括」 ダウンロード (※プラグインは不要) ブラウザ 49 ローカルストレージ Copyright © 2013, Oracle and/or its affiliates. All rights reserved. HTTP/ WebSocket HTTP/ WebSocket View サービス Avatar アプリ (XML/JavaScript) Data サービス Avatar コンパイラ Nashorn (JavaScript エンジン) Java EE サービス Java EE アプリ App サーバ
  50. 50. Avatar サービスの呼び出し Avatar アプリ (HTML 5/JS/CSS) HTTP Avatar 実行環境 HTTP/ WebSocket UI HTML 5 DOM ⑤ WebSocket/Server-Sent Event/ RESTful で Data サービスを利用 ローカルストレー ブラウザ 50 ジ Copyright © 2013, Oracle and/or its affiliates. All rights reserved. HTTP/ WebSocket View サービス Avatar アプリ (XML/JavaScript) アプリ サービス Avatar コンパイラ Nashorn (JavaScript エンジン) Java EE サービス Java EE アプリ App サーバ
  51. 51. Java EE サービスの呼び出し Avatar アプリ (HTML 5/JS/CSS) HTTP Avatar 実行環境 HTTP/ WebSocket UI ブラウザ 51 HTML 5 DOM ローカルストレー ジ Copyright © 2013, Oracle and/or its affiliates. All rights reserved. HTTP/ WebSocket View サービス Avatar アプリ (XML/JavaScript) Data サービス Avatar コンパイラ ⑥ サーバ側はJava EE Nashorn (JavaScript エンジン) のサービスも利用可能 Java EE サービス Java EE アプリ App サーバ
  52. 52. アプリケーション・サーバ側の リソースも利用可能 Avatar アプリ (HTML 5/JS/CSS) HTTP Avatar 実行環境 HTTP/ WebSocket UI ブラウザ 52 View サービス Avatar アプリ (XML/JavaScript) アプリ サービス Avatar コンパイラ Nashorn (JavaScript エンジン) HTML 5 DOM ⑦ JPA, JMS, NoSQL 等サーバリソースも ローカルストレー 利用可能 ジ Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Java EE サービス Java EE アプリ App サーバ
  53. 53. Avatar のアーキテクチャ Avatar アプリ (HTML 5/JS/CSS) HTTP Avatar 実行環境 HTTP/ WebSocket UI HTML 5 DOM ブラウザ ローカルストレー ジ 53 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. View サービス Avatar アプリ (XML/JavaScript) Data サービス Avatar コンパイラ Nashorn (JavaScript エンジン) ⑧ クライアント側は HTML 5, DOM, Java EE ローカルストレージ Java EE アプリ サービス HTTP/ App サーバ WebSocket 等を利用可能
  54. 54. はじめての Project Avatar http://yoshio3.com/2013/10/10/beginning-of-project-avatar/ 手始めにここから はじめてみてください 54 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  55. 55. 今後も 進化する Java 55 Copyright Oracle and/or Oracle and/or its 55 Copyright © 2013, © 2013, its affiliates. All rights reserved.affiliates. All rights reserved.
  56. 56. 最新の Java をお試しください 56 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  57. 57. 今後 10 年 IoT 時代に 進化し続ける Java Yoshio Terada Java Evangelist http://yoshio3.com , Twitter: @yoshioterada 57 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

×