I welcomed the opportunity to review Java EE 6 Development with NetBeans 7 for several reasons. First, I frequently use NetBeans 7 and look forward to learning new things about this IDE. Second, I have not been able to use Java EE 6 as much as I would like (still using Java EE 5 and the Spring Framework for most of my "enterprise" projects) and I look forward to reading more about Java EE 6 advancements. Additionally, author David Heffelfinger authored Java EE 5 Development with NetBeans 6 and so clearly has experience with NetBeans and Java EE. Arun Gupta is one of the book's reviewers (as are Allan Bond and Bruno Vernay).
After quickly perusing the table of contents and reading sections that looked particularly interesting to me, I have several observations about this book that I'll briefly mention here. I plan to write a more comprehensive review in a later post.
One of the first things that struck me as I perused this book was the very large number of pictures. Although many technical books don't need pictures to be effective, it makes sense that a book on a graphically-oriented tool like NetBeans would have many images included. There are so many images that the almost 400 pages (including Table of Contents, Index, and other pages outside the core) read quickly.
This book's title (Java EE 6 Development with NetBeans 7) makes it pretty clear who this book will primarily benefit. The "Who This Book is For" section on page 3 makes this audience even more explicit by stating that the books is "aimed at three different types of developers": Java developers wanting to gain skills in Java EE using NetBeans, NetBeans users wishing to learn more about developing with Java EE and NetBeans, and Java EE developers who want to learn how to use NetBeans in their work.
Targeted Experience Level
Because of the significant use of screen snapshots in Java EE 6 Development with NetBeans 7, the book seems readily approachable for someone who lacks significant experience with Java EE 6 and/or with NetBeans 7. The book does assume that anyone reading the book has general Java development experience. For example, the author states this reasoning for not explaining how to acquire the Java 6 or later JDK: "Since this book is aimed at experienced Java Developers, we will not spend much time explaining how to install and configure the JDK, since we can safely assume the target market for the book more than likely has a JDK installed." Just in case someone lacks the experience, he provides a link to instructions to the Java Platform Installation Page.
I believe that anyone with moderate Java experience and especially anyone with at least some Java EE experience, will find this book approachable. The relatively low prerequisite knowledge required to learn from this book may mean that "Power NetBeans" users may not have as much to gain from reading this book as typical NetBeans users or people who aren't familiar with NetBeans. However, as is stated in the book itself, even developers intimately familiar with NetBeans in some areas of Java may welcome a book focusing on how to use NetBeans with Java EE 6.
This book appears to deliver on what its title and introductory text imply. Its chapters cover NetBeans topics (acquiring NetBeans, installing NetBeans, deploying enterprise applications on NetBeans, and using NetBeans's development productivity boosting features) and Java EE topics (servlets, JavaServer Pages, JavaServer Faces, Java Persistence API, session EJBs, CDI, JMS, and SOAP-based and REST-based web services).
General Java Development with NetBeans
It appears that the portions of the book on NetBeans are often applicable to more general Java development and are not exclusive to Java EE. For example, the two appendices (Appendix A on using the NetBeans debugger and Appendix B on using the NetBeans profiler) apply to Java development in general as do most of the background information and effective development tips related to NetBeans. There are, of course, areas that are more Java EE focused, but large sections are more generally applicable in Java development.
Products Used and Covered
Java EE 6 Development with NetBeans 7 obviously assumes Java EE 6 and NetBeans 7, but also assumes at least JDK 6 (although I'm guessing that JDK 7 works just fine for all examples) and assumes use of NetBeans's embedded GlassFish application server. The book clearly states that either the "Java EE" or the "All" bundle (I prefer "All" because of the Groovy support, but the Java EE bundle is leaner) must be downloaded for NetBeans to run the examples in the book. Perhaps the most surprising product covered (at least to me) was the Chapter 5 focus on PrimeFaces.
I intend to provide a more thorough review of Java EE 6 Development with NetBeans 7 in the near future. I look forward to reading it more deeply than the simple scanning and perusing I've done so far (though I have fully read the two appendices on debugging and profiling with NetBeans already). Not everyone believes that NetBeans is the best IDE for enterprise development, but I have a feeling that this book will showcase many of the reasons why NetBeans is great for enterprise development.