Book review: Java EE 5 Development using GlassFish Application Server

Z Jacek Laskowski - Wiki Projektanta Java EE

Java EE 5 Development using GlassFish Application Server by David Heffelfinger (Packt, October 2007)

I must admit I couldn't wait till I'd read it. When I saw it's published I wrote an email to the publisher and after a couple of days I had it ready for a go. I can't explain why, but somehow I thought the book would've been the primary source of GlassFish knowledge. It just took me a few chapters to find out it was not the case and that the book merely scratched its surface. The only reason I meant to read the book was to find out what GlassFish had to offer and I had not expected much information on Java EE 5 itself. So when it turned out to be completely opposite I lost interest reading it. Only a few pages presented GlassFish features with a plethora of pages about Java EE 5. One could easily swap GlassFish for any other name of a Java EE 5 application server and wouldn't likely notice much difference. That's what may put you off reading the book. On the other hand, people who'd like to learn Java EE 5 mainly and experience its simplicity with GlassFish can find the book very informative. Although I had expected quite a contrary I, for one, did eventually find it worth its time. The style of David's writing is easy and highly addictive so one needs to be very careful to not read the book from cover to cover the very first day.

The first chapters are certainly not for people who had a crack at Java EE 5 development before yet the section about JSP Tag Files revealed a new stuff in JSP I was not aware of at all. The real fun begun when I learnt about JSTL which I used to not pay much attention to. I think the chapter 5 was the best introduction to JSTL I've ever read. The following chapters about JMS, JAAS and JAX-WS were very informative as well and I wish I had read them earlier. Other than that, the book had a lot of useful and interesting hints and remarks about common mistakes with their solutions. The examples made the theory easier to comprehend yet there were some mistakes like using new String("...") or using JDBC to generate primary keys not @GeneratedValue annotation. The chapter 7 about JMS was the only one which went straight to the point and reminded me I was reading a book about Java EE 5 development using GlassFish.

Although I couldn't learn much about GlassFish the book was a very entertaining experience. It was my first book I read where the author used Maven to support his development that's worth to point out too. I don't seem to remember having developed a servlet with @Resource annotation so when I saw it in the book it took me a while to think of why I didn't use it. That and other gems in the book made me think I didn't lose my time reading it even though there was not much about GlassFish itself. A few sentences about Maven, Dependency Injection and Spring Framework let a reader know what's available in Java EE 5 stack and its origins.

I strongly recommend the book to anyone who's interested in Java EE 5 regardless of his/her experience. Those who are looking for a real GlassFish introduction should not expect to find much in this book yet reading it may provide some useful hints to remember.

Osobiste