Friday, June 07, 2013
I have been working hard for over a year now on my most recent publication entitled 'Java EE 7 Recipes: A Problem-Solution Approach', published by Apress (May 2013). This book covers the Java EE stack from the ground-up, and it includes coverage of EE 7 specific features, such as JSF view actions, WebSocket API, and Concurrency Utilities for Java EE. Therefore, I feel that the book will be a good read for beginner, intermediate, and advanced Java Enterprise developers.
The first chapter begins by walking readers through recipes regarding the setup of a Java Enterprise environment, including specifics on how to install and configure Glassfish v4, a fully Java EE 7 compliant application server. It then quickly delves into the development of Java Servlets, including coverage of newer concepts such as registering servlets without WEB-XML, and non-blocking I/O.
Chapter 2 covers JSP from the ground-up. Although JSP is no longer the preferred option for enterprise application development, it is still a very viable and widely used technology. Therefore, this chapter will be handy especially for beginner and intermediate level developers so that they can have a better understanding of how JSP technology works, and where it may be the most useful.
Next, the book delves into JavaServer Faces technology, with in-depth coverage that spans four chapters (Chapter 3 - Chapter 6). Keeping with the theme of the book, readers will learn how to develop applications with JSF, including useful tips and techniques, as well as integration with third-party libraries such as PrimeFaces. The JSF 2.2 release (which is new with the release of EE 7), includes useful features such as the ability to invoke managed bean actions on life-cycle phase events (viewActions), and better integration with HTML5. This book will show seasoned JSF developers how to use these new features so that they can begin integrating them into new and existing applications.
No enterprise application would be complete without database access, and Chapters 7 and 8 provide coverage for JDBC and Object-Relational Mapping via the Java Persistence API (JPA). Chapter 7 provides coverage for utilization of JDBC technology for database access. The chapter covers everything from obtaining a connection, to handing errors, simplifying connection management, performing CRUD operations, and execution of database stored procedures. For those developers more interested in utilizing server-side database connection pools, etc., Chapter 8 covers the Java Persistence API. The chapter contains vital information for working with underlying data stores via JPA including data mapping and entity creation. It also hits upon EE 7 specific updates, including schema generation support.
Chapter 9 covers EJB technology, along with its new features via the release of EJB 3.2. Readers will learn how to utilize EntityManagers, differences between Stateless and Stateful Session beans, how to utilize EJB via JSF, and more. The new features covered include asynchronous message-driven beans (MDB), explicit designation of remote and local interfaces, and opting out of stateful session bean passivation. In Chapter 10, readers will learn how to query entities using the most up-to-date features in JPQL.
If you want to work with Java EE 7, you will most likely utilize GlassFish 4 application server since it is the first EE 7 compliant server. Chapter 11 includes content on how to get up-and running with GlassFish v4, utilizing the administration console for application and datasource management, and setting up authentication.
One of the most popular features of Java EE beginning with the release of EE 6 has been Contexts and Dependency Injection. Chapter 12 covers CDI in full detail, including recipes on injection, using CDI beans via JSF views, and more. It also covers new features such as the injection of bean metadata and the new @Veto annotation for marking classes as ignored by CDI.
Have you heard about the simplification of Java Message Service (JMS) in the new 2.0 release? Readers will learn all about the new simplified JMS API in Chapter 13, along with other JMS basics such as creation of resources, creating/sending messages, and the new message delivery delay.
Chapter 14 is a bit of an extension on Chapter 11, as it covers authentication and security for Java Enterprise applications, specifically those deployed within a GlassFish container. Almost every enterprise application requires a login form, and this chapter covers how to create one, and also how to utilize LDAP authentication for producing single-sign on solutions.
SOAP and RESTful web services have become significant technologies for the Java EE stack. Chapter 15 covers web services, both SOAP and REST-based services using JAX-WS and JAX-RS. Readers will learn how to create each type of web service, and utilize the new features of JAX-RS 2.0 such as the new client API.
Java is not the only language on the block any longer (or JVM, that is). It is not uncommon to see different languages being utilized to create entire enterprise applications for the JVM, or even for integration with existing Java EE applications. Chapter 16 includes a few short recipes showing how one may integrate Groovy or Jython into an EE application.
Chapter 18 covers the use of JavaFX for creation of enterprise applications. It demonstrates how to develop JavaFX front-end applications, and bind them to EJBs for use with data. There is also a recipe covering the use of JavaFX with RESTful web services.
Finally, both the Concurrency Utilities for Java EE and Batch Applications APIs have been added to EE 7. These APIs provide a standard for developing concurrent and batch applications for the enterprise. Coverage includes the creation of server-side resources (ManagedExecutorService, etc.) for concurrent application development, and creation of item-oriented batch processes.
Overall, the Java EE 7 Recipes book is perfect for those that are interested in getting up-to-speed with Java EE, including the latest features. For those who are already experts with Java EE and are only interested in the new features, stay tuned for the release of my upcoming book entitled 'Introducing Java EE 7', to be published by Apress within the next few weeks.
Posted by Josh Juneau at 9:55 AM