Coming Up for Air

Book Review: Beginning Java EE 7

Java Champion and JUG leader Antonio Goncalves recently released his third book on Java EE, Beginning Java EE 7. Just from the title and the table of contents, it’s clear that Antonio set a very ambitious goal for this book, and I think he delivered what he promised.

Java EE is, of course, a large, diverse set of technologies, so the book itself, to do the platform justice, must also be pretty wide-ranging. At a high level, here is what the book covers (taken from the table of contents):

  1. Java EE 7 at a Glance

  2. Context and Dependency Injection

  3. Bean Validation

  4. Java Persistence API

  5. Object-Relational Mapping

  6. Managing Persistent Objects

  7. Enterprise JavaBeans

  8. Callbacks, Timer Service, and Authorization

  9. Transactions

  10. JavaServer Faces

  11. Processing and Navigation

  12. XML and JSON Processing

  13. Messaging

  14. SOAP Web Services

  15. RESTful Web Services

The book doesn’t cover all of Java EE 7 (batch processing, for example, is not covered), but it does cover a good deal of the platform, focusing primarily, as the title suggests, on those technologies most likely needed to get started with Java EE development.

Each section gives enough background to give the user a good understanding of where we were prior to each specification’s creation. While some may scoff at the brig history lessons, I find it helpful to understand the technology in its historical context, as it tends to explain many of the design decisions and trade-offs made. Antonio then breaks down each area bit by bit in what I found to be pretty clear, concise language. He then walks the reader through building a small, working example so you can see all the pieces in place.

Technically, I found the book to be very solid and easy to read. It’s structured in a way that a reader can pick it up and read only what he needs, then come back later if, say, he decides to add a SOAP web service to the application. Also, while all of this information can be found on the web somewhere, Antonio has done a nice job of summarizing and explaining the technologies, allowing you to get started quickly and easily without having to fumble all over the web for details. When starting with something as large as Java EE 7 can be, that’s a real plus. The few dollars this book costs is far less than the cost of time spent with a search engine.

The book is not, I think, only for beginners. I’ve been using JavaServer Faces, JPA, and JAX-RS for many years now, and I still found things in the book I didn’t know, or learned better ways of doing things as I read.

There are a few quirks in the book, though, that may or may not bother you, depending on how picky you are. There are a few typos here and there, and, as some reviewers on Amazon have noted, the formatting on ereaders can be a bit funny at times, though I found that most of the formatting can be easily fixed by rotating your device to landscape. At any rate, these are minor quibbles that should only be an issue if you let them. :)

Overall, a very solid, helpful book. If I were onboarding a developer, especially a junior developer or one new to Java EE, intended to help develop any sort of Java EE 7 system, this book would be on my short list of must haves.

Quotes

Sample quote

Quote source