Java EE 7 in Action


Presentation Description

This workshop traverses the new features in Java EE 7 by introducing the Cargo Tracker application. This end-to-end example is a new project on Cargo Tracker brings back some of the ideas of the Java EE Blue Prints efforts of years past. Some of the new Java EE 7 features demonstrated in Cargo Tracker include JMS 2, WebSockets, JSON-P, JAX-RS 2, JSF 2.2, JPA 2.1 and Java Batch. This is your chance to look at Java EE 7 features in the context of a realistic application, available with an MIT license at


Presentation Transcript

Java EE 7 in Action:

Java EE 7 in Action BluePrints Reimagined Reza Rahman Java EE Evangelist @reza_rahman Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Public



Program Agenda:

Program Agenda Java EE 7 Cargo Tracker The API Changes + The Code! Looking Ahead… 1 2 3 4 Public

Java EE Past, Present and Future:

Java EE Past, Present and Future J2EE 1.3 CMP, JCA J2EE 1.4 Web Services Mgmt, Deployment Async Connector Java EE 5 Ease of Use, EJB 3, JPA, JSF, JAXB, JAX-WS, StAX, SAAJ Java EE 6 Pruning, Ease of Use, JAX-RS CDI Validation Web Profile Servlet 3, EJB 3.1 Lite Java EE 7 JMS 2, Batch, TX, Concurrent Interceptor WebSocket JSON Web Profile JAX-RS 2 JAX-RPC , CMP/ BMP , JSR 88 J2EE 1.2 Servlet, JSP, EJB, JMS, RMI Public

Java EE 7 Themes:


Java EE 7:

Java EE 7 Connector 1.7 Managed Beans 1.0 EJB 3.2 Servlet 3.1 Portable Extension Ecosystem JSF 2.2 JAX-RS 2.0 Bean Validation 1.1 JMS 2.0 JPA 2.1 EL 3.0 JTA 1.2 JSP 2.2 Interceptors 1.1 CDI 1.1 Common Annotations 1.1 Updated Major Release New Concurrency Utilities (JSR 236) Batch Applications (JSR 352) Java API for JSON (JSR 353) Java API for WebSocket (JSR 356) Public

Java EE 7 Platforms:

Java EE 7 Platforms GlassFish Java EE 7 Java EE 6 TomEE Public

GlassFish 4.1 and WebLogic 12.1.3:

GlassFish 4.1 and WebLogic 12.1.3 Glassfish 4.1 Addressing security, must-fix and important bugs, 800+ bugs fixed! JDK 8 Support Updates to projects: Jersey, Mojarra, WebSocket 1.1, Tyrus, Grizzly, CDI 1.2, Weld 2.2 WebLogic 12.1.3 WebSocket, JSON-P, JAX-RS 2, JPA 2.1 JDK 8 support Server-Sent Events (SSE) WebSocket fallback Improved Maven support, official Docker images Public

Java EE in Action:

Java EE in Action Public

JMS 2:

JMS 2 API modernization Dependency injection Fluent APIs Intelligent defaults Unchecked exceptions New features Delivery delay, async send Platform alignment MDB activation properties, JMS resource definition, default JMS resources Public

Java API for WebSocket:

Java API for WebSocket High level API for HTML 5 WebSockets Full-duplex TCP-like communication on the Web utilizing HTTP Both client and server-side (Java SE and Java EE) Both declarative and programmatic Pluggable and extensible Public

Java API for JSON Processing:

Java API for JSON Processing Low level API to parse, generate, transform, query JSON JSON equivalent of JAXP Object Model and Streaming API Similar to DOM and StAX Binding JSON to Java objects forthcoming JSON equivalent of JAXB Public

Bean Validation 1.1:

Bean Validation 1.1 Method constraints Very useful for JAX-RS and WebSocket CDI Alignment All Bean Validation artifacts now injection capable EL 3 integration More expressive validation messages Public


JAX-RS 2 Client API Message Filters & Entity Interceptors Servlet filters and CDI interceptors for JAX-RS Asynchronous Processing – Server & Client Hypermedia support Transitional and structural links Content negotiation Public

JPA 2.1:

JPA 2.1 Schema generation Stored procedures Unsynchronized persistence contexts Entity Graphs Entity converters Public

JSF 2.2:

JSF 2.2 HTML5 Support Pass-through elements and attributes Managed beans deprecated/CDI alignment @ViewScoped for CDI @FlowScoped Stateless views Resource library contracts View actions File upload component Public

Batch Applications for the Java Platform :

Batch Applications for the Java Platform API for robust batch processing targeted to Java EE, Java SE Common architecture Operator , repository , job, step, reader-processor-writer pattern Common features Chunking, check-pointing, transactions, retries, exceptions, workflow, parallelism Public

Concurrency Utilities for Java EE :

Concurrency Utilities for Java EE Provides simple, safe API for concurrency in Java EE Builds on Java SE concurrency ManageExecutorService ManagedScheduledExecutorService ManagedThreadFactory Relatively low-level API Important enabler for Java EE ecosystem Public

Concurrency Utilities for Java EE :

Concurrency Utilities for Java EE Managed Task Executor public class TestServlet extends HTTPServlet { @Resource ManagedExecutorService executor; Future future = executor.submit(new MyTask()); class MyTask implements Runnable { public void run() { ... // Task logic } } } Public

Yet More…:

Yet More… JTA 1.2 @Transactional, @TransactionScoped EL 3.0 Standalone API, lambda expressions, collections, operators Servlet 3.1 Non-blocking I/O, upgrade to WebSocket, security CDI 1.1 Global enablement, @AroundConstruct, @Vetoed EJB 3.2 Truncating CMP/BMP Public

Java EE 8 Community Survey:

Java EE 8 Community Survey Public

Java EE 8 Possibilities:

Java EE 8 Possibilities Web Standards/HTML5 Alignment HTTP2, SSE, JSON-B, JSON-P, action-oriented web framework, hypermedia 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 Public

Java EE/GlassFish Roadmap:

Java EE/GlassFish Roadmap JSR Submissions 2017 Final Release Reference Implementation/GlassFish 5 Open Source Edition JavaOne 2016 Expert groups up and running (JavaOne) Early Drafts Public Review Draft Proposed Final Draft Final Drafts Submitted 2016 2015 2014 GlassFish 4.1 Open Source Edition Public


Resources Java EE Tutorials Digging Deeper Java EE Transparent Expert Groups Java EE Reference Implementation The Aquarium Public

authorStream Live Help