Glassfish 4 was released last Friday and, although we’ve already spent some time experimenting with pre-release versions here at C2B2 Towers, it’s worth taking a closer look at some of the new features that are part of the Java EE 7 specification now that they are officially supported for the first time!
The release notes list the major changes, so I won’t reproduce everything here, but there are a few significant JSRs for this release that are certainly worth a mention.
JSON has gained a lot of traction on the web in recent years, with a lot of notable web sites using JSON for their RESTful web services - Facebook and Twitter among others. JSON-P is a streaming API and quite similar to JAXP.
Websockets are a younger technology than JSON (the protocol was only standardized in 2011) but, nevertheless, represent a radical evolution of communication over the web. True two-way communication over the Web lays the groundwork for a much richer, HTML5 powered Web. There are already competing implementations of the Websocket standard in Java, so it’s great news that there is now a native API available! We’re pretty excited about what’s possible with Websockets at C2B2; Steve has spoken about them on a couple of occasions before!
Concurrency is nothing new to Java but now, thanks to extensions of java.util.concurrent Java SE classes, there is now greater support of EE services and management from the container.
Our very own Nick Wright is a member of the JSR 343 Expert Group and gave an update on JMS 2.0 while it was still in development at Devoxx last year. This update to JMS has been a long time coming and aims to provide a much simpler API and a reduction in boilerplate code among a host of other features.
Also included in the Java EE 7 specification is support for batch applications in JSR 352 with a runtime for both scheduling and executing batch jobs. Although it is a significant thing to be supported natively in Java, this sort of processing has traditionally been the realm of COBOL and financial institutions, so it’s unlikely to gain any traction in the short term. It will, however be interesting to see how much focus this gets a few years down the line.
That’s the Java EE 7 specification! There’s much more to it, as detailed in the release notes, but you can try it out for yourself today with Glassfish 4.