Enterprise Java

A Refresher – Java EE 7 At A Glance

As the Red Hat JBoss Enterprise Application Platform 7 (EAP 7) is looming on the horizon and even the WebLogic server just recently got Java EE 7 certified, I thought it might be about time to give you a little refresher about the Java Enterprise Edition 7 features and point you towards further resources.

Java EE 7 – Developer Productivity, HTML 5 and Enterprise Demands

The Java Enterprise Edition 7 offers new features for enhanced HTML5 support,

helps developers being more productive and further helps meeting enterprise demands. As a developer you will write a lot less boilerplate code and have better support for the latest Web applications and frameworks.

ee7-main-topics

There are a couple of new features in Java EE 7 and Arun compiled a list of the top ten most prominent ones a while ago already and you can see the complete slide-deck as part of the Java EE 7 samples project on GitHub. This is a quick recap of them:

Java API for WebSocket 1.0 (JSR 356)

There is first class support for creating and deploying WebSocket endpoints. There is a standard W3C JavaScript API that can be used from browsers but this API also introduces a client endpoint.

The reference implementation is Tyrus.

Batch Applications for the Java Platform (JSR 352)

In-built support for Batch applications allows to remove dependency on third-party frameworks. Also see the Batch Applications tutorial on WildFly for further information.

JSON Processing (JSR 353)

Native support for JSON processing allows to make the application light-weight and getting rid of third party libraries.

Concurrency Utilities for Java EE (JSR 236)

Concurrency Utilities extends JSR standard Java SE Concurrency Utilities and add asynchronous capabilities to Java EE application components.

Simplified JMS API (JSR 368)

JMS API has been extremely simplified by leveraging CDI, Autocloseable, and other features of the language.

@Transactional and @TransactionScoped (JSR 907)

Deliver transactional applications with choice and flexibility, use @Transactional to enable transactions on any POJO.

JAX-RS Client API (JSR 339)

JAX-RS added a new Client API to invoke a REST endpoint using a fluent builder API.

Default Resources (JSR 342)

Default resources like JDBC DataSource, JMS ConnectionFactory, etc are added to simplify OOTB experience.

More annotated POJOs

More annotations have been added to simplify devops experience such as @JMSDestinationDefinition that automatically creates a JMS destination.

Faces Flow (JSR 344)

JSF added Faces Flow that allows to create reusable modules to capture a flow of pages together.

Pruned Technologies

While many new features have been added in Java EE 7, others have been made optional. Those are: Java EE Management (JSR-77); Application Deployment (JSR-88); JAXR, for interfacing with UDDI registries (JSR-93); JAX-RPC, for XML-based RPC (JSR-101); and EJB 2.x Container Managed Persistence, which is effectively replaced by the Java Persistence API (JSR-338). These specifications, while removed from the current release, remain optional for vendors in the event that demand for them persists among customers. They will, however, be removed in Java EE 8.

Further Reading

Markus Eisele

Markus is a Developer Advocate at Red Hat and focuses on JBoss Middleware. He is working with Java EE servers from different vendors since more than 14 years and talks about his favorite topics around Java EE on conferences all over the world. He has been a principle consultant and worked with different customers on all kinds of Java EE related applications and solutions. Beside that he has always been a prolific blogger, writer and tech editor for different Java EE related books. He is an active member of the German DOAG e.V. and it's representative on the iJUG e.V. As a Java Champion and former ACE Director he is well known in the community. Follow him on Twitter @myfear.
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Comments
Inline Feedbacks
View all comments
Back to top button