September 11, 2013

Java EE 7 Key Features

The prime focus of Java EE7 is to continue the simplification brought about with EE6, and to add support for new web technologies, in particular HTML5.  The 3 core objectives of Java EE7 being:

Improved Developer Productivity

  • Simplified application architecture
  • Greater user of annotations 
  • Less boiler-point code

Support for HTML5

  • Improved scalability with asynchronous RESTful Services
  • Reduced network latency with WebSocket API
  • JSON support
  • Non blocking Servelet API

Meeting Enterprise Demands

  • Multithreaded concurrent tasks
  • Uninterrupted On Line Transaction Processing
  • Overhall of JMS

Below are some of the main improvements that come with the Java EE 7 release. Over the next few weeks, I will be posting simple examples demonstrating each one of these features.

JSF 2.2:

  • HTML5 Friendly Markup 
  • Resource Library Contracts 
  • Faces Flows 
  • Stateless views

Servlet 3.1:

  • Non-blocking I/O API 
  • Support for WebSockets 
  • Various Security enhancements

CDI 1.1

A number of smaller updates help further standardization the CDI API in enterprise Java. Some of these features are:
  • Alignment of JSF scoping to CDI
  • Decoupling declarative transactions from EJB with @Transactional inteceptor
  • Binding of interceptors to constructors
  • Automatic discovery of managed beans
  • Improved support for CDI in Bean Validation

Expression Language 3.0

  • Overhauled API
  • Support for lambda expressions
  • Static field and method access
  • Improvements for collection processing
  • A standalone processor mode

Bean Validation 1.1

  • Use expression language within your constraint messages.
  • Refer to the returned value in your message
  • Format your message as you would using Formatter.format()

Enterprise JavaBeans 3.2: 

  • Transactional life cycle enhancements 
  • Extended TimerService API 
  • Optional bean passivation 
  • Asynchronous session bean invocations 
  • Improved alignment with JMS 

Java Persistence API 2.1

  • Schema generation 
  • Support for ON Conditions 
  • Bulk update and delete enhancements to Criteria API 
  • Support for stored procedures 
  • Injection of entities into entity listeners

Java Message Service 2.0

  • Overhauled and Simplified API
  • Delivery delay 
  • Asynchronous message sending 
  • Shared subscriptions 
  • AutoCloseable resources

RESTful Web Services 2.0

  • Addition of a client API 
  • Asynchronous processing, by taking advantage of the new Concurrency API. 
  • The ability to filter/intercept requests

Java API for WebSocket 1.0

A brand new API for working with Web Sockets, a new feature of the HTML5 specification. Web Sockets define a full-duplex single socket connection that allows messages to be sent between a client and a server and vastly reduce network latency.

JSON Processing 1.0:

  • Build JSON Objects from a JSON string 
  • Programatically build JSON Objects 
  • Serialize JSON Objects 
  • Parse JSON 

Concurrency Utilities for Java EE 1.0

A new API providing a standard way to concurrently process tasks in a Java EE environment. The Concurrency Utilities API builds on the concurrency API found in the standard Java environment.

Simple Concurrency Example

Batch Applications for the Java Platform 1.0

The new Batch Processing API supports both chunk processing and task-oriented processing, meaning that developers no longer need to write there own custom batch processing code.

Pruned Technologies

The following will be completely removed in Java EE 8:

  • EE Management (JSR-77)
  • Application Deployment (JSR-88)
  • JAXR (JSR-93)
  • JAX-RPC (JSR-101)
  • EJB 2.x CMP

1 comment :