JBoss RichFaces 3.3

by John Turner

Posted on December 16, 2009


I have been developing with JBoss Rich Faces for a couple of years now and recently I decided to invest in a couple of books on the subject to try and obtain a better (more rounded) understanding of the framework. When purchasing books related to frameworks that already have good reference documentation I’m always sceptical that the book will provide additional insight above and beyond the freely available references.

One of the books I purchased was ‘JBoss Rich Faces 3.3’ which I set about reading from cover to cover. As with many of these books, it builds a sample application to demonstrate the use of the framework in a ‘real world’ application. In this instance, an advanced contact manager is developed.

The development of the application is demonstrated using Seam, Facelets, Hibernate JPA and Hibernate Validator which may or may not be desirable for the reader. I personally have no immediate interest in Seam and I found the level of content dedicated to Seam to be excessive. There are a number of books available on Seam and I would have purchased one of those had I wanted to read about Seam. I have used Hibernate JPA extensively and given that JPA is a standardised API it’s inclusion in the examples is welcome (it makes for more realistic examples).

The demonstration application used the AJAX components of Rich Faces extensively and this was one of the areas I wanted to focus on. Each of the AJAX components is discussed in the context of the contact manager application as well as smaller examples. This does a good job of relaying the key characteristics of the component and its attributes. In particular, the book does a reasonably good job of describing how the AJAX support components interact with the JSF lifecycle.

One thing that I would have liked to have seen was a significant working example of using the RichFaces tree components in conjunction with JPA entities. I have been toiling over this myself for some time now.

I’m not really sure that this book add’s anything to the freely available reference documentation but the tutorial style is certainly easier to read, particularly if you want to get up to speed quickly. Reading the reference documentation end-to-end would be as tedious as watching channel 4’s Big Brother dominated summer programming.