Java EE 7 just around the corner

(Daniel Pfeifer)

Just a little more than one month ago the latest version of the Java EE specification got it's seal of approval and in just a few days the reference implementation (Glassfish) of Java EE 7 will be released to the public. So you know what you should be excited about let's just look through the stuff that I find most exciting.

JSF 2.2

Even though we're talking about a minor update JSF 2.2 actually comes with plenty new stuff.

  • Improved HTML5 support.
  • @FlowScoped which makes it easier to create wizard-style interfaces.
  • @ViewScoped is now CDI-compliant.
  • Stateless views (i.e. when you don't want to have a viewstate associated to your HTML-file).
  • Lot's more...

JMS 2.0

Yeah, you can believe it. After being stuck at 1.x for a decade, JMS has now it's next big update! So what will we get?

  • A _much_ simpler and cleaner API - you guessed it, no longer writing 20 lines of boilerplate to send a message!
  • Messages can be sent with a desired delivery time.
  • Asynchronous send. I know, JMS is async as it is, but now you can also have the sending process itself asyncronous and just check a little later if a message was acknowledged by the infrastructure.

Java EE Batch

Batch processing is a natural part of many complicated Java EE systems. Think of end-of-day transactions processing at a bank or generating lots and lots of invoices. While there is nothing stopping you doing this in Java EE 6, you will now have a well-define API to define jobs that can be batched up. Basically one less thing you have to worry about in terms of concurrency.

JSON

Now you might think: "So what?!". Well, it's true. there are plenty of JSON frameworks for Java so you could very well think that there is no reason to add another one. But the strength of Java and Java EE is the community based standardization process and now we have the new package javax.json just like we got javax.xml many many years ago. This means we can also expect that we will no longer be forced to configure a JSON processor for our JAX-RS resources, that alone can save you a headache when building a portable solution.

Web Sockets

As you may know Web Sockets enables bidirectional communication between a browser and a server, which is a great HTML5 specification that makes the web just a little bit more real time (not as in hard real time) and alive. Java EE 7 will deliver built-in support to deliver a standardized way for EE7 applications to handle WebSocket communication. And yes, it's like the JSON-spec. There are frameworks to support this already, but we get a community-approved standardized specification.

Of course there is plenty more to indulge yourself in so keep your eyes open for the release of the Java EE 7 RI in just a couple of days.