Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
Uploaded by
Norito Agetsuma
PPTX, PDF
8,190 views
Java EE8 Report
JavaOne 2014 サンフランシスコ報告会 Tokyo のJava EEアップデートのセッション資料です。 #j1jp #jjug
Software
◦
Read more
14
Save
Share
Embed
Embed presentation
Download
Downloaded 21 times
1
/ 41
2
/ 41
3
/ 41
4
/ 41
5
/ 41
6
/ 41
7
/ 41
8
/ 41
9
/ 41
10
/ 41
11
/ 41
12
/ 41
13
/ 41
14
/ 41
15
/ 41
16
/ 41
17
/ 41
18
/ 41
19
/ 41
20
/ 41
21
/ 41
22
/ 41
23
/ 41
24
/ 41
25
/ 41
26
/ 41
27
/ 41
28
/ 41
29
/ 41
30
/ 41
31
/ 41
32
/ 41
33
/ 41
34
/ 41
35
/ 41
36
/ 41
37
/ 41
38
/ 41
39
/ 41
40
/ 41
41
/ 41
More Related Content
PPTX
Java EE パフォーマンスTips #glassfish_jp
by
Norito Agetsuma
PDF
JavaOne 2015 報告会 @ 東京 「About MVC 1.0 & JSON-P」
by
Hiroyuki Ohnaka
PPTX
JavaOne2015報告会 Java EE アップデート #j1jp
by
Norito Agetsuma
PDF
CDI2.0アップデート&クックブック #JavaDayTokyo #jdt2016_4c
by
Norito Agetsuma
PDF
Lt agetsuma 拡大するcdi
by
Norito Agetsuma
PDF
Javaアプリケーションサーバ 構築・運用の勘所
by
Takahiro YAMADA
PDF
WildFly Swarmではじめる「パーツとしてのJavaEE」
by
Hiroaki NAKADA
PPTX
はじめてのJPA
by
kawaba
Java EE パフォーマンスTips #glassfish_jp
by
Norito Agetsuma
JavaOne 2015 報告会 @ 東京 「About MVC 1.0 & JSON-P」
by
Hiroyuki Ohnaka
JavaOne2015報告会 Java EE アップデート #j1jp
by
Norito Agetsuma
CDI2.0アップデート&クックブック #JavaDayTokyo #jdt2016_4c
by
Norito Agetsuma
Lt agetsuma 拡大するcdi
by
Norito Agetsuma
Javaアプリケーションサーバ 構築・運用の勘所
by
Takahiro YAMADA
WildFly Swarmではじめる「パーツとしてのJavaEE」
by
Hiroaki NAKADA
はじめてのJPA
by
kawaba
What's hot
PDF
Advanced database monitoring in modern java
by
Chihiro Ito
PDF
Java Batch 仕様 (Public Review時点)
by
Norito Agetsuma
PPTX
Heap statsfx analyzer
by
Yasumasa Suenaga
PDF
JavaOne 2015 JDK Update (Jigsaw) #j1jp
by
Yuji Kubota
PDF
20160521 大規模映像配信サービスの Java8による全面リニューアルの裏側
by
賢 秋穂
PDF
Spring3.1概要x di
by
Yuichi Hasegawa
PDF
Introduction to JShell: the Java REPL Tool #jjug_ccc #ccc_ab4
by
bitter_fox
PDF
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜
by
JustSystems Corporation
PDF
Nashorn in the future (Japanese)
by
Logico
PDF
10のJava9で変わるJava8の嫌なとこ!
by
bitter_fox
PDF
Javaはどのように動くのか~スライドでわかるJVMの仕組み
by
Chihiro Ito
PDF
Java EEを補完する仕様 MicroProfile
by
Norito Agetsuma
PDF
Jbatch実践入門 #jdt2015
by
Norito Agetsuma
PPT
Java9新機能概要
by
HonMarkHunt
PPT
Struts2を始めよう!
by
Shinpei Ohtani
PDF
マイクロフレームワークEnkan(とKotowari)ではじめるREPL駆動開発
by
Yoshitaka Kawashima
PDF
Prepare for Java 9 #jjug
by
Yuji Kubota
Advanced database monitoring in modern java
by
Chihiro Ito
Java Batch 仕様 (Public Review時点)
by
Norito Agetsuma
Heap statsfx analyzer
by
Yasumasa Suenaga
JavaOne 2015 JDK Update (Jigsaw) #j1jp
by
Yuji Kubota
20160521 大規模映像配信サービスの Java8による全面リニューアルの裏側
by
賢 秋穂
Spring3.1概要x di
by
Yuichi Hasegawa
Introduction to JShell: the Java REPL Tool #jjug_ccc #ccc_ab4
by
bitter_fox
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜
by
JustSystems Corporation
Nashorn in the future (Japanese)
by
Logico
10のJava9で変わるJava8の嫌なとこ!
by
bitter_fox
Javaはどのように動くのか~スライドでわかるJVMの仕組み
by
Chihiro Ito
Java EEを補完する仕様 MicroProfile
by
Norito Agetsuma
Jbatch実践入門 #jdt2015
by
Norito Agetsuma
Java9新機能概要
by
HonMarkHunt
Struts2を始めよう!
by
Shinpei Ohtani
マイクロフレームワークEnkan(とKotowari)ではじめるREPL駆動開発
by
Yoshitaka Kawashima
Prepare for Java 9 #jjug
by
Yuji Kubota
Viewers also liked
PDF
JavaOne2014 報告会:Java Embedded 関連のアップデート
by
Hiroki Ooyama
PPTX
Tomcatの実装から学ぶクラスローダリーク #渋谷Java
by
Norito Agetsuma
PDF
JavaOne2014_LT
by
Hiroyuki Ito
PPTX
JavaOne2014参加報告LT
by
諭 岡野
PPTX
HeapStatsの出展と発表を通して見えた JavaOne2014
by
Shinji Takao
PPTX
JJUG 2014 meetup - devoxx4kids 20141018
by
Huy Nguyen
PPTX
Introduction to Wildfly 8 - Marchioni
by
Codemotion
PDF
Android端末のroot化について
by
Shuichi Takaya
PPT
アプリ開発・端末毎の解像度の違いを吸収する方法 Android Bazaar and Conference 2011 Summer
by
Kunimasa Noda
PDF
桐島、Rubyやめるってよ
by
Narihiro Nakamura
PDF
Scala dreaded underscore
by
RUDDER
PDF
JSR 352 “Batch Applications for the Java Platform”
by
Norito Agetsuma
PDF
Unixカーネルの設計 7 プロセスの制御
by
Norito Agetsuma
PDF
Javaトラブルに備えよう #jjug_ccc #ccc_h2
by
Norito Agetsuma
PPTX
Rubyからscalaに変えるべき15の理由
by
Yukishige Nakajo
PDF
Git flowの活用事例
by
Hirohito Kato
PDF
社内Java8勉強会 ラムダ式とストリームAPI
by
Akihiro Ikezoe
PDF
Sakura IoT Platform
by
Osamu Ogasahara
PDF
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (後編)
by
Yuuki Namikawa
PDF
これからはじめるインフラエンジニア
by
外道 父
JavaOne2014 報告会:Java Embedded 関連のアップデート
by
Hiroki Ooyama
Tomcatの実装から学ぶクラスローダリーク #渋谷Java
by
Norito Agetsuma
JavaOne2014_LT
by
Hiroyuki Ito
JavaOne2014参加報告LT
by
諭 岡野
HeapStatsの出展と発表を通して見えた JavaOne2014
by
Shinji Takao
JJUG 2014 meetup - devoxx4kids 20141018
by
Huy Nguyen
Introduction to Wildfly 8 - Marchioni
by
Codemotion
Android端末のroot化について
by
Shuichi Takaya
アプリ開発・端末毎の解像度の違いを吸収する方法 Android Bazaar and Conference 2011 Summer
by
Kunimasa Noda
桐島、Rubyやめるってよ
by
Narihiro Nakamura
Scala dreaded underscore
by
RUDDER
JSR 352 “Batch Applications for the Java Platform”
by
Norito Agetsuma
Unixカーネルの設計 7 プロセスの制御
by
Norito Agetsuma
Javaトラブルに備えよう #jjug_ccc #ccc_h2
by
Norito Agetsuma
Rubyからscalaに変えるべき15の理由
by
Yukishige Nakajo
Git flowの活用事例
by
Hirohito Kato
社内Java8勉強会 ラムダ式とストリームAPI
by
Akihiro Ikezoe
Sakura IoT Platform
by
Osamu Ogasahara
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (後編)
by
Yuuki Namikawa
これからはじめるインフラエンジニア
by
外道 父
Similar to Java EE8 Report
PDF
JavaOne2015報告またはこれからのJava
by
なおき きしだ
PDF
Scala EE 7 Essentials
by
tnoda
PDF
SpringOne 2GX 2014 参加報告 & Spring 4.1について #jsug
by
Toshiaki Maki
PDF
Jjug springセッション
by
Yuichi Hasegawa
PDF
Javaで1から10まで書いた話(sanitized)
by
Tokuhiro Matsuno
PDF
Spring Framework ふりかえりと4.3新機能
by
kimulla
PDF
R5 3 type annotation
by
EIICHI KIMURA
KEY
関ジャバ JavaOne Tokyo 2012報告会
by
Koichi Sakata
PDF
MVC 1.0 JSR-371を通してAdopt a JSRに知ろう #jjug_ccc #ccc_r57
by
Toshiaki Maki
PDF
Spring Frameworkの今 (2013年版) #jjug_ccc #ccc_r17 #springframework
by
Toshiaki Maki
ODP
Spring2概論@第1回JSUG勉強会
by
Mitsuhiro Okamoto
PDF
Seasarプロジェクト徹底攻略
by
takezoe
PPT
Spring mvc
by
Ryo Asai
PDF
Java EE 再入門
by
minazou67
PPT
Gwt1
by
katsu.taira
PDF
Using Ext Direct with SenchaTouch2
by
久司 中村
PPTX
Beginning Java EE 6 勉強会(1) #bje_study
by
Toshiaki Maki
PPTX
JavaOne 2016 Report for Java EE
by
Yoshio Terada
PPTX
Spring I/O 2015 報告
by
Takuya Iwatsuka
PPTX
福井イベント
by
Yoshio Terada
JavaOne2015報告またはこれからのJava
by
なおき きしだ
Scala EE 7 Essentials
by
tnoda
SpringOne 2GX 2014 参加報告 & Spring 4.1について #jsug
by
Toshiaki Maki
Jjug springセッション
by
Yuichi Hasegawa
Javaで1から10まで書いた話(sanitized)
by
Tokuhiro Matsuno
Spring Framework ふりかえりと4.3新機能
by
kimulla
R5 3 type annotation
by
EIICHI KIMURA
関ジャバ JavaOne Tokyo 2012報告会
by
Koichi Sakata
MVC 1.0 JSR-371を通してAdopt a JSRに知ろう #jjug_ccc #ccc_r57
by
Toshiaki Maki
Spring Frameworkの今 (2013年版) #jjug_ccc #ccc_r17 #springframework
by
Toshiaki Maki
Spring2概論@第1回JSUG勉強会
by
Mitsuhiro Okamoto
Seasarプロジェクト徹底攻略
by
takezoe
Spring mvc
by
Ryo Asai
Java EE 再入門
by
minazou67
Gwt1
by
katsu.taira
Using Ext Direct with SenchaTouch2
by
久司 中村
Beginning Java EE 6 勉強会(1) #bje_study
by
Toshiaki Maki
JavaOne 2016 Report for Java EE
by
Yoshio Terada
Spring I/O 2015 報告
by
Takuya Iwatsuka
福井イベント
by
Yoshio Terada
Java EE8 Report
1.
Java EE 8
Report JavaOne2014 サンフランシスコ報告会Tokyo 2014/10/18 上妻宜人
2.
上妻宜人 あげつまのりと •
JavaOne 3回生 2012 2013 2014 • Java/APサーバサポート, トラブル対応 • Software Design 2014年10月号
3.
Java EE 8
SpecLead Linda DeMichiel
4.
コミュニティアンケート結果 JSONB, セキュリティ機能簡易化,
JCache, MVC …
5.
Java EE 8
テーマ コミュニティ要望・最新技術動向に応じた3つのテーマ • HTML5 / Web層の拡張 • HTTP2, SSE, JSON Binding, JSON Patch .. • かんたん開発 • JSF @Inject FacesContext, CDIセキュリティインターセプタ • クラウド上でのインフラ • REST API 運用監視, デプロイetc
6.
まだアイディア段階のため、 以降の内容は変更の可能性あり
7.
Servlet 4.0 JSR369
https://www.jcp.org/en/jsr/detail?id=369
8.
Servlet 4.0 HTTP/2
対応 • HTTP/2 • GoogleのSPDYプロトコルが原型 • バイナリフレーム/ ヘッダ圧縮/ 多重化 • ヘッダの意味合い(GET/POST/200 OK など) は基本的に踏襲 client server client server .html .js, .png, .css client server ブラウザ実装によっては 同時接続数『6』1TCP接続で多重化
9.
Servlet 4.0 HTTP/2
ストリームによる多重化 Connection : 1つのTCPコネクション Stream #1 Stream : コネクションに含まれるチャネル Response Message HEADERS frame :status:200 :version: HTTP/2.0 Server: nginx/.. Stream #2 .. #n Request Message Frame : HTTP2.0通信の最小単位 :method: GET :path: /index.html :version: HTTP/2.0 DATA frame response payload http://chimera.labs.oreilly.com/books/1230000000545/ch12.html#HTTP2_STREAMS_MESSAGES_FRAMES
10.
Servlet 4.0 Servlet
API追加のアイディア • StreamIDへのアクセス • HttpServletRequest / HttpServletReponse が対象 • int getStreamId()
11.
Servlet 4.0 HTTP/2
サーバプッシュ client server .html .js .png .css • WebSocketを置き換えるものではない • 関連リソースをサーバプッシュ • 例えばhtmlの要求がきたら • 関連のjs, png, css もプッシュする 従来の1リクエスト= 1レスポンス型では対応できないので要検討 public void doGet(HttpServletRequest req, HttpServletResponse res) ...
12.
Java SE 9でもHTTP/2
HTTP 1.1 / 2 を対象にAPIを追加予定(JEP110) HttpRequestGroup group = HttpRequestGroup.create(); HttpRequest res = group.createRequest() .setRequestMethod(“POST”) .setRequestURI(new URI(“http//www.foo.com/a/b”)) .setRequestBody(“Param1=1,Param2=2”) .onResponseHeader (“X-Foo”, (request, name, value) -> System.out.printf(“received an X-Foo header”); }) .sendRequest() .waitForCompletion();
13.
MVC 1.0 JSR371
https://jcp.org/en/jsr/detail?id=371
14.
MVC 1.0 アクションベースMVCの導入
• SpringMVC, JerseyMVC, Struts, VRaptor ... • そもそも必要?JAX-RSに入れる?の議論があったが、 結果的に独立した仕様として検討がスタート Q. Java EEはJSFに加えて新たなMVCをサポートすべきですか? https://java.net/downloads/javaee-spec/JavaEE8_Community_Survey_Results.pdf
15.
MVC 1.0 MVC
1.0 テーマ • 新たなテンプレートの”標準化”は対象外 • Java EE標準としては既にJSPとFaceletsがある • 標準化はせずに、OSS実装と連携するアプローチ • 既存仕様との連携 • CDI, Bean Validation
16.
MVC 1.0 JavaOneのBOFでのラフアイディア
• 初期HTML画面ページ <form action=”/rough-example/form1a.jsp”> <input id="input1" value="#{roughExampleBean.value}"/> <input id="submit" type="submit" value="Submit"/> </form>
17.
MVC 1.0 JavaOneのBOFでのラフアイディア
• CDI - Managed Bean @Named("roughExampleBean”) @RequestScoped public class RoughExampleBean implements Serializable { private String value; @Path(value = "/form1a.jsp”) public String form1(@Inject HttpServletRequest request) { String input1 = request.getParameter("inputText1"); setValue("We set input1 manually to - " + input1); return "/form1b.jsp”; } … omitted getter/setter methods … }
18.
MVC 1.0 JavaOneのBOFでのラフアイディア
• 遷移先のHTMLページ <body> result is: #{roughExampleBean.value} </body>
19.
JSF 2.3 JSR372
https://www.jcp.org/en/jsr/detail?id=372
20.
JSF 2.3 重複仕様の整理/
小さな機能改善 • CDI 連携の強化 • @Inject FacesContext • ValidatorやConverter実装クラスに@Injectできるようにする • @javax.faces.bean.ManagedBeanの扱い見直し • 非推奨ではなく、@javax.inject.Namedと同様として扱う • EL式のキャッシュによる性能向上 • マルチコンポーネントのバリデーション
21.
JAX-RS 2.1 JSR370
https://www.jcp.org/en/jsr/detail?id=370
22.
JAX-RS 2.1 パフォーマンス/
SSEサポート • パフォーマンス向上 • Non-Blocking I/O APIのサポート(主にサーバサイド) • Reactive プログラミングモデル(主にクライアントサイド) • SSE - Server Sent Eventのサポート • Java EE 内連携の強化 • JSON-B : Java API for JSON Bindingとの連携 • MVC1.0 との連携?
23.
JSON-B 1.0 JSR367
https://jcp.org/en/jsr/detail?id=367
24.
JSON-B 1.0 JSONとJavaオブジェクトのマッピング
• JAXB (XML Binding) と同様に相互変換 • 既存実装としてJackson data binding など public class Customer { private String name; private String mailAddr; private String phoneNumber; ... } { “name”:“Norito Agetsuma”, “mailAddr”:“test@gmail.com”, “phoneNumber”:“xxx-xxxx-xxxx” }
25.
JSON-B 1.0 コード例:
マーシャライズ(Java -> JSON) JsonContext context = new JsonContext.newInstance(); // プロパティ設定, 見やすいJSON生成PrettyPrintingはオプション Marshaller marshaller = context.createMarshaller() .setProperty(Marshaller.Property); .setPrettyPrinting(true); // JSON文字列変換 String string = marshaller.marshall(myObject); // ファイルへ marshaller.marshall(myObject, new FileWriter(“file.json”));
26.
JSON-B 1.0 コード例:
マッピングアノテーション • プロパティ名変更 @JsonProperty(“longDesc”) String longDescription; • Enumマッピング { “longDesc”:”some params..” } @JsonEnum public enum Option { @JsonEnumValue(“1”) OPTION_1, @JsonEnumValue(“2”) OPTION_2, @JsonEnumValue(“3”) OPTION_3 } { “Option”:1 }
27.
JSON-P 1.1 JSR
TBD : JSON Patch など
28.
JSON-P 1.1 JSON
Processing - Java EE 7 導入のJSON処理API JsonObject customer = Json.createObjectBuilder() .add(“name”, “ Norito Agetsuma”) .add(“mailAddr”, “test@gmail.com”) .add(“phone”, “xxx-xxxx-xxxx”) .build(); StringWriter json = new StringWriter(); try (JsonWriter writer = Json.createWriter(json)) { writer.writeObject(customer); } json.toString(); { “name”:”Norito Agetsuma”, “mailAddr”:”test@gmail.com”, “phone”:”xxx-xxxx-xxxx” }
29.
JSON-P 1.1 Java
EE 8 - JSON Patch • JSONデータの一部を置き換える仕組み– RFC6902 • HTTP “PATCH” と組み合わせて差分更新に使う • “PUT”は対象URLのリソース全体を置き換えることを示す • “POST”はリソースの新規作成に用途を絞る http://xxx/user/1 { “name”:”n-agetsuma” “state”:”chiba tokyo” “phone”:”xxx-xxxx-xxxx” } 一部を変更したい 新規項目を追加したい
30.
JSON-P 1.1 HTTP
“PATCH” メソッドで差分適用 PATCH /user/1 HTTP1.1 Content-Type: application/json-patch [ {“op”:”replace”, “path”:”/state”, “value”:”tokyo”}, {“op”:”add”, “path”:”/phone”, “value”:”xxx-xxxx-xxxx”} ] { “name”:”Norito Agetsuma” “state”:”Chiba tokyo” “ phone”:”xxx-xxxx-xxxx” ... }
31.
JSON-P 1.1 JSON
Patch - APIのアイディア // パッチ対象とパッチの生成 JsonObject target = Json.createObjectBuilder().add(..).build(); JsonArray patch = Json.createArrayBuilder() …build(); // パッチからJsonPatch の生成 JsonPatch jsonpatch = Json.createPatch(patch); // パッチの適用と結果取得 JsonArray result = jsonpatch.apply(target);
32.
CDI 2.0 JSR365
https://jcp.org/en/jsr/detail?id=365
33.
CDI 2.0 非同期イベント機能の導入
@Inject Event<NotifyAlarm> event; public void fire() { // 各@Observesメソッドの終了を待たずに応答が返る event.fire(new NotifyAlarm(“server hang”)); } public void consumeA( @Observes(asynchronous=true) NotifyAlarm n) { n.getDetails(); ... } public void consumeB( @Observes(asynchronous=true) NotifyAlarm n) {..} 通知 通知する側 通知される側 通知される側
34.
CDI 2.0 モジュール化,
Java SE CDI起動API • 仕様のモジュール分割 • CDI仕様が肥大化してきて、Weld以外の安定実装が少ない • 3つに分割して、3rdパーティ実装による機能提案を加速 • CDI Light : DIのみ。イベント, コンテキスト, AOP なし • Events : CDIによるObserverパターン実現@Observes 等 • Full CDI : 全ての仕様 • Java SE 上でのCDIコンテナ起動APIの標準化
35.
Java EE Management
API 2.0 JSR TBD : REST管理APIの標準化
36.
Java EE Management
API 2.0 REST APIによる監視・デプロイの標準化 • J2EE Management 1.1 - JSR77 の更新 • RESTT API による管理 • 既にJSR77で定義されているJava EE管理モデルに準拠 • SSE - Server Sent Event による通知モデルの定義 • MEJB API - リモートEJB によるアクセス仕様のオプション化 • REST APIによるアプリケーションのデプロイ
37.
Java EE Management
API 2.0 J2EE管理対象オブジェクトのモデル抜粋 http://download.oracle.com/otn-pub/jcp/j2ee_management-1_1-mrel-eval-oth-JSpec/j2ee_management-1.1-mrel-spec.pdf
38.
Java EE Security1.0
JSR TBD : セキュリティ関連機能の再構築
39.
Java EE Security
1.0 詳細についてはこれから検討が始まる予定 • 検討スコープを整理中 • ユーザ管理 • ロールマッピング • RESTの認証・認可... • CDIインターセプタによる認可制御
40.
Java EE 8
Schedule Final仕様リリースは2016年予定 • Early Draft 2015/Q1 アイディアが出始める • Public Review 2015/Q3 大分内容が固まってくる • Proposed Final Draft 2015/Q4 仕様によってはFinal Draftで複数回の修正あり • Final Release 2016/Q3
41.
GlassFish 5 Java
EE 8もRIはGlassFish GlassFish5に乞うご期待
Download