Thursday, October 7, 2010

Review "Java EE 6 with GlassFish 3 Application Server" by David Heffelfinger (PACKT Publishing)

Packt Publishing was so kind, sending me their latest Java EE 6 with GlassFish 3 book for a detailed review.After a couple of weeks delay (work, J1 and more) I finally completed my review and here are the results from the German jury ;)

Book : Java EE 6 with GlassFish 3 Application Server
Language : English
Paperback : 488 pages [ 235mm x 191mm ]
Release Date : July 2010
ISBN : 1849510369
ISBN 13 : 978-1-849510-36-3
Author : David Heffelfinger Twitter | Website | Blog


The author
David Heffelfinger, a software engineer with over 10 years of experience designing and developing software applications in Java, C/C++ and other programming languages. He is the Chief Technology Officer of Ensode Technology, LLC, a software consulting firm based in the greater Washington DC area. He has worked on many large scale projects for several clients including the US Department of Homeland Security, Freddie Mac, Fannie Mae and the US Department of Defense. He has a Masters degree in Software Engineering from Southern Methodist University. He started this site ensode.net to share his experience in Java, Unix, Linux and other technology topics. He is the author of several Java/Java EE/J2EE Books for Packt, including Java EE 5 Development With NetBeans 6, Java EE 5 Development using GlassFish Application Server and JasperReports For Java Developers

The content
The book is all about my favorite topics. Everything about Java EE 6 with GlassFish 3. Chapter one gets you started with GlassFish in general. It covers installation, configuration and the basic concepts (domains, applications) but also looks at the new features of GlassFish 3 compared to the previous version. Chapter two is about Servlet development and deployment. This is followed by chapter three where you learn everything about Java Server Pages. Chapter four dives into the JSTL. Chapter five covers database connectivity with JDBC and JPA. Chapter six finally introduces JSF with the obligatory core component list. Chapter seven moves on to JMS including the complete GlassFish setup and an introduction about queues and topics. Chapter eight adds security to the mix by covering the basic realms. Chapter nine covers very briefly all kinds of EJBs. It's followed by chapter ten (surprise ;)) with a brief introduction to CDI. Chapter eleven covers SOAP Web Services with JAX-WS. The last chapter twelve adds Jersey and JAX-RS to the interconnection topics.
Starting with installation and configuration you are guided through Java EE 6 application development, covering all major Java EE 6 APIs. With this set of covered APIs it's a reliable foundation for developing enterprise Java applications. Beside the development aspects the book also covers all needed GlassFish configurations and assists the reader with a couple of detailed screenshots. 428 content pages without the appendix and the preface is good size for beginners.

Writing and style
Having read a few Java EE books, documentation and articles in the past years. This one is among the better written ones. At last to me as a non native speaker. Clear and understandable sentences. Easy to read and it is structured the way I expect things to be. In general I like the Packt paperbacks and the special format. I was surprised by the weight of the printed edition. I personally would prefer the also available eBook to carry around on a digital device.

My expectations
I expected to have a more advanced book on my desk. The book basically is a very good introduction for beginners. Even if you don't know Java EE or GlassFish in previous versions, you are able to work your way through and deploy the examples.
Security, EJB and CDI are covered too briefly for my expectations. If you are looking at a great GlassFish security book, look at "GlassFish Security" by Masoud Kalali.
I also was missing some kind of hints for the development environment of choice. The examples are compiled using java -c and packaging is done with the zip tool of your choice.

Conclusion and recommendation
With all the very basics covered it is not that attractive to advanced users as compendium. But I would always recommend it to newbies in the field. If you have Java EE 5 experience and you are starting with Java EE 6 it also is a valuable guideline to the most prominent APIs. The needed GlassFish skills are provided also.