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.

20161111 java one2016-feedback

434 views

Published on

JavaOne 2016 feedback for Developers Festa Sapporo, 11th Nov, 2016.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

20161111 java one2016-feedback

  1. 1. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | JavaOne San Francisco 2016 フィードバック 2016年11月11日 日本オラクル株式会社 クラウド・テクノロジー事業統括 Fusion Middleware事業本部 伊藤 敬
  2. 2. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle. 3
  3. 3. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | JavaOne San Francisco 2016 – 18th to 22th Sep.
  4. 4. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 5
  5. 5. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | JavaOne San Francisco 2016 – 18th to 22th Sep. • 主要なキーノートスピーカー 6
  6. 6. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | ファクトリー・オートメーションにおける Java活用事例: マツダ株式会社 ITソリューション本部 主幹 吉岡 正博 様 7 Java標準仕様 / Java EEのロードマップ 発表へのエンドースメント(登場順): 富士通株式会社 様 株式会社日立製作所 様 日本電気株式会社 様 Javaによるレガシーマイグレーション 事例紹介とJava EEロードマップ発表 へのエンドースメント: 損害保険ジャパン日本興亜株式会社 取締役常務執行役員 浦川 伸一 様 JavaOne 2016 Keynote – 過去最多の日本からの登壇者
  7. 7. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Keynote Speakers – Community Keynote 8
  8. 8. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 9 HeapStats: 2016 Duke’s Choice Award 受賞!! https://www.flickr.com/photos/skrb/29799433494/in/album-72157671770671603/
  9. 9. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal/Restricted/Highly Restricted 10
  10. 10. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Java SE Update Georges Saab Vice President Java Platform Development @gsaab
  11. 11. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Coming Soon 12 +
  12. 12. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Java EE (with some slides from breakout sessions) Anil Gaur Group Vice President Java EE and Application Servers Development @anilgaur
  13. 13. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Java EE – オンプレとクラウドの両方で活用 11/15/2016 Confidential – Oracle Internal/Restricted/Highly Restricted 14 クラウド オンプレミス WebSphere WebLogic Red Hat JBoss 14Copyright © 2016, Oracle and/or its affiliates. All rights reserved. 多彩な 選択肢
  14. 14. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Java EEのAPI群 – 市場のリードするオープンソースプロジェクトの主要な要素 15 Java EE Containers Microservices Web Containers Web Frameworks PaaSREST
  15. 15. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Java EE – What’s Next? 16 クラウドとマイクロサービスのための 新しいアプリケーション開発のスタイル
  16. 16. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 17 コミュニティからの要望に基づいて構成 Java EE 8 - Java EE 8コミュニティ・サーベイ 2014 JSONB 14% Security Simplificaton 11% JCache 9% Security Interceptors 8% MVC 8% Config JSR 8% Mgt/Monitor ing API 7% Embedded 7% SSE 7% Cloud 7% Logging 6% EJB Timer 4% Pruning 4%
  17. 17. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Java EE 8 • Java EE 8 Platform and Web Profile • Contexts and Dependency Injection 2.0 (CDI) • Java API for JSON Binding 1.0 (JSON-B) • Java Message Service 2.1 (JMS) • Java Servlet 4.0 • Java API for RESTful Web Services 2.1 (JAX-RS) • Model-View-Controller 1.0 (MVC) • JavaServer Faces 2.3 (JSF) • Java EE Management API 2.0 • Java API for JSON Processing 1.1 (JSON-P) • Java EE Security API 1.0 • Bean Validation 2.0 JSRs 18
  18. 18. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 19 開発者が直面している新たなチャレンジ • 過度なビジネス要件が増加 • アジリティとフレキシビリティを求めて クラウドへ移行 • 物理的なインフラから仮想環境へ移行 • マイクロサービスかモノリシックか • アプリケーションとランタイムを パッケージ化
  19. 19. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | クラウド・アプリケーション開発 異種クライアントの共存 • Mobile, REST, HTML5 スレートレス・サービスの 主流化 • 個別の管理運用とスケール 多彩なデータソース • Relational, non-relational User profile service Order service Partner service Catalog service Notification service Import service HTTP/2 REST JSON XHR Event JAX-RS/JSON Notifications JAX-WS RDBMS NoSQL DB TSDBData Streams Time SeriesEventsKey ValueJDBC 20
  20. 20. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Java Platform, Enterprise Edition への提案仕様 • クラウド、マイクロサービス向けの新し いアプリケーション開発を想定 • 実績あるテクノロジーで構成 • 包括的な構成 – プログラミング・モデル、 パッケージング、ポータビリティ • 標準ベース – 本内容は提案仕様 – JCPプロセスに沿ってコミュニティとともに検 討を進める 21
  21. 21. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | フォーカスする技術エリア 22
  22. 22. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | “Java EE Application as Independent Services” 23 Config EventingPersistence(KV)API Catalog Logging/Teleme try State Persistence (RDBMS) Cloud Platform Services Java EE Service APIsSecurity Data Change Notification Administrator Web Patient Web Physician Web Chat Service Patient Service Physician Service Statistics Service Notification Service Record Service Application Admin (Browser) Patient Users (Browser) Physician Users (Browser) Statistics ServiceStatistics Service HTTP/2 HTTP/2 HTTP/2HTTP/2HTTP/2HTTP/2 Event Event JAX-RS/JSONJAX-RS/JSON JAX-RS/JSON JAX-RS/JSON JAX-RS/JSON
  23. 23. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | ロケーションの透過性と回復性(Resiliency) • Configuration – サービスのパッケージング・実行と属性管理の分割 – 統一化したConfiguration APIの定義 • ステート管理 – ステート管理APIの定義 – NoSQLのサポートとベンダ製品機能 への対応 – CQRS対応 • 回復性(Resiliency) – サーキットブレーカの導入 – ヘルスチェック機能の標準化 24 Reliability, Monitoring Container Management Scheduling & Elastic Scaling Key Value Database Logging Config State Security Notification User profile service Order service Catalog service
  24. 24. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Configuration API 主要機能 25 Configuration API XML JSONprop DBweb Application • 標準API • XMLおよびJSONフォーマットのプロ パティ・ファイル • Configuration外部化 • 複数のCofigurationを利用できる • 階層もしくはグループ化 • Optional configuration schema • Polling and Dynamic Properties
  25. 25. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Read and Write operations performed on the same model 26 Read and Write operations are segregated CRUD vs. CQRS (Command Query Responsibility Segregation) Data StoreRead / Write Model Writes Reads Presentation Layer Data Store Presentation Layer Write Model Read Model Reads Writes Query Command Data Store
  26. 26. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | • リモートのサービス呼び出しにおける障害発生 をコントロールするための一般的な方法 • リモートサービスのコールをモニターすることで システムリソースの浪費を防ぐ – ある決められた回数のエラーが発生したら、 その後は呼び出しを終了してすぐにエラーを返す • エラーをトリガーできるいくつかのHTTP プロパティ – TCP level: connect error, connect timeout, connection timeout, .. – HTTP level: status code, … 27 サーキットブレーカ Closed Open Half Open fail count reached Reset timeout fail success success or fail
  27. 27. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | パッケージングの変更・追加 • パッケージング – Dockerモデルの採用 – アプリケーション、ランタイムをコンテナにパッケージ – サービス・パッケージとコンフィグレーション機能を分離 – スタンドアロン型のイミュータブルな実行バイナリ – Java SE 9ベースの実行モジュールに対応 • マルチテナントへの対応 – リソース活用の効率化 – テナント・ベースのルーティングとデプロイ • Serverlessアーキテクチャの導入 – 新仕様 – インタフェース、パッケージ・フォーマット マニフェスト – Ephemeral instantiation(ごく短命なインスタンスの生成) 28 App Server Order service App Server Catalog service App Server User profile service
  28. 28. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | A Next Generation Application Runtime - Idea 29 Any JVM YourApp.jar Packager Java SE Runtime Key Java EE APIs Your Code Java EE 9
  29. 29. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | アジリティ、スケーラビリティ、セキュリティを組み込む • プログラミング・モデル – リアクティブ・プログラミングを実現 – 統合化イベントモデルと新しいEvent Messaging API – Non Blocking I/O - JAX-RS, HTTP/2, JSON-B, … • Eventual consistency(結果整合性) – 分散されたデータの更新を確実に実行、更新前後のアクセス を的確に処理する仕組みを実装 • Key value/ドキュメント・ストア – Key Valueとドキュメント型DB向けの永続性とクエリーI/Fを組み込む • セキュリティ – 国際標準に準拠した機密管理機能 – OAuth/OpenID のサポート 30 App App App App
  30. 30. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Eventing API for Cloud • Handle very large quantities of messages driven by events, throughput is the dominant concern • No Transaction – different from JMS • Annotation based, easy to use • Use Cases: – Website activity tracking – Metrics, Log data aggregation – Gaming data feed – Etc. • Apache Kafka, Amazon Kinesis 31 Event Messaging System broker brokerbroker producer (frontend) producer (services) producer (adapters) producer (other) consumer (frontend) consumer (services) consumer (adapter) consumer (other)
  31. 31. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Event API Proposal for Java EE 9 • A Simple Event API – Producer and Consumer as top level injectable resources, for example @Inject EventPublisher(“mytopic”) publisher; @Inject EventConsumer(“mytopic”) consumer – declarative message listeners - any POJO as event listener, for example @EventListener(“mytopic”) public void onMyEvent(MyEvent event) { //do something } • Able to plugin different cloud messaging systems in Java EE for eventing 32
  32. 32. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Recent Java EE 7 compatibility updates: Congratulations!テクノロジーのフォーカスエリア:サマリー  リアクティブ・プログラミン グの導入  Unified event model  Event messaging API  JAX-RS, HTTP/2, Lambda, JSON-B, ... Programming Model  外部化されたState管 理へストアするAPI State  データストラクチャの変更 時に自動的にイベントを発 生させる Eventual Consistency  クライアント側のサー キットブレーカのサ ポート  回復用コマンド  クライアント側のヘル ス・レポートのフォー マットを標準化 Resiliency  新仕様 – インタフェース、 パッケージングフォーマッ ト、マニフェスト  ごく短命なインスタンス Serverless  機密管理  OAuth  OpenID Security アプリケーションとランタ イムをサービスとしてパッ ケージ  スタンドアロン型のイ ミュータブル実行バイナリ  多様な形態のアーカイブ Packaging  集約性の向上  テナントベースのルー ティングとデプロイ Multitenancy  コンフィグレーションを 外だしにする  コンフィグレーションへ アクセスする統一化 API Configuration  key valueとDocument DB のための永続性とクエリ・ インタフェース Key Value/Doc Store 33
  33. 33. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 提案プラットフォームアーキテクチャ (~Java EE 9) Java EE Packaging, Serverless, Multitenancy OS / Hypervisor Container Runtime Java SE Runtime Java EE Runtime Load Balancer API Gateway HTTP/2 JSON Binding Event API REST API Security API State API Config API Eventual Consistency Resiliency Key Value Store API 34 NoSQL RDBMS Logging Config State Security Notification Reliability,Monitoring ManagementandOrchestration SchedulingandElasticScaling Service Discovery
  34. 34. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 35 Java EE 7 Connector JAXBJSP Debugging Managed BeansJSPConcurrency EE Interceptors JAX-WS WebSocket Bean Validation JASPIC ServletJMS JTADeployment Batch JACCDependency Injection JAXR JSTL Management CDI EJB JAX-RPC Web ServicesJSF JPA JSON-PCommon Annotations EL JAX-RS Web Services MetadataJavaMail
  35. 35. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 変更提案の根拠、理由 36 新たに追加を提案する機能 • クラウドアプリは多くのリモートREST コールを行う。そのため、JAX-RSにク ライアント側のサーキットブレーカ機 能を追加する必要がある • 情報の機密性などの情報セキュリ ティ機能は国際標準に準拠する • 現在のクラウド環境ではOauthおよ びOpenIDへの対応 は必須である • アプリの実行環境を変更できるよう に 外部化されたコンフィグレーション 管理の仕組みが必要である • 複合的なアプリの高集約化を実現す るためにマルチテナントを実装する • Javaアプリケーションにヘルスチェッ ク機能を持たせる 取り下げを提案する機能 • クラウドにおいて、JMSはこれ以上の 機能強化を必要としていない(JMS 2.0 を標準としてとどめておくことを提案す る) • クラウドアプリは技術の変化・進化が 早く、かつシンプルな構成を持つこと も多いため、 MVC は多くの場合適切 ではない • 現状の Management JSR は一般的に 利用されていない
  36. 36. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 修整版 Java EE 8 プロポーザル 37 No Change to Plan Propose to Drop Propose to Add  JSON <-> object mapping JSON-B 1.0 (JSR 367)  Flexible JMS MDBs  Improved XA support JMS 2.1 (JSR 368)  HTTP/2 support Servlet 4.0 (JSR 369)  Reactive enhancements  Server-sent events  Non-blocking I/O  Client-side circuit breakers JAX-RS 2.1 (JSR 370)  Action-based MVC framework MVC 1.0 (JSR 371)  Small-scale new features  Community-driven improvements JSF 2.3 (JSR 372)  REST-based APIs Management 2.0 (JSR 373)  JSON Pointer and Patch  Java Lambda support JSON-P 1.1 (JSR 374)  Authentication/authorization APIs  OAuth, OpenID support  Secret management Security 1.0 (JSR 375)  Standard for externalizing application configuration Configuration  Standard for client-side health reporting Health Checking  Bootstrap API for Java SE  Async events  Observer ordering CDI 2.0 (JSR 365)  Collection constraints  Date/Time support  Community-requested features Bean Validation 2.0 (JSR 380)
  37. 37. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 38 Java EE 8 (Revised Proposal, 2016) Connector JAXBJSP Debugging Managed BeansJSPConcurrency EE Interceptors JAX-WS WebSocket Bean Validation JASPIC ServletJMS JTADeployment Batch JACCDependency Injection JAXR JSTL Management CDI EJB JAX-RPC Web ServicesJSF JPA Common Annotations EL JAX-RS Web Services MetadataJavaMail CDI JSON-B Security Bean Validation JSF JAX-RS JSON-P Servlet Health CheckConfiguration JSP
  38. 38. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 39 Java EE Communityとの協力 • サーベイからフィードバック • Java EE Next JSRsの策定 2016 Java EE 8 • Specs, RI, TCK の提供 • マイクロサービス・サポート (イニシャル) • Java EE 9 策定 • Java EE 9インプリメンテーション の Early Access版提供 Java EE 9 • Specs, RI, TCK の提供 • モジュラー Java EEランタイム • マイクロサービス・サポート (エンハンスド) Java EE Roadmap 2017 2018
  39. 39. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Next Steps • Send technical comments to – users@javaee-spec.java.net • Join the JCP – https://jcp.org/en/participation/membership_drive • Join or track the JSRs as they progress – https://java.net/projects/javaee-spec/pages/Specifications • Adopt-a-JSR – https://community.oracle.com/community/java/jcp/adopt-a-jsr Give us your feedback 40
  40. 40. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 41 オラクルの新しい技術ポータル:Oracle Developer Gateway https://developer.oracle.com/index.html
  41. 41. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 42

×