JavaEE.Next(): Java EE 7, 8, and Beyond Reza Rahman Java EE/GlassFish Evangelist Reza.Rahman@Oracle.com @reza_rahman 1
The preceding 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
Java EE Past, Present, & Future Java EE 7 J2EE 1.2 Servlet, JSP, EJB, JMS, RMI J2EE 1.3 CMP, JCA J2EE 1.4 Web Services, Mgmt, Deplymnt Java EE 5 Ease of Use, EJB 3, JPA, JSF, JAXB, JAX-WS Java EE 6 Pruning, Ease of Use, JAX-RS, CDI, Bean- Validation Web Profile Servlet 3, EJB 3.1 Lite JMS 2, Batch, TX, Concurr, Web- Sockets, JSON Web Profile JAX-RS 2 3
Java EE 7 Ecosystem Common Annotations 1.2 JSP 2.3 JSF 2.2 JAX-RS 2 Servlet 3.1 Managed Beans 1.0 EJB 3.2 EL 3 Interceptors 1.2 CDI 1.1 Bean Validation 1.1 Concurrency Utilities Batch Applications Java API for JSON Connector 1.7 JPA 2.1 JTA 1.2 JMS 2 Java API for WebSocket New Major Release Updated 4
JMS 2 Long overdue, well received API modernization using dependency injection Delivery delay, async send MDB alignment JMS resource definition, default connection factory 5
Java API for WebSocket WebSocket part of HTML 5 Bidirectional asynchronous communication over HTTP Higher level API for WebSocket Both client and server-side (Java SE and Java EE) Both declarative and programmatic 6
Java API for JSON Processing JSON ubiquitous data interchange format on the Web API to parse, generate, transform, query JSON Object Model and Streaming API -- similar to DOM and StAX Binding JSON to Java objects forthcoming 7
JAX-RS 2 Client API Message Filters & Entity Interceptors Asynchronous Processing Server & Client Hypermedia Support Content negotiation 8
JPA 2.1 Schema generation Stored procedures Entity Graphs Entity converters Unsynchronized persistence contexts 9
JTA 1.2 Long overdue Declarative transactions outside EJB Transaction scope - @TransactionScoped 10
JSF 2.2 HTML5 Support @FlowScoped @ViewScoped for CDI Managed beans deprecated/cdi alignment Stateless views Resource library contracts File upload component View actions 11
Batch Applications for the Java Platform Java rise in the enterprise continues Batch critical part of enterprise infrastructure API for robust batch processing targeted to Java EE, Java SE 12
Bean Validation 1.1 Method constraints CDI Alignment EL integration 13
Concurrency Utilities for Java EE Provides simple, safe API for concurrency in Java EE Builds on Java SE concurrency java.util.concurrent.executorservice Relatively low-level API Important enabler for Java EE ecosystem 14
Others Servlet 3.1: Non-blocking I/O, upgrade to WebSocket, security CDI 1.1: Global enablement, @AroundConstruct, @Vetoed EL 3.0: Lambda expressions, collections, operators, standalone API EJB 3.2: Truncating CMP/BMP 15
Java EE in Practice http://cargotracker.java.net 16
Try it Out! http://dlc.sun.com.edgesuite.net/glassfish/ 4.0.1/promoted/ 17
Java EE 7 Platforms Java EE 6 TomEE Java EE 7 GlassFish 18
Java EE 8 Community Survey https://blogs.oracle.com/ldemichiel/entry/results_from_the_java_ee https://java.net/downloads/javaee-spec/javaee8_community_survey_results.pdf 19
Java EE 8 Possibilities Web Standards/HTML5 Alignment HTTP2, SSE, JSON-B, action-oriented web framework Cloud Simple security providers, multitenancy, REST management/monitoring CDI Alignment CDI 2, EJB services outside EJB, security interceptors, EJB pruning Enterprise JCache, Configuration, JMS Java SE 8 alignment 20
Java EE/GlassFish Roadmap JSR Submissions Expert groups up and running (JavaOne) Early Drafts Review Draft Proposed Final Draft Final Drafts Submitted Final Release Reference Implementation/Gl assfish 5 Open Source Edition JavaOne 2016 2014 2015 2016 2017 GlassFish 4.0.1 Open Source Edition 21
Adopt-a-JSR for Java EE 8 Grassroots participation to shape Java EE Launched in Java EE 7 time-frame, key community element for Java EE 8 19 Java user groups adopted a Java EE 7 JSR! http://adoptajsr.java.net 22
Learning More Java EE Tutorials http://docs.oracle.com/javaee/7/tutorial/doc/home.htm Digging Deeper http://docs.oracle.com/javaee/7/firstcup/doc/home.htm https://glassfish.java.net/hol/ https://java.net/projects/cargotracker/ Java EE 7 Transparent Expert Groups http://javaee-spec.java.net Java EE 7 Reference Implementation http://glassfish.org The Aquarium http://blogs.oracle.com/theaquarium 23
24