Book review: Beginning Java EE 6 with GlassFish 3, Second Edition
Z Jacek Laskowski - Wiki Projektanta Java EE
Beginning Java EE 6 with GlassFish 3, Second Edition by Antonio Goncalves (Apress, August 24, 2010)
No CDI, but I felt warm feeling of becoming a Java EE 6 pro anyway
I already read a couple of books about GlassFish 3 and hence was having doubts about Antonio Goncalves's "Beginning Java EE 6 Platform with GlassFish 3, 2nd Edition" from Apress. It's quite common to find books with great, ambitious titles that fall short which further cast doubt on the book. That's why I was deeply worried that the title, with Java EE 6 included, was a sort of a trick to bring more eyes to the book. On the other hand, I was really keen on reading a book about Java EE 6 with all its bells and whistles detailed, but didn't really care about GlassFish.
To make things more complicated, I picked it up right after having finished another book that was written with a slightly more eye-pleasant font. When I saw these squeezed sentences in every chapter's opening section, my first reaction was to not come back to it until I'd really have to. At the long last, with no other books about Java EE 6 on my bookshelf, I had no choice as to have encouraged myself to give it a try regardless of the pain I was suffering from.
I finally began the reading. I promised myself not to have spent much time with the chapters I didn't like. The reading trail started off with the very beginning of the book up to and including the chapter 1 "Java EE 6 at a glance", skipped the chapters 2-5 about Java Persistence (since I had already read an entire book devoted to the topic - "Pro JPA 2: Mastering the Java Persistence API" from Apress), jumped into the reading of the chapters 6-9 about EJB 3.1, skipped the chapters 10-12 about JavaServer Faces (JSF) 2.0 and carried on the reading through the chapter 13 about JMS and EJB MDB, the chapter 14 about JAX-WS and JAXB, the chapter 15 JAX-RS to eventually have come back to the chapters 10-12 about JSF2. It turned out that I left aside the JPA chapters 2-5, but I'm more convinced to do so now.
The chapters were written with a lot of care for right amount of information that's relevant to let me appreciate warm feeling of becoming a Java EE 6 pro or a sort of.
What I missed in the book was hardly any information about the Contexts and Dependency Injection (CDI) specification. In the Preface I could read - "The book concentrates on the most important specifications" which I strongly believe CDI is part of and it would've accounted for its inclusion. I hoped to have found a chapter or more about the specification, but sadly found nothing. That's a huge deficiency of the book that bears the title comprised of "Java EE 6" and "professional".
Despite the lack of CDI coverage, I'm greatly satisfied with the book - it was a kind of a transcript of a presentation about Java EE 6 with Antonio on a scene. While reading the book, I often felt like listening to a seminar about Java EE 6. Each and every chapter encouraged to keep reading. I found every piece of information I really needed (with no CDI whatsoever).
With the other assignments I made every step not to spend much time on the reading. The chapters were concise and the writing style invited for one more chapter at the time. Therefore, I wouldn't consider the Foreword a foreword for the book as it didn't take on the value of the book, but merely Java EE 6 itself. I quite often experienced an entertaining moment where I questioned the explanation and accompanying code snippet to eventually have found that it was done on purpose - people who pay attention to detail may get surprised nicely quite often. The book didn't spend much time on less important bits and moved from a topic to another with non-trivial code samples.
As I'm at the writing style, it wouldn't be fair to refrain from mentioning the English language used in the book - it's utterly perfect and I learnt a lot! Whoever helped Antonio with his English put a lot of effort in the final outcome. It's very tempting to keep on reading just because the way as well as the language the subject was presented with. I wish I could read more books like this.
The book was based on GlassFish 3.0.1, Apache Maven 2.2.1 and JUnit 4.8, so people interested in their practical use may find it helpful to some degree. Don't expect much of it, but enough to get started and be able to follow the samples. Even though I wasn't so much interested in reading about these tools (which I considered well-known to me and hence was about to have skipped the sections) I managed to find a couple of useful tips that influenced my toolbox - a nice pay-off for keeping up.
I really wished the author had explained his decisions with the tools and the technologies so I wouldn't have been left wondering about the reasons - too less why's over how's. Too extensive explanation of the way Maven works and the general idea of using the tools in the beginning of the chapter 6 almost put me off reading any further (esp. in "Compiling and Packaging with Maven"), but after the slight hiccup the reading got more pleasant and steady. I think I might eventually have got used to it and paid no attention to it any more.
I run across a couple of typos in the text as well as the code snippets, but I think they almost harmless since they're easy to spot and fix. A sort of an exercise for the readers.
