In a very irregular series I do some book reviews here. One paperback found it's way to my post box a few weeks ago already. And it was the one, I was most curious about this year. Adam told me, he is going to write something during last years flight back from OOW/JavaOne. And since we know each other roughly since 2005 it feels like I am following his way through mutual customers and the Java community for ages.
Real World Java EE Night Hacks walks through best practices and patterns used to create a real world application called "X-ray." This is a high-performance blog statistics application add-on for Apache Roller which is built with nothing but "vanilla" Java EE 6. Covering JAX-RS, EJB 3.1, JPA 2, and CDI 1.0 APIs. Adam managed to force (I guess, you payed him a beer, right? ;) ) James Gosling the Father of Java to write a very nice foreword for him,
Book: Real World Java EE Night Hacks - Dissecting the Business Tier
Language : English
Paperback : 167 pages
Release Date : April 2011
Publisher: press.adam-bien.com; First Iteration edition (2011)
About the author
Independent consultant and author Adam Bien http://blog.adam-bien.com is an Expert Group member for the Java EE 6/7, EJB 3.x, JAX-RS, JMS, and JPA 2.x JSRs. He has worked with Java technology since JDK 1.0 and with Servlets/EJB 1.0, and currently, he is as an independent architect and developer on Java SE, Java EE, and JavaFX projects. Adam has edited several books about JavaFX, J2EE, and Java EE. Adam is also a Java Champion, Oracle ACE Director and JavaOne 2009 Rock Star.
Short five pages after you opened the book you have to jump in. Chapters one and two sets the stage and introduce you to the problem domain. This is all about missing detailed statistics in Apache Roller which is the blogging software powering Adam's blog. The actual performance probe is developed in chapter 3. Followed by the REST services needed for X-Ray in chapter 4 and the needed client in 5. Chapter six offers some solutions to the overall development process (covering Hudson, Maven, etc). Chapter 7 talks about testing with Java EE 6 and also briefly covers Arquillian. The final chapter eight covers some architectural thoughts about patterns and components.
Writing and style
Adam's writing is clear and easy to read even for non native speakers. The code samples are very extensive and you can follow every important point in seconds. There is not a single point I am unhappy about.
High. Probably still an understatement. That's potentially one of the reasons I somehow was a little bit disappointed reading through it. The list of technologies it has on the cover is _impressive_ and I would kill to read a book about an end-to-end story about it. I should have started wondering looking at the total of 167 pages. The aim of the book is obviously NOT to teach you how to use any of the technologies listed on the cover but you can still learn about them. This makes the book a good starting point. But don't think you will get to the end without doing further research on your own.
Conclusion and recommendation
If you are one of those guys working your way through state of the art Java EE projects. Go! Get it! It's probably the only book beside it's predecessor able to provide in-depth insights and real live value to your projects. If you are a beginner. Go! Get it! But keep in mind, that you probably will need much more books before you can follow what Adam has written. It's not a reference text, but it's a source of inspiration.