Session Report: 50 New Features of Java EE 7 in 50 minutes
By Janice J. Heiss on Sep 26, 2013
by Timothy Beneke
On Tuesday afternoon, noted Java EE authors Arun Gupta and Antonio
Goncalves offered a whirlwind tour of new features in “Java EE 7: Fifty
New Features of Java EE 7 in 50 Minutes”. Gupta is legendary at Oracle
for his hard work and astute grasp of the Java EE platform. His blog offers a wealth of insight into Java EE and other Java matters. He is the author, most recently, of Java EE 7 Essentials published by O’Reilly. Goncalves is one of the most highly regarded writers on EE anywhere and the author of Beginning Java EE 7, published by Apress.
Java
EE 7’s new features enhance HTML5 support, increase developer
productivity, and further improve how enterprise demands can be met.
Developers will write significantly less boilerplate code, have better
support for the latest Web applications, and gain access to enhanced
scalability and richer, simpler functionality. The session did a stellar
job of spelling out the details to a packed house.
With four new
components (WebSocket, JSON-P, batch, and concurrency), and three old
ones significantly updated (JAX-RS, JMS, and EL), along with other
significant changes to the platform, a lot of new functionality has been
added.
They divided the new Java EE 7 features into 19
categories and explained an average of two to three features in each
category. Here were the categories:
CDI 1.1 (JSR 346)
Bean Validation 1.1 (JSR 349)
Interceptors 1.2 (JSR 318)
Concurrency utilities 1.0 (JSR 236)
JPA 2.1 (JSR 338)
JTA 1.2 (JSR 907)
EJB 3.2 (JSR 345)
JMS 2.0 (JSR 343)
Servlet 3.1 (JSR 340)
Web Socket 1.0 (JSR 356)
Expression Language 3.0 (JSR 341)
JSF 2.2 (JSR 344)
JAX-RS 2.0 (JSR 339)
JSON-P 1.0 (JSR 353)
Batch 1.0 (JSR 352)
JavaMail 1.5 (JSR 919)
JCA 1.7 (JSR 322)
Java Connector Architecture
Default Resources
Here are just a few of the high points:
CDI
1.1 (JSR 346) enables finer scanning control and the ability to veto
the processing of a class or package. Bean Validation 1.1 (JSR 349)
allows for method validation and the ability to pre/post conditions on
method and constructors. Interceptors 1.2 (JSR 318) focused on the
ability to associate an Interceptor associated with a constructor and
the ability to prioritize interceptor bindings.
For Concurrency utilities 1.0 (JSR 236), the emphasis was on ManagedExecutor with a focus on:
* User threads in Java EE applications
* The ability to support simple and advance concurrency design patterns
* And to extend Concurrency Utilities API from Java SE (JSR 166y)
Further emphasis in concurrency was on ManagedThreadFactory and DynamicProxy.
Dynamic Proxy:
* Creates dynamic proxy objects, and adds contextual information available for applications running in Java EE environment
* It supports Classloading, JNDI, Security, …
Also covered as part of concurrency: ManagedExecutor
* User threads in Java EE applications
* Support simple and advance concurrency design patterns
* Extend Concurrency Utilities API from Java SE (JSR 166y)
– java.util.concurrent package
In addition: ManagedScheduledExecutor
* Managed version of ScheduledExecutorService
* Submit delayed or periodic tasks
For
JPA 2.1 (JSR 338), standardized database schema generation and the
ability to define additional indexes in schema generation were
emphasized. JTA 1.2 (JSR 907) was praised for its capacity for
transaction management on Managed Beans as a CDI interceptor binding; in
addition, it offers CDI scope whose lifecycle is scoped to the
currently active JTA transaction.
They discussed WebSocket and
annotated server endpoint which enables full-duplex bi-directional
communication over a single TCP connection.
JSON Builder creates
an object model (or an array) in memory by adding elements. JsonParser
is an event-based parser that can read JSON data from a stream.
All in all, it was an impressive display of Java SE 7 expertise.
Java EE 7 Essentials by Arun Gupta
Beginning Java EE 7 by Antonio Goncalves
Be sure to check out Parleys.com in early October to listen to the entire session. It's well worth it.
