What's new and what's next for Java EE 7 development

Feature:

From WebSockets to HTML5: What's new and what's next for Java EE 7

By Jason Tee

TheServerSide.com

If anyone knows Java, it's Peter Pilgrim, a self-styled educationalist and Java Champion based in the UK. But even he admits that it can be tough to keep up with all the new specifications for Java EE. When he wrote the Java EE 7 Developer Handbook, he found that learning was as big a part of the process as writing.

"You have less understanding of the specification than you think you have. There's also so much new stuff that you really don't know yet. To understand the specifications that are under development, you have to actually program with the betas and try your hand at a few things." Fortunately for us, Peter did apply himself diligently to learning all the ins and outs of version 7. We had him talk us through some newer features that may interest today's enterprise Java developers – and what he thinks the next EE version should include.

Java EE 7 Gets Mobile

What would be nice is if we could use annotations to create our own administrative objects for JDBC, JMS, or even a managed task executor

Peter Pilgrim, Java Champion

Peter shares a couple of aspects of Java EE 7 that help facilitate modern mobile development. First, it has JAX-RS on the server and client side. You can write mobile clients to send restful messages using JSON objects between the client and server. You can also use asynchronous input and output to have an end point that receives a data buffer and pushes it back asynchronously.

The long awaited standardization of WebSockets is another win for Java EE7. WebSockets offer bi-directional, real-time communication between servers and clients. As an alternative to AJAX, they may address some issues with both speed and scalability (depending on your use case and how effectively you can code). Because WebSockets work across platforms, they are also fragmentation-friendly.

What Comes Next for Java EE?

Well, there's no telling what will happen when a group of experts get into a virtual or actual room together to lobby for their own pet features. But Peter has a few improvements in mind that would make things easier for developers in the trenches. Features that would make mobile and embedded programming simpler are still at the top of the list.

"A big frustration is that a few of the things in the EE specification have some use in standalone clients. For example, context and dependency injection (which is basically Juice and bits of Spring), you don't have to run that in the EE environment. It would be nice if that had an SE flavor as well. Then we could write clients that communicate with the server-side. So, I hope that is standardized." Peter says it would also be nice for developers who write standalone clients to be able to hook into the Java messaging systems that run on the EE side.

The other big area for innovation is the cloud. If you recall, Java EE 7 was supposed to be positioning itself for cloud before Oracle switched the focus to HTML5 productivity. This probably seemed like a more urgent issue at the time, but the cloud still looms large on the horizon. Peter actually thinks it's too early for standardized cloud PaaS. There's much to learn before we have any kind of grasp on best practices that can translate into a new Java EE version. However, there are some tools Oracle could put in the hands of developers without setting everything in stone. "What would be nice is if we could use annotations to create our own administrative objects for JDBC, JMS, or even a managed task executor. That would mean we are halfway there to provisioning resources for an EE application." In fact, this might be a good preparatory step for later standardization since it would provide lots of lessons learned along the way.

Top Tools to Use with EE 7

Finally, it can be helpful to know which development tools to get your hands on if you want to stay on top of the latest trends. When someone is literally writing the book on Java EE 7, it begs the question: What do they use? Glassfish, the Java EE application server, was Pilgrim's chosen reference application. For implementation including developing examples for the book, IDEA from IntelliJ was his pick. With the web stuff (JavaScript and HTML), he turned to the Chrome developer tool along with angela.js, and Firebug. "Those are things that go outside of EE 7. But they are obviously useful for achieving the design aim of Java EE which is HTML5 and productivity." Of course, Peter's book is another tool you might find useful.

01 Jan 2014

Related Content

Related Resources