Novelties of Java EE 7
The Java EE 7 was developed as a Java Specification Request (JSR 342). It has a total of 31 specifications including 4 new specifications, 10 major releases, and 9 MRs (Maintenance Releases). All these specifications are taken into account by the GlassFish Server 4.0 (accessible via the address https://glassfish.java.net/download.html), which is the reference implementation of Java EE 7.
The new specifications introduced in Java EE are as follows:
Concurrency Utilities for Java EE 1.0 (http://jcp.org/en/jsr/detail?id=236), for asynchronous processing and multi-threaded tasks in Java EE application components.
Batch Applications for the Java Platform 1.0 (http://jcp.org/en/jsr/detail?id=352), to perform long-running tasks and bulk operations.
Java API for JSON Processing 1.0 (http://jcp.org/en/jsr/detail?id=353), which provides support for JSON processing. It offers Java EE components the ability to parse, generate, transform, and query JSON format.
Java API for WebSocket 1.0 (http://jcp.org/en/jsr/detail?id=356), to build WebSocket applications.
APIs inherited from the Java EE 6 platform that have undergone major changes are the following:
Java Platform, Enterprise Edition 7 (Java EE 7) Specification (http://jcp.org/en/jsr/detail?id=342), when compared to Java EE 6, further simplifies development, adds support for HTML5, and prepares the platform to migrate to the cloud
Java Servlet 3.1 Specification (http://jcp.org/en/jsr/detail?id=340) introduces some features such as non blocking I/O API and protocol upgrade processing
Expression Language 3.0 (http://jcp.org/en/jsr/detail?id=341) was separated from JSP specification request, and it came with many changes including an API for standalone environments, lambda expressions, and collections objects support
JavaServer Faces 2.2 (http://jcp.org/en/jsr/detail?id=344) integrates the support for the HTML5 standard and brings features such as resource library contracts, Faces Flow, and stateless views
Java Persistence 2.1 (http://jcp.org/en/jsr/detail?id=338) brings us the opportunity to execute Stored Procedures, create named queries at runtime, construct bulk update/delete via the Criteria API, override or change the fetch setting at runtime, and make explicit joins as in SQL
Enterprise JavaBeans 3.2 (http://jcp.org/en/jsr/detail?id=345) introduces the ability to manually disable the passivation of stateful session beans and has also relaxed rules to define the default local or remote business interface
Java Message Service 2.0 (http://jcp.org/en/jsr/detail?id=343) simplifies the API
JAX-RS 2.0: The Java API for RESTful Web Services (http://jcp.org/en/jsr/detail?id=339) simplifies the implementation of RESTful Web Services and introduces new features including Client API, asynchronous processing, filters, and interceptors
Contexts and Dependency Injection for Java EE 1.1 (http://jcp.org/en/jsr/detail?id=346) introduces many changes, some of which are access to the current CDI container, access to the non contexual instances of a bean, and the ability to explicitly destroy bean instances
Bean Validation 1.1 (http://jcp.org/en/jsr/detail?id=349) introduces support for method and constructor validation, group conversion, and message interpolation using expression language
Only the following APIs are affected by maintenance releases:
Web Services for Java EE 1.4 (http://jcp.org/en/jsr/detail?id=109)
Java Authorization Service Provider Contract for Containers 1.5 (JACC 1.5) (http://jcp.org/en/jsr/detail?id=115)
Java Authentication Service Provider Interface for Containers 1.1 (JASPIC 1.1) (http://jcp.org/en/jsr/detail?id=196) standardizes the use of some aspects of the specification
JavaServer Pages 2.3 (http://jcp.org/en/jsr/detail?id=245)
Common Annotations for the Java Platform 1.2 (http://jcp.org/en/jsr/detail?id=250) adds a new annotation for managing priorities
Interceptors 1.2 (http://jcp.org/en/jsr/detail?id=318) adds standard annotation for managing the execution order of interceptors
Java EE Connector Architecture 1.7 (http://jcp.org/en/jsr/detail?id=322) adds two annotations for defining and configuring the resource adapter's resources
Java Transaction API 1.2 (http://jcp.org/en/jsr/detail?id=907) provides the possibility to demarcate transactions declaratively and define beans whose lifecycle is identical to the current transaction
JavaMail 1.5 (http://jcp.org/en/jsr/detail?id=919) slightly simplifies the development of sending an e-mail by adding annotations and methods