Apache MyFaces 1.2 Web-Application Development
I was asked to review the book https://www.packtpub.com/apache-myfaces-1-2-web-application-development/book
After some readings here is my review:
Writing a book is always a challenging task. Especially about powerful and flexible frameworks which offer different ways of handling business requirements. Bart Kummel, the author of the book, describes possible solutions for common requirements in a web-application step-by-step. Since there isn't "the right/perfect way of doing things" the book also won't show you the ultimate solution for all your problems. However, people who have some basic experience with JSF will get a nice step-by-step introduction to the popular sub-projects hosted by Apache MyFaces as well as some essential hints. If you will be happy with this book depends on your expectations. If you are using e.g. IntelliJ or NetBeans, you will miss some paragraphs about the IDE of your choice. Anyway, most of the book is written independent of a specific IDE so it shouldn't be a real issue.
The domain of the examples is quite creative and there is a good chance that you will have fun while reading and/or implementing the examples. A large part of the book describes MyFaces Trinidad. Besides a basic introduction to the basic concepts and mechanisms, you will find some tips for tuning the component library. Therefore, it's a nice addition to the official documentation. Furthermore, it might be easier for some people to read step-by-step descriptions instead of the existing documentation.
Besides the component libraries, the book also describes MyFaces Orchestra and MyFaces ExtVal in two separated chapters. Both chapters offer a basic introduction to these extensions and provide some important hints to get the basic ideas behind them. Even though the community started to improve the documentation, you currently won't find that many step-by-step descriptions for using the component libraries covered by this book. So the book is a nice addition to the existing documentation. For sure you won't find all details available in the component libraries and all possible approaches, but it offers an introduction which is important to understand the basic concepts and getting started with the Apache MyFaces project successfully.
If you are familiar with plain JSF, the book provides an overview of various MyFaces sub-projects and how to use them to improve your JSF experience. Also beginners will find some very interesting information. For example the chapter about Facelets provides a nice step-by-step introduction which allows a quick and productive start with this great technology.