The Java EE 7 Feature List: Cloud Focused Upgrades
When it arrives later this year, Java EE 7 will offer key new features related to cloud computing.
by Manoj Debnath
Apr 5, 2012
Page 1 of 2
Java EE 7, under the specification of JSR342, is expected to be released in mid-late 2012. Anticipation of the update's platform as a service (PaaS) capabilities is looming large among technological enthusiasts. With a promise of numerous key improvements, the focus will be on the suitability of Java EE for cloud environments. This article spotlights key things to look for in Java EE 7.
Spotlights in Java EE 7
The sections to follow list the notable features of the major Java EE 7 technologies.
The main objectives of upgrading to Servlet 3.1 from Servlet 3.0 involve ease of development, plugins and security features in the web tier. Thus, enhancement will be focused mainly on the following areas of the Java Web container:
Optimize Java EE PaaS model, leveraging the cloud for Web applications
Optimizing PaaS model leveraging multi-tenancy. To support this into the Web container, the main areas of optimization will be security, session state, resources and other multi-tenant awareness requirements for Web applications.
Enhance the asynchronous support of Servlet 3.0 and simplify further in building asynchronous applications
Utilize Java EE concurrency APIs for asynchronous support
Enhance the Servlet 3.0 built-in security features
Optimize the built-in plug-ability support of Servlet 3.0
Focus on providing necessary functionality for building easier-to-use, high-level protocol support for Web Sockets and other protocols that work with HTTP in the Servlet API
Addition of the javax.persistence.StoredProcedureQuery interface to control stored procedure query execution. >Javax.persistence.EntityManager has added four variants of methods that return a StoredProcedureQuery for executing a stored procedure, including one allowing named stored procedure query. The newly introduced annotation @NamedStoredProcedureQuery can be specified on an entity or mapped class, similar to the @NamedQuery. The parameters IN, OUT and INOUT can be used to manipulate values from the stored procedure.
The javax.persistence.criteria.AbstractQuery interface has been refactored by CriteriaUpdate, CriteriaDelete and CommonAbstractQuery interfaces.
Added new identifiers for persistence query language (JPQL), such as FUNCTION for supporting JPQL built-in functions, TREAT for down casting within path expressions in the FROM and WHERE clauses, and ON for specifying the relationship between the tables.
The entity listeners can be annotated with @PostConstruct and @PostDestroy for their lifecycle. Also, the usual lifecycle callback methods, such as @PrePersist, @PostPersist, @PreUpdate and @PreRemove can be used for entities.
Added support for unsynchronized persistence context to create container-managed unsynchronized persistence context. For example, @PersistenceContext (synchronization=SynchronizationType.UNSYNCHRONIZED)
Define two client APIs, both REST-compatible -- a low-level API using builder pattern and a higher-level API leveraging the low-level APIs
Hypermedia, an important RESTful feature of Web applications, will be easy to create, and it will process links associated with resources in representation either as a header or as a links within the entity peripheral.
Make it possible to validate parameters of forms or query using bean validation and return a meaningful response on failure to validate