javaone 2014 java ee 8 booth slides
DESCRIPTION
Prepared by David Delabassee, this is the JavaOne 2014 Java EE 8 Booth Slide Infodeck.TRANSCRIPT
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Java EE 8
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Safe Harbor Statement The following is intended to outline our general product direcJon. It is intended for informaJon purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or funcJonality, and should not be relied upon in making purchasing decisions. The development, release, and Jming of any features or funcJonality described for Oracle’s products remains at the sole discreJon of Oracle.
3
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Java EE 8 Themes
• HTML5 / Web Tier Enhancements • Ease of Development / CDI alignment • Infrastructure for running in the Cloud
• Driven by Community Feedback
4
JSR 366
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Community PrioriJzed Features
5
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
CDI 2.0
• Events – Asynchronous events – Event ordering – Event Range (war, ear, server, cluster)
• Interceptor / Decorator (AOP) – Support AOP on custom or produced bean – Support AOP on inner calls (AOP enable when a method is called in same class)
6
JSR 365
• SPI enhancement – Be\er access to CDI meta data – Contexts enhancement for 3rd party Spec
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
CDI 2.0 (cont.)
• Parts (“sub-‐spec with sub-‐impl.”) – CDI Light (simple IoC soluJon) – Event
• Java SE support – Boot CDI from Java SE – Add SPI to easily integrate CDI in custom stack (i.e plug transacJon manager)
7
JSR 365
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
JSON-‐B 1.0
• ConverJng Java objects to & from JSON • Supports for different providers – Leverages mature JSON Binding frameworks – With a standard API
• Mapping – Default + customized
8
JSR 367
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
JMS 2.1
• New API to receive messages asynchronously – In Java SE, remove need to implement MessageListener – In Java EE, a simpler and more flexible alternaJve to JMS MDBs • Simpler, JMS-‐specific annotaJons that allow any managed bean to listen for JMS messages • No need to implement MessageListener • No need to be restricted to MDB lifecycle
9
JSR 368
@RequestScoped public class MyListenerComponent { @JMSListener(destinationLookup="myQueue") @Transactional public void myCallback(Message message) { ... ... } }
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
JMS 2.1 (cont.)
• Completes ease-‐of-‐use improvements started in JMS 2.0 • Improved portability of JMS providers between ApplicaJon Servers • Further clarify behavior of JMS in a Java EE applicaJons • CorrecJons and improvements to new JMS 2.0 features • Extend specificaJon to cover redelivery loops and dead message queues • Other features proposed by the community and the Experts Group
10
JSR 368
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Servlet 4.0
• Request/response mulJplexing – Servlet Request as HTTP/2 message
• Stream prioriJzaJon – Add stream priority to H\pServletRequest
• Server push • Binary framing – Hidden from API
• Upgrade from HTTP 1.1
11
JSR 369
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Servlet 4.0
• Servlet 4.0 is important because HTTP 2.0 is important • HTTP 2.0 compliance – Server Push – Stream Priority – Upgrade from HTTP 1.1
• Compliance with latest HTTP 1.1 RFCs 7230 – 7235 – IETF PRECIS framework for secure Unicode – Numerous small compliance issues
12
JSR 369
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
JAX-‐RS 2.1
• ConJnued evoluJon of JAX-‐RS API – All simple problems have already been solved…
• Performance – ReacJve Programming Model – Java SE 8 Streams – Non-‐blocking I/O
13
JSR 370
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
JAX-‐RS 2.1 (cont.)
• Java EE Alignment – CDI Alignment – DeclaraJve Security Model – MVC 1.0 IntegraJon – JSONB 1.0 IntegraJon
• Filling the Gaps – Server-‐Sent Events – Improved Hypermedia Support – CORS
14
JSR 370
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
MVC 1.0
• AcJon-‐based Model-‐View-‐Controller architecture • Glues together key Java EE technologies: – Model • CDI, Bean ValidaJon, JPA
– View • Facelets, JSP
– Controller • Invent new technology? • Leverage exisJng technologies such as JAX-‐RS, ... ?
JSR 371
15
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
JSF 2.3
• SpecificaJon clarificaJons • CDI alignment – Ease of use e.g. @Inject – Removal of old injecJon provider
• Performance enhancements – Caching EL expressions were possible
• Use Java SE 8 where possible
JSR 372
16
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
JSF 2.3 (cont.)
• MVC alignment • Shepherd EG driven features into spec – JSON ajax component rendering – State saving enhancements – Stateless enhancements – GET enhancements – …
JSR 372
17
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Java EE Management API 2.0
• Update of JSR 77 • Define RESTful API for Java EE management – Incorporate all exisJng JSR 77 managed beans – Define event model using Server Sent Events – ConsideraJon will be given to mark the exisJng MEJB API as Proposed OpJonal
• Define RESTful API for applicaJon deployment – Focus on simple cases first – Deployment support integrated to same API with other Java EE management
JSR TBD
18
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
JSON-‐P 1.1
• Support for JSON standards – JSON Pointer (RFC 6901) and JSON Patch (RFC 6902)
• Support for ediJng/transformaJon on JsonArray and JsonObject – Add API for the current builders
• Support JSON query in JavaSE 8 – Add helper classes and methods to construct Collectors
• Support for bing JSON data – Add API in JsonParser to construct JsonValues – Generate Java streams (high and low level)
JSR TBD
19
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Java EE Security 1.0
• Candidate Areas to Enhance Portability, Flexibility, Ease-‐of-‐Use – Password Aliasing – User Management – Role Mapping – AuthenJcaJon – REST AuthenJcaJon – AuthorizaJon
JSR TBD
20
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Java EE Security 1.0
• AuthorizaIon via CDI Interceptors
@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();
JSR TBD
21
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Java EE 8 JSRs
• Java EE 8 Platorm • CDI 2.0 • JSON Binding 1.0 • JAX-‐RS 2.1 • MVC 1.0 • Java Servlet 4.0 • JSF 2.3 • JMS 2.1
22
As of today Coming soon…
• JSON-‐P 1.1 • Java EE Security 1.0 • Java EE Management 2.0 • JCache 1.1 • And more to follow…
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
And more to follow…
• EL • Concurrency UJliJes • Connector Architecture • WebSocket • Interceptors • JPA
23
• EJB • JTA • Batch • JavaMail • …
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Transparency
• Our Java EE 8 JSRs run in the open on java.net – h\p://javaee-‐spec.java.net – One project per JSR – jax-‐rs-‐spec, mvc-‐spec, servlet-‐spec,...
• Publically viewable Expert Group mail archive – Users observer lists gets all copies
• Publicly accessible issue tracker / JIRA • Publicly accessible download area • …
24
Commitment to JCP transparent processes
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 25
Java EE Roadmap
Public Review Drafts
Proposed Final Draft
JSR Submissions
Java EE 8 Final
Early Draft Specifications
Java EE 8 Planning
01/2016 01/2015 09/2017 06/2014 01/2015
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
ConJnue to parJcipate
26
ParDcipate with us! hIp://glassfish.org/contribute
Java EE 7 14 adopted JSRs 19 Java User Groups
Thank You!
Java EE 8 New JSRs New OpportuniJes
Get Involved!
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
GlassFish Server
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 28
GlassFish Server Open Source EdiJon 4.1
28
Updated PlaSorm Support • Java 8 • CDI 1.2 • WebSocket 1.1
Jersey (JAX-‐RS) • New diagnosJcs API • SSE client reconnect
Tyrus (WebSocket) • Session limits • Proxy support • Client reconnect
Stability and Quality • Feature enhancements • 1000+ bugs fixes
And More … • Updated Java EE 7 SDK • JMS over WebSockets
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Meet the Experts
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Meet the Experts – Monday Sept. 29 Schedule Expert(s) Technology
10-‐11 AM Bruno Borges Adopt-‐a-‐JSR for Java EE 8, any Java EE 8 technology
11 – 12 PM MarJn Grebac JSON-‐B
12 -‐ 1 PM Kin-‐man Chung JSON-‐P and EL
1 -‐ 2 PM Marek Potociar Pavel Bucek
JAX-‐RS WebSocket (JSR 356)
2 -‐ 3 PM Linda DeMichiel Java EE 8
4 -‐ 5 PM Reza Rahman Adopt-‐a-‐JSR for Java EE 8, any Java EE 8 technology
30
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Meet the Experts – Tuesday Sept. 30 Schedule Expert(s) Technology
10-‐11 AM Heather VanCura JCP/JCP.Next (JSR 364), Adopt-‐a-‐JSR
11 – 12 PM MarJn Mares Java EE Management
12 -‐ 1 PM Nigel Deakin JMS
1 -‐ 2 PM Reza Rahman Adopt-‐a-‐JSR for Java EE 8, any Java EE 8 technology
2 -‐ 3 PM Ed Burns, Shing Wai Chan JSF 2.3 and Servlets 4.0
4 -‐ 5 PM Marek Potociar JAX-‐RS
31
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Meet the Experts -‐ Wednesday Oct. 1 Schedule Expert(s) Technology
10-‐11 AM Antoine Sabot-‐Durand CDI
11 – 12 PM Antoine Sabot-‐Durand CDI
12 -‐ 1 PM Brian Oliver Jcache
1 -‐ 2 PM David Delabassee Adopt-‐a-‐JSR for Java EE 8, any Java EE 8 technology
2 -‐ 3 PM Manfred Riem MVC 1.0 and JSF 2.3
32