The main goals of Java EE 7
Since May 2006, the Java EE platform has known remarkable evolution in terms of
implementation. First, with Java EE 5, it greatly simplified the development of applic-
ations by allowing the transformation of a simple Java class (POJO class) into a busi-
ness object through annotations or XML descriptions. Still in the line of simplification,
Java EE 6 helps enrich annotations and introduces new concepts such as pruning,
RESTful Web Services, CDI, EJB Lite, and configuration by exception and web pro-
files. This allows the platform to provide many easy-to-deploy and consume services.
After the success of Java EE 6, the JCP (Java Community Process) envisaged turn-
ing the platform into a service by providing an infrastructure for cloud support. But,
due to lack of significant progress in the concerned specifications, it revised its object-
ives. It is from the perspective of preparing the migration of the Java EE platform to
the cloud that Java EE 7 focuses on productivity and HTML5 support. Having missed
the big goal (that is, the migration to the cloud), it will reach its new goals through
completion of Java EE 6 features and addition of some new specifications.
Productivity in Java EE 7 has been improved upon in many ways. By simplifying some
APIs such as JMS and JAX-RS, Java EE 7 platform significantly reduces boilerplate
code. As you will notice in the chapters that follow, sending a JMS message can fit
on one line and no longer requires the creation of several objects as was the case
with JMS 1.1, where it was first necessary to create a Connection , Session , Mes-
sageProducer , and TextMessage .
Java EE 7 has integrated new APIs to better address the needs of enterprise applic-
ations relative to the processing of large amounts of data. We have, for example, the
concurrency utilities , which allow the creation of managed threads within a contain-
er and give developers the ability to break down large processes into smaller units
that can be computed concurrently. Similarly, there is a Java API for batch processing
to manage bulk and long-running jobs.
Finally, Java EE 7 is enriched in annotations and has set a focus on configuration by
exception. Whether it is for data source or batch processing, compatible Java EE 7
containers provide a number of default objects. It is even possible to produce complex
applications with minor configuration.