Weitere ähnliche Inhalte
Ähnlich wie 20161119 java one-feedback_osaka (20)
20161119 java one-feedback_osaka
- 1. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
JavaOne 2016概要とJava EEに関する新提案の件
2016年11月19日
日本オラクル株式会社
クラウド・テクノロジー事業統括
Fusion Middleware事業本部
伊藤 敬
- 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.
2
- 3. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
JavaOne San Francisco 2016 – 18th to 22th Sep.
- 5. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
JavaOne San Francisco 2016 – 18th to 22th Sep.
• 主要なキーノートスピーカー
5
- 6. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
ファクトリー・オートメーションにおける
Java活用事例:
マツダ株式会社
ITソリューション本部 主幹
吉岡 正博 様
6
Java標準仕様 / Java EEのロードマップ
発表へのエンドースメント(登場順):
富士通株式会社 様
株式会社日立製作所 様
日本電気株式会社 様
Javaによるレガシーマイグレーション
事例紹介とJava EEロードマップ発表
へのエンドースメント:
損害保険ジャパン日本興亜株式会社
取締役常務執行役員
浦川 伸一 様
JavaOne 2016 Keynote – 過去最多の日本からの登壇者
- 7. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Keynote Speakers – Community Keynote
7
- 8. 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/
- 9. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Java SE Update
Georges Saab
Vice President
Java Platform Development
@gsaab
- 10. 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
20162014 2015 2017
10
- 11. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Coming Soon
11
+
- 12. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Java EE
Anil Gaur
Group Vice President
Java EE and Application Servers Development
@anilgaur
- 13. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Java EE – What’s Next?
13
クラウドとマイクロサービスのための
新しいアプリケーション開発のスタイル
- 14. 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
14
- 15. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Java Platform, Enterprise Edition への提案仕様
• クラウド、マイクロサービス向けの新し
いアプリケーション開発を想定
• 実績あるテクノロジーで構成
• 包括的な構成
– プログラミング・モデル、
パッケージング、ポータビリティ
• 標準ベース
– 本内容は提案仕様
– JCPプロセスに沿ってコミュニティとともに検
討を進める
15
- 16. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
フォーカスする技術エリア
16
- 17. 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
- 18. 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
- 19. 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
- 20. 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
- 21. 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
- 22. 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 brokerbroker
producer
(frontend)
producer
(services)
producer
(adapters)
producer
(other)
consumer
(frontend)
consumer
(services)
consumer
(adapter)
consumer
(other)
- 23. 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
- 24. 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
Reliability,Monitoring
ManagementandOrchestration
SchedulingandElasticScaling
Service Discovery
- 25. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 25
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
- 26. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
変更提案の根拠、理由
26
新たに追加を提案する機能
• クラウドアプリは多くのリモートREST
コールを行う。そのため、JAX-RSにク
ライアント側のサーキットブレーカ機
能を追加する必要がある
• 情報の機密性などの情報セキュリ
ティ機能は国際標準に準拠する
• 現在のクラウド環境ではOauthおよ
びOpenIDへの対応 は必須である
• アプリの実行環境を変更できるよう
に 外部化されたコンフィグレーション
管理の仕組みが必要である
• 複合的なアプリの高集約化を実現す
るためにマルチテナントを実装する
• Javaアプリケーションにヘルスチェッ
ク機能を持たせる
取り下げを提案する機能
• クラウドにおいて、JMSはこれ以上の
機能強化を必要としていない(JMS 2.0
を標準としてとどめておくことを提案す
る)
• クラウドアプリは技術の変化・進化が
速く、かつシンプルな構成を持つこと
も多いため、 MVC は多くの場合適切
ではない
• 現状の Management JSR は一般的に
利用されていない
- 27. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 27
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
- 28. 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