SlideShare a Scribd company logo
1 of 47
Download to read offline
JavaOne 2015 Feedback
Java EE 8:
Work in Progress
日本オラクル株式会社
クラウド・テクノロジー事業統括
Fusion Middleware事業統括本部
伊藤 敬
Dec 12, 2015
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Copyright © 2015, 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
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Program Agenda
Java EE 8の進捗状況についての簡単な振り返り
Java EE 8主要テーマと仕様策定・検討状況
仕様策定に関与・貢献するには
1
2
3
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Java Specification Request ステータス
JSR 366 – Java EE 8 Platform Early Draft Review (EDR)
JSR 369 – Servlet 4.0 – HTTP/2 EDR
JSR 365 – CDI 2.0 – CDI for Java SE, modularity & events EDR 完了
JSR 367 – JSON-B 1.0 – JSON Binding for Java Objects EDR 完了
JSR 371 – MVC 1.0 – Model View Controller, Action-Based, HTML framework EDR
JSR 368 – JMS 2.1 – MDB Improvements, CDI Managed Bean integration EDR
JSR 372 – JSF 2.3 – Integration with WebSocket, MVC, CDI, Java 8 Date&Time EDR
JSR 374 – JSON-P 1.1 – Query enhancements, Java SE 8 improvements EDR 完了
JSR 375 – Security 1.0 – Simplifications, Cloud enhancements Early Draft策定中
JSR 370 – JAX-RS 2.1 – NIO, Server-Sent Events Early Draft策定中
JSR 373 – Management 2.0 – REST based Management Early Draft策定中
Java EE 8 仕様策定の状況
4
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Java EE 8 – 全世界のコミュニティからのフィードバック
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Java EE 8 主要テーマ
• HTML5 / Web Tier 機能拡張
• 開発をより容易に / CDI のさらなる活用
• クラウドの実行・管理環境化
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
HTML5のサポート / Web Tier機能拡張
• JSON Binding
• JSON Processing 機能拡張
• Action-based MVC
• HTTP/2のサポート
– Servlet 4.0
• Server-sent Events
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
JSON-B
• Javaオブジェクト / JSON間のマーシャル/アンマーシャルを実現するAPI
– XMLのJAXBランタイムAPIと類似
• 既存のJSON Binding実装の成果を活用
– MOXy, Jackson, GSON, Genson, Xstream, …
– JSON Bindingプロバイダの変更を可能にする
8
Java API for JSON Binding
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted 9
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
JSON-B 1.0
@Entity public class Person {
@Id String name;
String gender;
@ElementCollection Map<String,String> phones;
... // getters and setters
}
Person duke = new Person();
duke.setName("Duke");
duke.setGender("M");
phones = new HashMap<String,String>();
phones.put("home", "650-123-4567");
phones.put("mobile", "650-234-5678");
duke.setPhones(phones);
Jsonb jsonb = JsonbBuilder.create();
jsonb.toJson(duke, System.out) ;
{
"name":"Duke",
"gender":"M",
"phones":{
"home":"650-123-4567",
"mobile":"650-234-5678"}
}
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
JSON-P 1.1
• JSON-P の継続的な更新を維持
• 新しい標準への対応
• JsonObject、JsonArrayに編集機能を追加する
• Java SE 8のStream処理を使いやすくするHelperクラス、メソッドの追加
Java API for JSON Processing
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
JSON-P 1.1
• JSON-Pointer – IETF RFC 6901
– JSON文書の中の特定の値を参照するための文字列の構文を規定する
"/0/phones/mobile"
新しい標準への対応
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
JSON-P 1.1
JsonArray contacts = Json.createArrayBuilder()
.add(Json.createObjectBuilder()
.add("name", "Duke")
.add("gender", "M")
.add("phones", Json.createObjectBuilder()
.add("home", "650-123-4567")
.add("mobile", "650-234-5678")))
.add(Json.createObjectBuilder()
.add("name", "Jane")
.add("gender", "F")
.add("phones", Json.createObjectBuilder()
.add("mobile", "707-555-9999")))
.build();
[
{
"name":"Duke",
"gender":"M",
"phones":{
"home":"650-123-4567",
"mobile":"650-234-5678"}},
{
"name":"Jane",
"gender":"F",
"phones":{
"mobile":"707-555-9999"}}
]
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
JSON-P 1.1
JsonArray contacts = ...;
JsonPointer p =
new JsonPointer("/0/phones/mobile");
JsonValue v = p.getValue(contacts);
[
{
"name":"Duke",
"gender":"M",
"phones":{
"home":"650-123-4567",
"mobile":"650-234-5678"}},
{
"name":"Jane",
"gender":"F",
"phones":{
"mobile":"707-555-9999"}}
]
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
JSON-P 1.1
JsonArray contacts = ...;
JsonPointer p =
new JsonPointer("/0/phones/mobile");
contacts = p.replace(contacts, "650-555-1212");
[
{
"name":"Duke",
"gender":"M",
"phones":{
"home":"650-123-4567",
"mobile":"650-234-5678"}},
{
"name":"Jane",
"gender":"F",
"phones":{
"mobile":"707-555-9999"}}
]
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
JSON-P 1.1
JsonArray contacts = ...;
JsonPointer p =
new JsonPointer("/0/phones/mobile");
contacts = p.replace(contacts, "650-555-1212");
[
{
"name":"Duke",
"gender":"M",
"phones":{
"home":"650-123-4567",
"mobile":"650-555-1212"}},
{
"name":"Jane",
"gender":"F",
"phones":{
"mobile":"707-555-9999"}}
]
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
JSON-P 1.1
• JSON-Patch – IETF RFC 6902
• Patch is a JSON document
– JSONドキュメントを修整するためのオブジェクト / 処理の配列
– add, replace, remove, move, copy, test
– 必ず “op” フィールドと “path” フィールドが必要
[
{"op":"replace", "path":"/0/phones/mobile", "value":"650-111-2222"},
{"op":"remove", "path":"/1"}
]
新しい標準への対応
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
JSON-P 1.1
JsonPatchBuilder builder = new JsonPatchBuilder();
JsonArray patch =
builder.replace("0/phones/mobile", "650-111-2222")
.remove("/1")
.build();
[
{
"name":"Duke",
"gender":"M",
"phones":{
"home":"650-123-4567",
"mobile":"650-234-5678"}},
{
"name":"Jane",
"gender":"F",
"phones":{
"mobile":"707-555-9999"}}
]
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
JSON-P 1.1
JsonPatchBuilder builder = new JsonPatchBuilder();
JsonArray patch =
builder.replace("0/phones/mobile", "650-111-2222")
.remove("/1")
.build();
JsonArray result = patch.apply(contacts);
[
{
"name":"Duke",
"gender":"M",
"phones":{
"home":"650-123-4567",
"mobile":"650-111-2222"}},
{
"name":"Jane",
"gender":"F",
"phones":{
"mobile":"707-555-9999"}}
]
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
JSON-P 1.1
JsonPatchBuilder builder = new JsonPatchBuilder();
JsonArray patch =
builder.replace("0/phones/mobile", "650-111-2222")
.remove("/1")
.build();
JsonArray result = patch.apply(contacts);
[
{
"name":"Duke",
"gender":"M",
"phones":{
"home":"650-123-4567",
"mobile":"650-111-2222"}}
]
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Model View Controller (MVC)
• Component-based MVC
– コンポーネントフレームワークを活用するタイプ
– Controller はフレームワークが提供する
– JSF, Wicket, Tapestry…
• Action-based MVC
– Controllerはアプリケーションで定義される
– Struts 2, Spring MVC…
2つのタイプ
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
MVC 1.0
• アクション・ベースのModel-View-Controller アーキテクチャの追加
• Java EEテクノロジーを組み合わせて実現:
– Model
• CDI, Bean Validation, JPA
– View
• Facelets, JSP
– Controller
• JAX-RS リソースメソッド
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 23
JSP, FaceletsCDI Bean
JAX-RS Resource Methods
Bean Validation
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
MVC 1.0
@Path("hello")
public class HelloController {
@Inject
private Greeting greeting;
@GET
@Controller
public String hello() {
greeting.setMessage("Hello there!");
return "hello.jsp";
}
}
JAX-RS controller
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
MVC 1.0
@Path("hello")
public class HelloController {
@Inject
private Greeting greeting;
@GET
@Controller
public String hello() {
greeting.setMessage("Hello there!");
return "hello.jsp";
}
}
JAX-RS controller Model
@Named
@RequestScoped
public class Greeting {
private String message;
public String getMessage() {
return message;
}
public void setMessage(message) {
this.message = message;
}
}
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
MVC 1.0
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Hello</title>
</head>
<body>
<h1>${greeting.message}</h1>
</body>
</html>
View
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
HTTP/2
• 一つのTCP接続を多重化
• リクエストは “Stream"と呼ば
れるデータ単位で送受信
– 多重化
– Stream単位で重み付け
• バイナリフレームレイヤ
–Server Push
• ヘッダ圧縮
Multiplexed Binary Frames POST /upload HTTP/1.1
Host: www.test.com
Content-Type: application/json
Content-Length: 15
{“name”:“duke”}
HTTP 1.1 HTTP/2
HEADERS frame
DATA frame
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
HTTP/2 サーバプッシュ
client server
.html
.js
.png
.css
• SSE/WebSocketとは用途が異なる
• 関連リソースをサーバプッシュ
• htmlの要求がきたら
• 関連のjs, png, css もプッシュする
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 29
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 30
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Servlet 4.0
HTTP/2 サーバプッシュのサンプル
public void doGet(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
PushBuilder builder = request.getPushBuilder();
builder.setPath(“/style.css”);
builder.push();
res.setContentType(“text/html”);
PrintWriter out = res.getPrintWriter();
out.println(“<html>”);
out.println(“<head>”)
out.println(“<link rel=¥”stylesheet¥” type=¥”text/css¥” href=¥“style.css¥”>”);
…
}
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
JAX-RS 2.1
• Server-sent Events
• CDIとの連携強化
• JSON-Bとの連携
• JAX-RSリソースメソッドをMVCのコントローラとして活用
• NIO support in providers (filters, interceptors, …)
• Reactive API
• …
32
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Server-sent Events
• HTML5仕様に属するAPIの一つ
• サーバからクライアントへのテキストデータのストリーミング
• HTTP 1.1 / Content type: text/event-stream
• HTTPコネクションが維持される (Cometとの違い)
– クライアントからコネクションを生成
– サーバからクライアントへ更新の通知を送信
– 通常は定期的な更新やイベントドリブンな更新を伝える一方向の伝達に用いる
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted 34
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted 35
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted 36
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted 37
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
開発をより容易に
• CDI 活用範囲の拡大
• Security インターセプタ
• JMS : Message-Briven Beanのメッセージ処理を簡素化
• JAX-RS injection の導入
• WebSocket スコープ
• Pruning - EJB 2.x client view, IIOPとの互換性
38
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
CDI 2.0
• Modularity
• Java SE support
• Asynchronous Events
• Event ordering
• …
利用範囲の拡大と機能強化
39
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Java EE Security 1.0
@IsAuthorized("hasRoles('Manager') && schedule.officeHrs")
void transferFunds()
@IsAuthorized("hasRoles('Manager') && hasAttribute('directReports', employee.id)")
double getSalary(long employeeId);
@IsAuthorized(ruleSourceName="java:app/payrollAuthRules", rule="report")
void displayReport();
CDI インターセプタを用いた認証処理
40
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
JMS 2.1
• JMS 2.0から始まった「使いやすさのための改善」を継続
• メッセージを非同期に受け取るAPIの改良
– JMS MDBの改良
– JMS MDBに対する選択肢となる別なテクノロジーの提供
非同期にメッセージを受け取るための新たなAPI
41
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
インフラのモダナイズ
• Java EE Management 2.0
– 管理・運用環境へのRESTベースのAPI提供
• Java EE Security 1.0
– Authorization
– Password Aliasing
– User Management
– Role Mapping
– Authentication
– REST Authentication
オンプレミスでもクラウドでも
42
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Java EE 8 JSRs
• Java EE 8 Platform (JSR 366)
• CDI 2.0 (JSR 365)
• JSON Binding 1.0 (JSR 367)
• JMS 2.1 (JSR 368)
• Java Servlet 4.0 (JSR 369)
• JAX-RS 2.1 (JSR 370)
• MVC 1.0 (JSR 371)
• JSF 2.3 (JSR 372)
• Java EE Management 2.0 (JSR 373)
• JSON-P 1.1 (JSR 374)
• Java EE Security 1.0 (JSR 375)
43
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
策定状況の開示
• Java EE 8 JSRは java.net にて公開されています
– http://javaee-spec.java.net
– https://java.net/projects/javaee-spec/pages/Specifications
• Expert Groupのメールアーカイブも見ることができます
– Users observer lists gets all copies
• Issue tracker / JIRAも公開されています
• …
Commitment to JCP transparent processes
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Java EE仕様策定に貢献しませんか??
• Adopt a JSR
– http://glassfish.org/adoptajsr
• Join an Expert Group project
– http://javaee-spec.java.net
– https://java.net/projects/javaee-spec/pages/Specifications
• The Aquarium
– http://blogs.oracle.com/theaquarium
• Java EE 8 Reference Implementation
– http://glassfish.org
興味ある方は是非参画ください!!!
JavaOne2015報告会@名古屋 Java EE 8 Work in Progress
JavaOne2015報告会@名古屋 Java EE 8 Work in Progress

More Related Content

Viewers also liked

Hipogramatik Cerita Wayang dalam Puisi Indonesia Moderen
Hipogramatik Cerita Wayang dalam Puisi Indonesia ModerenHipogramatik Cerita Wayang dalam Puisi Indonesia Moderen
Hipogramatik Cerita Wayang dalam Puisi Indonesia ModerenHamia Sani
 
Press freedom in_canada_program
Press freedom in_canada_programPress freedom in_canada_program
Press freedom in_canada_programMEDIAinTORONTO
 
JavaOne2015報告会 in Okinawa
JavaOne2015報告会 in OkinawaJavaOne2015報告会 in Okinawa
JavaOne2015報告会 in OkinawaTakashi Ito
 
Presentacio emile guia2012
Presentacio emile guia2012Presentacio emile guia2012
Presentacio emile guia2012clamuraller
 
Java Day Tokyo 2016 feedback at Kumamoto
Java Day Tokyo 2016 feedback at KumamotoJava Day Tokyo 2016 feedback at Kumamoto
Java Day Tokyo 2016 feedback at KumamotoTakashi Ito
 
Enquête satisfaction 2011_erma
Enquête satisfaction 2011_ermaEnquête satisfaction 2011_erma
Enquête satisfaction 2011_ermaRomain MURRY
 
New base energy news issue 952 dated 21 november 2016
New base energy news issue  952 dated 21 november 2016New base energy news issue  952 dated 21 november 2016
New base energy news issue 952 dated 21 november 2016Khaled Al Awadi
 
KDDI Financial Results for the 1st Half of FY2015.3
KDDI Financial Results for the 1st Half of FY2015.3KDDI Financial Results for the 1st Half of FY2015.3
KDDI Financial Results for the 1st Half of FY2015.3KDDI
 
Java EE 8 - What’s new on the Web front
Java EE 8 - What’s new on the Web frontJava EE 8 - What’s new on the Web front
Java EE 8 - What’s new on the Web frontDavid Delabassee
 

Viewers also liked (12)

Hipogramatik Cerita Wayang dalam Puisi Indonesia Moderen
Hipogramatik Cerita Wayang dalam Puisi Indonesia ModerenHipogramatik Cerita Wayang dalam Puisi Indonesia Moderen
Hipogramatik Cerita Wayang dalam Puisi Indonesia Moderen
 
Partie b présentation
Partie b présentationPartie b présentation
Partie b présentation
 
Press freedom in_canada_program
Press freedom in_canada_programPress freedom in_canada_program
Press freedom in_canada_program
 
Civil War Battles
Civil War BattlesCivil War Battles
Civil War Battles
 
JavaOne2015報告会 in Okinawa
JavaOne2015報告会 in OkinawaJavaOne2015報告会 in Okinawa
JavaOne2015報告会 in Okinawa
 
Presentacio emile guia2012
Presentacio emile guia2012Presentacio emile guia2012
Presentacio emile guia2012
 
Vive la musique!
Vive la musique!Vive la musique!
Vive la musique!
 
Java Day Tokyo 2016 feedback at Kumamoto
Java Day Tokyo 2016 feedback at KumamotoJava Day Tokyo 2016 feedback at Kumamoto
Java Day Tokyo 2016 feedback at Kumamoto
 
Enquête satisfaction 2011_erma
Enquête satisfaction 2011_ermaEnquête satisfaction 2011_erma
Enquête satisfaction 2011_erma
 
New base energy news issue 952 dated 21 november 2016
New base energy news issue  952 dated 21 november 2016New base energy news issue  952 dated 21 november 2016
New base energy news issue 952 dated 21 november 2016
 
KDDI Financial Results for the 1st Half of FY2015.3
KDDI Financial Results for the 1st Half of FY2015.3KDDI Financial Results for the 1st Half of FY2015.3
KDDI Financial Results for the 1st Half of FY2015.3
 
Java EE 8 - What’s new on the Web front
Java EE 8 - What’s new on the Web frontJava EE 8 - What’s new on the Web front
Java EE 8 - What’s new on the Web front
 

More from Takashi Ito

JDK:新しいリリースモデル解説 @ 富山 BuriKaigi 2019
JDK:新しいリリースモデル解説 @ 富山 BuriKaigi 2019JDK:新しいリリースモデル解説 @ 富山 BuriKaigi 2019
JDK:新しいリリースモデル解説 @ 富山 BuriKaigi 2019Takashi Ito
 
今年はJava進化の年!今知っておくべき新しいJava
今年はJava進化の年!今知っておくべき新しいJava今年はJava進化の年!今知っておくべき新しいJava
今年はJava進化の年!今知っておくべき新しいJavaTakashi Ito
 
Java EE, What's Next? by Anil Gaur
Java EE, What's Next? by Anil GaurJava EE, What's Next? by Anil Gaur
Java EE, What's Next? by Anil GaurTakashi Ito
 
20161119 java one-feedback_osaka
20161119 java one-feedback_osaka20161119 java one-feedback_osaka
20161119 java one-feedback_osakaTakashi Ito
 
20161111 java one2016-feedback
20161111 java one2016-feedback20161111 java one2016-feedback
20161111 java one2016-feedbackTakashi Ito
 
JavaOne2015フィードバック @ 富山合同勉強会
JavaOne2015フィードバック @ 富山合同勉強会JavaOne2015フィードバック @ 富山合同勉強会
JavaOne2015フィードバック @ 富山合同勉強会Takashi Ito
 
20160123 java one2015_feedback @ Osaka
20160123 java one2015_feedback @ Osaka20160123 java one2015_feedback @ Osaka
20160123 java one2015_feedback @ OsakaTakashi Ito
 

More from Takashi Ito (7)

JDK:新しいリリースモデル解説 @ 富山 BuriKaigi 2019
JDK:新しいリリースモデル解説 @ 富山 BuriKaigi 2019JDK:新しいリリースモデル解説 @ 富山 BuriKaigi 2019
JDK:新しいリリースモデル解説 @ 富山 BuriKaigi 2019
 
今年はJava進化の年!今知っておくべき新しいJava
今年はJava進化の年!今知っておくべき新しいJava今年はJava進化の年!今知っておくべき新しいJava
今年はJava進化の年!今知っておくべき新しいJava
 
Java EE, What's Next? by Anil Gaur
Java EE, What's Next? by Anil GaurJava EE, What's Next? by Anil Gaur
Java EE, What's Next? by Anil Gaur
 
20161119 java one-feedback_osaka
20161119 java one-feedback_osaka20161119 java one-feedback_osaka
20161119 java one-feedback_osaka
 
20161111 java one2016-feedback
20161111 java one2016-feedback20161111 java one2016-feedback
20161111 java one2016-feedback
 
JavaOne2015フィードバック @ 富山合同勉強会
JavaOne2015フィードバック @ 富山合同勉強会JavaOne2015フィードバック @ 富山合同勉強会
JavaOne2015フィードバック @ 富山合同勉強会
 
20160123 java one2015_feedback @ Osaka
20160123 java one2015_feedback @ Osaka20160123 java one2015_feedback @ Osaka
20160123 java one2015_feedback @ Osaka
 

Recently uploaded

Using IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & IrelandUsing IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & IrelandIES VE
 
Syngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdfSyngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdfSyngulon
 
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on ThanabotsContinuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on ThanabotsLeah Henrickson
 
BT & Neo4j _ How Knowledge Graphs help BT deliver Digital Transformation.pptx
BT & Neo4j _ How Knowledge Graphs help BT deliver Digital Transformation.pptxBT & Neo4j _ How Knowledge Graphs help BT deliver Digital Transformation.pptx
BT & Neo4j _ How Knowledge Graphs help BT deliver Digital Transformation.pptxNeo4j
 
TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024Stephen Perrenod
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIES VE
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?Mark Billinghurst
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...CzechDreamin
 
How we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdfHow we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdfSrushith Repakula
 
PLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsPLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsStefano
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfFIDO Alliance
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...panagenda
 
ERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage IntacctERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage IntacctBrainSell Technologies
 
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfHow Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfFIDO Alliance
 
Working together SRE & Platform Engineering
Working together SRE & Platform EngineeringWorking together SRE & Platform Engineering
Working together SRE & Platform EngineeringMarcus Vechiato
 
AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101vincent683379
 
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...FIDO Alliance
 
AI mind or machine power point presentation
AI mind or machine power point presentationAI mind or machine power point presentation
AI mind or machine power point presentationyogeshlabana357357
 
Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessUXDXConf
 

Recently uploaded (20)

Using IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & IrelandUsing IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & Ireland
 
Syngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdfSyngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdf
 
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on ThanabotsContinuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
 
BT & Neo4j _ How Knowledge Graphs help BT deliver Digital Transformation.pptx
BT & Neo4j _ How Knowledge Graphs help BT deliver Digital Transformation.pptxBT & Neo4j _ How Knowledge Graphs help BT deliver Digital Transformation.pptx
BT & Neo4j _ How Knowledge Graphs help BT deliver Digital Transformation.pptx
 
TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and Planning
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
 
How we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdfHow we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdf
 
PLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsPLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. Startups
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
 
ERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage IntacctERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage Intacct
 
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfHow Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
 
Working together SRE & Platform Engineering
Working together SRE & Platform EngineeringWorking together SRE & Platform Engineering
Working together SRE & Platform Engineering
 
AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101
 
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
 
AI mind or machine power point presentation
AI mind or machine power point presentationAI mind or machine power point presentation
AI mind or machine power point presentation
 
Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
 
Overview of Hyperledger Foundation
Overview of Hyperledger FoundationOverview of Hyperledger Foundation
Overview of Hyperledger Foundation
 

JavaOne2015報告会@名古屋 Java EE 8 Work in Progress

  • 1. JavaOne 2015 Feedback Java EE 8: Work in Progress 日本オラクル株式会社 クラウド・テクノロジー事業統括 Fusion Middleware事業統括本部 伊藤 敬 Dec 12, 2015 Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
  • 2. Copyright © 2015, 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 © 2015, Oracle and/or its affiliates. All rights reserved. | Program Agenda Java EE 8の進捗状況についての簡単な振り返り Java EE 8主要テーマと仕様策定・検討状況 仕様策定に関与・貢献するには 1 2 3
  • 4. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Java Specification Request ステータス JSR 366 – Java EE 8 Platform Early Draft Review (EDR) JSR 369 – Servlet 4.0 – HTTP/2 EDR JSR 365 – CDI 2.0 – CDI for Java SE, modularity & events EDR 完了 JSR 367 – JSON-B 1.0 – JSON Binding for Java Objects EDR 完了 JSR 371 – MVC 1.0 – Model View Controller, Action-Based, HTML framework EDR JSR 368 – JMS 2.1 – MDB Improvements, CDI Managed Bean integration EDR JSR 372 – JSF 2.3 – Integration with WebSocket, MVC, CDI, Java 8 Date&Time EDR JSR 374 – JSON-P 1.1 – Query enhancements, Java SE 8 improvements EDR 完了 JSR 375 – Security 1.0 – Simplifications, Cloud enhancements Early Draft策定中 JSR 370 – JAX-RS 2.1 – NIO, Server-Sent Events Early Draft策定中 JSR 373 – Management 2.0 – REST based Management Early Draft策定中 Java EE 8 仕様策定の状況 4
  • 5. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Java EE 8 – 全世界のコミュニティからのフィードバック
  • 6. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Java EE 8 主要テーマ • HTML5 / Web Tier 機能拡張 • 開発をより容易に / CDI のさらなる活用 • クラウドの実行・管理環境化
  • 7. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | HTML5のサポート / Web Tier機能拡張 • JSON Binding • JSON Processing 機能拡張 • Action-based MVC • HTTP/2のサポート – Servlet 4.0 • Server-sent Events
  • 8. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | JSON-B • Javaオブジェクト / JSON間のマーシャル/アンマーシャルを実現するAPI – XMLのJAXBランタイムAPIと類似 • 既存のJSON Binding実装の成果を活用 – MOXy, Jackson, GSON, Genson, Xstream, … – JSON Bindingプロバイダの変更を可能にする 8 Java API for JSON Binding
  • 9. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted 9
  • 10. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | JSON-B 1.0 @Entity public class Person { @Id String name; String gender; @ElementCollection Map<String,String> phones; ... // getters and setters } Person duke = new Person(); duke.setName("Duke"); duke.setGender("M"); phones = new HashMap<String,String>(); phones.put("home", "650-123-4567"); phones.put("mobile", "650-234-5678"); duke.setPhones(phones); Jsonb jsonb = JsonbBuilder.create(); jsonb.toJson(duke, System.out) ; { "name":"Duke", "gender":"M", "phones":{ "home":"650-123-4567", "mobile":"650-234-5678"} }
  • 11. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | JSON-P 1.1 • JSON-P の継続的な更新を維持 • 新しい標準への対応 • JsonObject、JsonArrayに編集機能を追加する • Java SE 8のStream処理を使いやすくするHelperクラス、メソッドの追加 Java API for JSON Processing
  • 12. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | JSON-P 1.1 • JSON-Pointer – IETF RFC 6901 – JSON文書の中の特定の値を参照するための文字列の構文を規定する "/0/phones/mobile" 新しい標準への対応
  • 13. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | JSON-P 1.1 JsonArray contacts = Json.createArrayBuilder() .add(Json.createObjectBuilder() .add("name", "Duke") .add("gender", "M") .add("phones", Json.createObjectBuilder() .add("home", "650-123-4567") .add("mobile", "650-234-5678"))) .add(Json.createObjectBuilder() .add("name", "Jane") .add("gender", "F") .add("phones", Json.createObjectBuilder() .add("mobile", "707-555-9999"))) .build(); [ { "name":"Duke", "gender":"M", "phones":{ "home":"650-123-4567", "mobile":"650-234-5678"}}, { "name":"Jane", "gender":"F", "phones":{ "mobile":"707-555-9999"}} ]
  • 14. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | JSON-P 1.1 JsonArray contacts = ...; JsonPointer p = new JsonPointer("/0/phones/mobile"); JsonValue v = p.getValue(contacts); [ { "name":"Duke", "gender":"M", "phones":{ "home":"650-123-4567", "mobile":"650-234-5678"}}, { "name":"Jane", "gender":"F", "phones":{ "mobile":"707-555-9999"}} ]
  • 15. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | JSON-P 1.1 JsonArray contacts = ...; JsonPointer p = new JsonPointer("/0/phones/mobile"); contacts = p.replace(contacts, "650-555-1212"); [ { "name":"Duke", "gender":"M", "phones":{ "home":"650-123-4567", "mobile":"650-234-5678"}}, { "name":"Jane", "gender":"F", "phones":{ "mobile":"707-555-9999"}} ]
  • 16. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | JSON-P 1.1 JsonArray contacts = ...; JsonPointer p = new JsonPointer("/0/phones/mobile"); contacts = p.replace(contacts, "650-555-1212"); [ { "name":"Duke", "gender":"M", "phones":{ "home":"650-123-4567", "mobile":"650-555-1212"}}, { "name":"Jane", "gender":"F", "phones":{ "mobile":"707-555-9999"}} ]
  • 17. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | JSON-P 1.1 • JSON-Patch – IETF RFC 6902 • Patch is a JSON document – JSONドキュメントを修整するためのオブジェクト / 処理の配列 – add, replace, remove, move, copy, test – 必ず “op” フィールドと “path” フィールドが必要 [ {"op":"replace", "path":"/0/phones/mobile", "value":"650-111-2222"}, {"op":"remove", "path":"/1"} ] 新しい標準への対応
  • 18. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | JSON-P 1.1 JsonPatchBuilder builder = new JsonPatchBuilder(); JsonArray patch = builder.replace("0/phones/mobile", "650-111-2222") .remove("/1") .build(); [ { "name":"Duke", "gender":"M", "phones":{ "home":"650-123-4567", "mobile":"650-234-5678"}}, { "name":"Jane", "gender":"F", "phones":{ "mobile":"707-555-9999"}} ]
  • 19. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | JSON-P 1.1 JsonPatchBuilder builder = new JsonPatchBuilder(); JsonArray patch = builder.replace("0/phones/mobile", "650-111-2222") .remove("/1") .build(); JsonArray result = patch.apply(contacts); [ { "name":"Duke", "gender":"M", "phones":{ "home":"650-123-4567", "mobile":"650-111-2222"}}, { "name":"Jane", "gender":"F", "phones":{ "mobile":"707-555-9999"}} ]
  • 20. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | JSON-P 1.1 JsonPatchBuilder builder = new JsonPatchBuilder(); JsonArray patch = builder.replace("0/phones/mobile", "650-111-2222") .remove("/1") .build(); JsonArray result = patch.apply(contacts); [ { "name":"Duke", "gender":"M", "phones":{ "home":"650-123-4567", "mobile":"650-111-2222"}} ]
  • 21. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Model View Controller (MVC) • Component-based MVC – コンポーネントフレームワークを活用するタイプ – Controller はフレームワークが提供する – JSF, Wicket, Tapestry… • Action-based MVC – Controllerはアプリケーションで定義される – Struts 2, Spring MVC… 2つのタイプ
  • 22. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | MVC 1.0 • アクション・ベースのModel-View-Controller アーキテクチャの追加 • Java EEテクノロジーを組み合わせて実現: – Model • CDI, Bean Validation, JPA – View • Facelets, JSP – Controller • JAX-RS リソースメソッド
  • 23. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 23 JSP, FaceletsCDI Bean JAX-RS Resource Methods Bean Validation
  • 24. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | MVC 1.0 @Path("hello") public class HelloController { @Inject private Greeting greeting; @GET @Controller public String hello() { greeting.setMessage("Hello there!"); return "hello.jsp"; } } JAX-RS controller
  • 25. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | MVC 1.0 @Path("hello") public class HelloController { @Inject private Greeting greeting; @GET @Controller public String hello() { greeting.setMessage("Hello there!"); return "hello.jsp"; } } JAX-RS controller Model @Named @RequestScoped public class Greeting { private String message; public String getMessage() { return message; } public void setMessage(message) { this.message = message; } }
  • 26. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | MVC 1.0 <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Hello</title> </head> <body> <h1>${greeting.message}</h1> </body> </html> View
  • 27. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | HTTP/2 • 一つのTCP接続を多重化 • リクエストは “Stream"と呼ば れるデータ単位で送受信 – 多重化 – Stream単位で重み付け • バイナリフレームレイヤ –Server Push • ヘッダ圧縮 Multiplexed Binary Frames POST /upload HTTP/1.1 Host: www.test.com Content-Type: application/json Content-Length: 15 {“name”:“duke”} HTTP 1.1 HTTP/2 HEADERS frame DATA frame
  • 28. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | HTTP/2 サーバプッシュ client server .html .js .png .css • SSE/WebSocketとは用途が異なる • 関連リソースをサーバプッシュ • htmlの要求がきたら • 関連のjs, png, css もプッシュする
  • 29. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 29
  • 30. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 30
  • 31. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Servlet 4.0 HTTP/2 サーバプッシュのサンプル public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { PushBuilder builder = request.getPushBuilder(); builder.setPath(“/style.css”); builder.push(); res.setContentType(“text/html”); PrintWriter out = res.getPrintWriter(); out.println(“<html>”); out.println(“<head>”) out.println(“<link rel=¥”stylesheet¥” type=¥”text/css¥” href=¥“style.css¥”>”); … }
  • 32. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | JAX-RS 2.1 • Server-sent Events • CDIとの連携強化 • JSON-Bとの連携 • JAX-RSリソースメソッドをMVCのコントローラとして活用 • NIO support in providers (filters, interceptors, …) • Reactive API • … 32
  • 33. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Server-sent Events • HTML5仕様に属するAPIの一つ • サーバからクライアントへのテキストデータのストリーミング • HTTP 1.1 / Content type: text/event-stream • HTTPコネクションが維持される (Cometとの違い) – クライアントからコネクションを生成 – サーバからクライアントへ更新の通知を送信 – 通常は定期的な更新やイベントドリブンな更新を伝える一方向の伝達に用いる
  • 34. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted 34
  • 35. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted 35
  • 36. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted 36
  • 37. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted 37
  • 38. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 開発をより容易に • CDI 活用範囲の拡大 • Security インターセプタ • JMS : Message-Briven Beanのメッセージ処理を簡素化 • JAX-RS injection の導入 • WebSocket スコープ • Pruning - EJB 2.x client view, IIOPとの互換性 38
  • 39. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | CDI 2.0 • Modularity • Java SE support • Asynchronous Events • Event ordering • … 利用範囲の拡大と機能強化 39
  • 40. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Java EE Security 1.0 @IsAuthorized("hasRoles('Manager') && schedule.officeHrs") void transferFunds() @IsAuthorized("hasRoles('Manager') && hasAttribute('directReports', employee.id)") double getSalary(long employeeId); @IsAuthorized(ruleSourceName="java:app/payrollAuthRules", rule="report") void displayReport(); CDI インターセプタを用いた認証処理 40
  • 41. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | JMS 2.1 • JMS 2.0から始まった「使いやすさのための改善」を継続 • メッセージを非同期に受け取るAPIの改良 – JMS MDBの改良 – JMS MDBに対する選択肢となる別なテクノロジーの提供 非同期にメッセージを受け取るための新たなAPI 41
  • 42. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | インフラのモダナイズ • Java EE Management 2.0 – 管理・運用環境へのRESTベースのAPI提供 • Java EE Security 1.0 – Authorization – Password Aliasing – User Management – Role Mapping – Authentication – REST Authentication オンプレミスでもクラウドでも 42
  • 43. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Java EE 8 JSRs • Java EE 8 Platform (JSR 366) • CDI 2.0 (JSR 365) • JSON Binding 1.0 (JSR 367) • JMS 2.1 (JSR 368) • Java Servlet 4.0 (JSR 369) • JAX-RS 2.1 (JSR 370) • MVC 1.0 (JSR 371) • JSF 2.3 (JSR 372) • Java EE Management 2.0 (JSR 373) • JSON-P 1.1 (JSR 374) • Java EE Security 1.0 (JSR 375) 43
  • 44. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 策定状況の開示 • Java EE 8 JSRは java.net にて公開されています – http://javaee-spec.java.net – https://java.net/projects/javaee-spec/pages/Specifications • Expert Groupのメールアーカイブも見ることができます – Users observer lists gets all copies • Issue tracker / JIRAも公開されています • … Commitment to JCP transparent processes
  • 45. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Java EE仕様策定に貢献しませんか?? • Adopt a JSR – http://glassfish.org/adoptajsr • Join an Expert Group project – http://javaee-spec.java.net – https://java.net/projects/javaee-spec/pages/Specifications • The Aquarium – http://blogs.oracle.com/theaquarium • Java EE 8 Reference Implementation – http://glassfish.org 興味ある方は是非参画ください!!!