RSS Feed
Download our iPhone app
Browse DevX
Sign up for e-mail newsletters from DevX


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.


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.

Enterprise Java Bean 3.2 (JSR 345)

  • Enhancing EJB architecture to enable the PaaS model with features such as multi-tenancy
  • Factorization of container-managed transactions to use other component technologies of the Java EE platform
  • Enhanced use of annotations to simplify EJB programming model
  • Alignment and integration with other specifications related to JSRs within the Java EE 7 platform such as CDI, JMS, Bean Validation, etc

Servlet 3.1 (JSR 340)

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

Java Persistence API 2.1 (JSR 338)

  • 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.
    StoredProcedureQuery createNamedStoredProcedureQuery(java.lang.String name)
    StoredProcedureQuery createStoredProcedureQuery(java.lang.String procedureName
    StoredProcedureQuery createStoredProcedureQuery(java.lang.String procedureName, java.lang.Class... resultClasses)
    StoredProcedureQuery createStoredProcedureQuery(java.lang.String procedureName, java.lang.String... resultSetMappings)
  • 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)

Java Messaging Service 2.0 (JSR 343)

The new introduction will be an evolution of the previous version, JSR-914.

  • Enhanced JMS programming model to make application development easier, cleaning up ambiguities in the present specification
  • Enhanced integration with CDI for easier and more unified use of API
  • Make necessary changes to API in allowing any JMS provider to integrate with any Java EE container
  • Make JSR more cloud-friendly, leveraging multi-tenancy and other cloud-related features from the platform

JAX-RS 2.0 (JSR 339)

  • 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

Close Icon
Thanks for your registration, follow us on our social networks to keep up-to-date