Search in Book Reviews
The chapters are not grouped in sections and they have a standalone feel (which I comment on later in this review), so to mention what the book covers one has to mention all the chapters. These are, in order: installing and building the JBoss server, the JMX microkernel, naming, transactions, EJBs, messaging, connectors and security on JBoss, web applications, MBean services miscellany, the CMP engine,web services, hibernate and Aspect Oriented programming.
It certainly seems from the table of contents that the book will be a comprehensive reference work. However, appearances can be deceptive.
This book has a misleading title. It is not a guide to JBoss. It assumes alot of knowledge about J2EE and J2EE servers and dives right in to how to configure JBoss without explaining much about what JBoss is or how you would use it to develop, deploy and administer a J2EE application that uses JBoss. A high level of understanding of J2EE and JBoss are prerequisites for reading this book. This alone is insufficient to give the book a "not recommended" rating. The other reasons are poor idea and factual presentation, excessive and unhelpful XML listings, poor structure and insufficient introductory and explanatory material.
First, even if the book is not a JBoss guide I would expect some introductory material that explains what JBoss as a whole is for and what the main purpose of each component is. This was lacking.
The presentation is poor throughout. The vast bulk of the book is page after page of XML configuration file fragments. This gives the impression that it has been hastily thrown together with XML given at every opportunity in order to pad the book. The diagrams that show certain nodes for a particular part of an XML configuration also seem to be padding and are very poorly produced. The print is sometimes tiny, far too small to read. This also applies to many of the UML diagrams. Some of the diagrams look like they were done in colour originally and much larger and then later a decision was made to photoreduce them and produce them in black and white. One part of the text even asks the reader to refer to the "blue part", but all the diagrams are done using a dark grey shading. This adds to the impression of low quality.
The explanations are very superficial and there is hardly anything that helps to place the facts in context. The lack of detail gives me the impression that the main focus is to cover the XML configuration parameters. In several places where one would hope to find some detail or background one is referred to an external spec (e.g for JBossMQ, JCA (connectors), JSP 2.0 (Tomcat), and Hibernate documentation). The writing style also seems to be quite dry.
Finally, the book seems to lack structure. The table of contents seems to divide things up well but the chapters actually turn out to be quite distinct. There is nothing to link them together or show the reader where things are leading. Each chapter also lacks structure as it typically has a one or two paragraph introduction to the topic (insufficient) followed directly by page after page of poorly produced XML with insufficient supporting explanations.
This lack of structure renders the book unsuitable as a reference tool. The standalone approach to each chapter means that the book as a very uneven flow. The early chapters are gruelling, with details on the JBoss microkernel architecture being covered in the second chapter. Other later chapters, such as the ones on security and messaging are a little lighter. The one I found the easiest and most informative was the last chapter on Aspect Oriented Programming (AOP).
The book is available on-line (http://docs.jboss.org/jbossas/jboss4guide). Some people feel, as I do, that is can be worth buying a book that exists on-line, so that one can annotate the hardcopy. However, in this case it is probably not worth it. This is because there is so much tutorial information missing and the information that is purely related to which XML configuration parameters there are for a given component can just as easily be found using the online documentation. Some chapters are extremely light, and the reader is referred to the main documentation for the component (e.g the Hibernate chapter is only five pages long and refers you to the book "Hibernate in Action" by Manning). This is another reason to prefer the online documentation.