Sunday, January 31, 2010
Book Review - JBoss AS 5 Development
This book found here.
Book Review for "JBoss AS 5 Development" by Packt Publishing
This review is for "JBoss AS 5 Development", which has the subtitle "Develop, deploy, and secure Java applications on this robust open source application server". Having gone through the book with IDE in hand, I would have to say I find the subtitle more indicative of the content than the first part of the title. Later I'll try to explain why I feel so.
The book promises to cover a great amount of territory. Roughly, the 14 chapters cover these topics:
- Installation of the application server and Eclipse-based IDE toolkit
- Major differences between JBoss AS 5 and previous versions
- Customizing your JBoss installation
- Developing EJB 3 Session beans
- Working with JPA
- Writing a web application (JSF)
- The new JBoss messaging subsystem (JMS)
- Writing Hibernate applications on JBoss
- JMX and MBeans
- JBoss Web Services
- Clustering JBoss servers
- Writing Clustered Applications
- JBoss AS Security
- Securing applications under JBoss
If that seems like quite a list to digest, I would agree. The last 4 chapters give a hint to the depth of content the reader will encounter. In those cases, the author first presents an overview chapter about how the application server handles the topic (clustering, security), then follows it up with a whole chapter about applying the implementation details. I thought this struck the right balance between being too high-level (as many books might be) versus being overly detailed (as the old JBoss 4 AS doc book could be in places.)
I think this book will be an excellent acquisition for anyone who is certain they will be working with JBoss AS 5. The author has a deep understanding of the application server and writes in an easy to understand style. The book covers a great amount of 'real world' territory that is sure to be of interest for anyone tasked with moving an application to production under JBoss AS 5. Subjects like security and clustering (must-haves in a production environment) are given enough coverage that they can be of immediate practical use. (Note: these topics are not of vital importance in a pure development effort. A great amount of development can be done without paying attention to either security or clustering.) This is one reason I consider this book to be an interesting blend of development material and administrative material-- it is clearly not a pure development book.
For those that are interested in learning JEE but are not certain they'll be using JBoss, I'd suggest they should consider this book but also compare it to other titles, perhaps one of Packt's excellent NetBeans/GlassFish titles. This is not the fault of the book-- the author does a good job of walking the reader through various exercises in building EJBs, a JSF front-end application, a web service application, etc. The reason I don't suggest this book for new students of JEE is that the raw toolkit is just not at the same level some other open source development stacks are at. (Notably, NetBeans 6.8 and GlassFish). Putting it plainly, there are more than a few things that can go wrong in putting together a JEE application with JBoss Tools-- if the user isn't seasoned in problem analysis and debugging, it could easily lead to frustrations and an unsatisfactory experience.
If you're already confident in your ability to write and deploy JEE apps, you should find this book to your liking. Intermediate to advanced JEE developers ought to find plenty of material to keep them interested. Performance tips, JBoss specific extensions, and expert usage tips for enterprise Java development all get good coverage. The author knows the ins and outs of using JBoss AS 5, and is generous in providing tips in effective usage of facets the reader is likely to encounter. The author also provides good high-level overview material (which usually precedes the detail), which helps keep the reader grounded in the larger context of what's being conveyed.
The book provides a reasonable number of illustrations, including screen shots of JBoss Tools wizard screens. I found these of reasonable value, but have to admit I'm of mixed emotions on the toolset itself. It does a great job of some things (I love the packaging wizard that let's you declaratively roll up .jars, .ears, etc.). On the negative side, it makes some actions much more difficult than they have to be. I thought the author did a good job of providing meaningful illustrations where an abstract idea was being presented, especially in the security and clustering chapters. I once made a presentation at JBoss World about studying for the Sun Certified Enterprise Architect exam using JBoss-- I wish I'd had those illustrations then! I guess my SCEA is now a depreciated asset-- maybe we'll have to study for 'Oracle' architectural credentials in the future.
All things considered, this book will be an excellent source of information and reference for anyone using JBoss AS 5. I'm sure it will prove value time and again as the reader delves into the various corners of enterprise Java. This book offers expert insites on many topics and does it in an easy to read manner.