Your January/February 2016digital edition of Java Magazine is now available

Read the latest issue Now

Dear Reader,

Welcome to the January/February issue of Java Magazine on developing Web applications. At nearly 100 pages, it’s one of the fattest issues in several years. Not so long ago, this topic would require us to cover and compare innumerable Java frameworks. But today Spring appears to have won the battle and is the most used, third-party framework. We cover its latest incarnation, Spring Boot, in a lengthy tutorial, which highlights how easy it makes creating Web apps.

A companion examination of the JAX-RS library, with emphasis on lesser used capabilities that you might not realize it offers, is also included. And for readers who use some form of xFaces for the Web part of the app, we dig into OmniFaces, a well-designed utility library that integrates easily with JSF, MyFaces, Prime-Faces, RichFaces, etc.

The emergence of microservices is addressed here by examining the KumuluzEE library and through our continued exploration of small containers, in particular Docker. This Docker tutorial explains how to run (and manage) configurations that include multiple Docker containers. (In the last issue, we examined how to create and run a single Docker Container).

Finally, we examine a problem that exists for some web apps: how to maintain a long-lived connection between client and server. We explore two solutions: WebSockets and the most common fallback when WebSockets isn’t available, long polling.

We also begin a series of articles that look at the coming features in Java 9. We start with explanation of the feature that will have by far the greatest impact: the new Java modularity. It will require us to rethink how we build our apps, but it will greatly shrink delivered solutions and do away with many classpath problems.

Our long-running cycle of JVM languages continues with an in-depth an article on Gosu, a language designed for large enterprise apps, with one unusual differentiator: you can define new data types. This goes beyond defining and instantiating classes; instead, you’re creating new types that become part of the language itself.

As usual, we bundle my editor’s column (here discussing the rise and fall of languages in 2015), our detailed book reviews, a new set of quiz questions from certification exams, readers’ letters to the editor, and a schedule of upcoming events. As you can see, this issue is fairly packed with information.

Like what you see? Wish we’d cover something else? Please send along your feedback, which I read attentively. You can always reach me at javamag_us.

Andrew Binstock
Java Magazine