Java EE 6 Development
Java EE 6 Development With NetBeans 7 aims to show developers how to write Java EE 6 applications using the latest version of Oracle’s NetBeans IDE - NetBeans 7.  The book focuses on using GlassFish as the application server used for developing applications  One of the most useful aspects of this book is that way that it teaches the reader how to use NetBeans as well as how to develop Java EE 6 applications.  Whenever there are NetBeans features (for example shortcuts) that are pertinent to the development in question, these are explained with the end effect that the reader becomes more productive in NetBeans as well as in Java EE 6.

The book starts with taking an overview of NetBeans 7 showing how to download, install and configure the software.  NetBeans 7 can be downloaded pre-configured to work with GlassFish and Java DB, but instructions are provided on how to install other applications servers (such as JBoss) and Databases (such as HSQL).  Although other Java EE 6 application servers could be used throughout the book, the focus is on Java EE 6 itself rather than on the application server.  I’d therefore recommend using GlassFish first and then re-reading if GlassFish isn’t your preferred application server.
After introducing the reader to EE 6 development using NetBeans, there are several chapters that provide a learning trail for Web Development.  First, JSPs are introduced and a simple application is developed using purely JSPs.  The application is enhanced using servlets and JSTL implementing basic security along the way. For developers new to EE 6 development, these chapters provide a good overview of how Java web development used to be and give an appreciation of the underlying technologies used within web development.  Fortunately web development has moved on from the basic JSP/Servlet model and we now have frameworks such as Java Server Faces and component libraries such as PrimeFaces.  These are described at the end of web development section of the book showing how NetBeans offers first class support for both of these technologies.
What web application would be complete without the use of a database?  Fortunately Java EE 6 provides the Java Persistence API.  NetBeans offers excellent support for managing JPA and this is described in the book.  The author doesn’t go very deep into JPA (after all, there are entire books written about it), but provides enough details to allow developers to start learning and start using the features provided by NetBeans.  Features such as creating entity classes from a RDBMS schema or generating JSF applications from JPA entities are all explained in detail.
In the next section of the book, the author describes how to implement EJBs for implementing business tiers with Session Beans and messaging solutions with Message Driven Beans.  Again, plenty of code samples are provided together with tips on how to effectively use NetBeans.  The new Contexts and Dependency Injection (CDI) framework  is also discussed showing how this can be used to integrate the business and presentation tiers of a Java EE application.
If you need to provide interoperability with non-Java EE based systems, then perhaps you need to look at Web Services.  The final two chapters of the book provide an overview of how developers can use NetBeans to write both SOAP and RESTful web services using JAX-WS and JAX-RS.  Development of web services is one of the areas where the combination of GlassFish and NetBeans provides a superior developer experience to other environments.  The ability to develop and modify web services using simple wizards (or via code if you don’t like wizards) and then easily deploy and test is one of the key advantages of Oracle’s Java EE 6 Development/Deploy environment.  As in the rest of the book, there are plenty of samples and the descriptions are informative and easy to understand.  
Finally, the book contains 2 appendices showing how NetBeans can be used to debug and profile enterprise applications - two features that will probably be used widely by all enterprise developers.
Packt Publishing describe the book as being “aimed at Java developers who wish to develop Java EE applications while taking advantage of NetBeans functionality to automate repetitive tasks and to ease their software development efforts.  Familiarity with NetBeans or Java EE is not assumed.”  I’d agree with that and would recommend the book to any developer starting out with Java EE 6.  Even if NetBeans isn’t your preferred IDE, using it in conjunction with this book will almost certainly allow you to learn and become more productive in Java EE 6.
Recommended reading for anyone wishing to learn NetBeans and Java EE 6.
Java EE 6 Development with NetBeans 7 by David R Heffelfinger, 374 pages, ISBN 978-1-849512-70-1
Thanks to Nicole at Packt Publishing for providing me with a copy of this book to review.



Leave a Reply.