2nd edition. — Apress, 2010. — 508 p.
This book is not meant to be an exhaustive reference on Java EE 6. It concentrates on the most important specifications and highlights the new features of this release. The structure of the book follows the architecture layering of an application:
Chapter 1 briefly presents Java EE 6 essentials and the tools used throughout the book (JDK, Maven, JUnit, Derby, and GlassFish).
The persistent tier is described from Chapter 2 to Chapter 5 and focuses on JPA 2.0. After a general overview with some hands-on examples in Chapter 2, Chapter 3 dives into object-relational mapping (mapping attributes, relationships, and inheritance). Chapter 4 shows you how to manage and query entities, while Chapter 5 presents their life cycle, callback methods, and listeners.
To develop a transaction business logic layer with Java EE 6, you can naturally use EJBs. This will be described from Chapter 6 to Chapter 9. After an overview of the specification, its history, and a hands-on example in Chapter 6, Chapter 7 will concentrate on session beans and their programming model, as well as the new timer service. Chapter 8 focuses on the life cycle of EJBs and interceptors, while Chapter 9 explains transactions and security.
From Chapter 10 to Chapter 12, you will learn how to develop a presentation layer with JSF 2.0. After an overview of the specification in Chapter 10, Chapter 11 will focus on how to build a web page with JSF and Facelets components. Chapter 12 will show you how to interact with an EJB back end and navigate through pages.
Finally, the last chapters will present different ways to interoperate with other systems. Chapter 13 will show you how to exchange asynchronous messages with Java Message Service (JMS) and Message-Driven Beans (MDBs). Chapter 14 focuses on SOAP web services, while Chapter 15 covers RESTful web services.