20161119 java one-feedback_osaka

30
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | JavaOne 2016概要とJava EEに関する新提案の件 20161119日本オラクル株式会社 クラウド・テクノロジー事業統括 Fusion Middleware事業本部 伊藤

Upload: takashi-ito

Post on 21-Feb-2017

118 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: 20161119 java one-feedback_osaka

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

JavaOne 2016概要とJava EEに関する新提案の件

2016年11月19日 日本オラクル株式会社 クラウド・テクノロジー事業統括 Fusion Middleware事業本部 伊藤 敬

Page 2: 20161119 java one-feedback_osaka

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.

2

Page 3: 20161119 java one-feedback_osaka

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

JavaOne San Francisco 2016 – 18th to 22th Sep.

Page 4: 20161119 java one-feedback_osaka

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 4

Page 5: 20161119 java one-feedback_osaka

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

JavaOne San Francisco 2016 – 18th to 22th Sep.

•主要なキーノートスピーカー

5

Page 6: 20161119 java one-feedback_osaka

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

ファクトリー・オートメーションにおけるJava活用事例:

マツダ株式会社

ITソリューション本部 主幹

吉岡 正博 様

6

Java標準仕様 / Java EEのロードマップ発表へのエンドースメント(登場順):

富士通株式会社 様

株式会社日立製作所 様

日本電気株式会社 様

Javaによるレガシーマイグレーション事例紹介とJava EEロードマップ発表 へのエンドースメント:

損害保険ジャパン日本興亜株式会社 取締役常務執行役員 浦川 伸一 様

JavaOne 2016 Keynote – 過去最多の日本からの登壇者

Page 7: 20161119 java one-feedback_osaka

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Keynote Speakers – Community Keynote

7

Page 8: 20161119 java one-feedback_osaka

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 8

HeapStats: 2016 Duke’s Choice Award 受賞!!

https://www.flickr.com/photos/skrb/29799433494/in/album-72157671770671603/

Page 9: 20161119 java one-feedback_osaka

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Java SE Update Georges Saab Vice President Java Platform Development

@gsaab

Page 10: 20161119 java one-feedback_osaka

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Java SE Roadmap

JDK 8

• Lambda & Stream API

• New Date and Time API

• Nashorn: JavaScript Interoperability

• JavaFX Enhancements

• Etc..

8u40 • Performance Improvements

• Density and Resource Management

• Multi-Language Support Improvements

• Accessibility Enhancements

• Continued Java SE Advanced Features

JDK 9 • Modularity – Jigsaw

• Jshell (Java Shell)

• HTTP 2.0

• G1GC as default

• JDK 5 source code can not compile

• Continued Java SE Advanced Features

8u20 • G1 Performance Improvement

• JVM Performance Improvements

• Java Mission Control 5.4

• Advanced Management Console 1.0

• MSI Enterprise JRE Installer

8u60 • Bug Fixes

• Continued Java SE Advanced Features

2016 2014 2015 2017

10

Page 11: 20161119 java one-feedback_osaka

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Coming Soon

11

+

Page 12: 20161119 java one-feedback_osaka

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Java EE Anil Gaur Group Vice President Java EE and Application Servers Development

@anilgaur

Page 13: 20161119 java one-feedback_osaka

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Java EE – What’s Next?

13

クラウドとマイクロサービスのための 新しいアプリケーション開発のスタイル

Page 14: 20161119 java one-feedback_osaka

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 TSDB Data Streams

Time Series Events Key Value JDBC

14

Page 15: 20161119 java one-feedback_osaka

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Java Platform, Enterprise Edition への提案仕様

• クラウド、マイクロサービス向けの新しいアプリケーション開発を想定

• 実績あるテクノロジーで構成

• 包括的な構成

– プログラミング・モデル、 パッケージング、ポータビリティ

• 標準ベース

– 本内容は提案仕様

– JCPプロセスに沿ってコミュニティとともに検討を進める

15

Page 16: 20161119 java one-feedback_osaka

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

フォーカスする技術エリア

16

Page 17: 20161119 java one-feedback_osaka

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

17

Page 18: 20161119 java one-feedback_osaka

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

ロケーションの透過性と回復性(Resiliency)

• Configuration

–サービスのパッケージング・実行と属性管理の分割

–統一化したConfiguration APIの定義

• ステート管理

–ステート管理APIの定義

– NoSQLのサポートとベンダ製品機能 への対応

– CQRS対応

• 回復性(Resiliency) –サーキットブレーカの導入 –ヘルスチェック機能の標準化

18

Reliability, Monitoring

Container Management

Scheduling & Elastic Scaling

Key Value

Database

Logging

Config

State

Security

Notification

User profile service

Order service

Catalog service

Page 19: 20161119 java one-feedback_osaka

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

パッケージングの変更・追加 • パッケージング – Dockerモデルの採用

– アプリケーション、ランタイムをコンテナにパッケージ

– サービス・パッケージとコンフィグレーション機能を分離

– スタンドアロン型のイミュータブルな実行バイナリ

– Java SE 9ベースの実行モジュールに対応

• マルチテナントへの対応

– リソース活用の効率化

– テナント・ベースのルーティングとデプロイ

• Serverlessアーキテクチャの導入

– 新仕様 – インタフェース、パッケージ・フォーマット マニフェスト

– Ephemeral instantiation(ごく短命なインスタンスの生成)

19

App

Server

Order service

App

Server

Catalog service

App

Server

User profile service

Page 20: 20161119 java one-feedback_osaka

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

A Next Generation Application Runtime - Idea

20

Any JVM

YourApp.jar Packager

Java SE

Runtime

Key Java EE APIs

Your Code

Java EE 9

Page 21: 20161119 java one-feedback_osaka

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 のサポート

21

App

App

App

App

Page 22: 20161119 java one-feedback_osaka

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

22

Event Messaging System

broker broker broker

producer (frontend)

producer (services)

producer (adapters)

producer (other)

consumer (frontend)

consumer (services)

consumer (adapter)

consumer (other)

Page 23: 20161119 java one-feedback_osaka

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

23

Page 24: 20161119 java one-feedback_osaka

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

24

NoSQL

RDBMS

Logging

Config

State

Security

Notification

Reliab

ility, Mo

nito

ring

Man

agemen

t and

Orch

estratio

n

Sched

ulin

g and

Elastic Scaling

Service Discovery

Page 25: 20161119 java one-feedback_osaka

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 25

Java EE 7

Connector JAXB JSP Debugging

Managed Beans JSP Concurrency EE Interceptors JAX-WS WebSocket

Bean Validation JASPIC Servlet JMS JTA Deployment

Batch JACC Dependency Injection JAXR JSTL Management

CDI EJB JAX-RPC Web Services JSF JPA

JSON-P Common Annotations EL JAX-RS Web Services

Metadata JavaMail

Page 26: 20161119 java one-feedback_osaka

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

変更提案の根拠、理由

26

新たに追加を提案する機能

• クラウドアプリは多くのリモートRESTコールを行う。そのため、JAX-RSにク

ライアント側のサーキットブレーカ機能を追加する必要がある

• 情報の機密性などの情報セキュリティ機能は国際標準に準拠する

• 現在のクラウド環境ではOauthおよびOpenIDへの対応 は必須である

• アプリの実行環境を変更できるように 外部化されたコンフィグレーション管理の仕組みが必要である

• 複合的なアプリの高集約化を実現するためにマルチテナントを実装する

• Javaアプリケーションにヘルスチェック機能を持たせる

取り下げを提案する機能

• クラウドにおいて、JMSはこれ以上の機能強化を必要としていない(JMS 2.0を標準としてとどめておくことを提案する)

• クラウドアプリは技術の変化・進化が速く、かつシンプルな構成を持つことも多いため、 MVC は多くの場合適切ではない

• 現状の Management JSR は一般的に利用されていない

Page 27: 20161119 java one-feedback_osaka

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 27

Java EE 8 (Revised Proposal, 2016)

Connector JAXB JSP Debugging

Managed Beans JSP Concurrency EE Interceptors JAX-WS WebSocket

Bean Validation JASPIC Servlet JMS JTA Deployment

Batch JACC Dependency Injection JAXR JSTL Management

CDI EJB JAX-RPC Web Services JSF JPA

Common Annotations EL JAX-RS Web Services

Metadata JavaMail

CDI

JSON-B Security

Bean Validation

JSF

JAX-RS JSON-P

Servlet

Health Check Configuration

JSP

Page 28: 20161119 java one-feedback_osaka

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 28

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

Page 29: 20161119 java one-feedback_osaka

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 29

Page 30: 20161119 java one-feedback_osaka