Timing is everything, they say. I was recently given the responsibility of renting a Web server and configuring Tomcat. Unfortunately, I had no experience with Tomcat, and therefore no idea of how to configure this “reference” servlet-based Web server. That’s when Computing Reviews asked whether I would be interested in reviewing this book about Tomcat administration and configuration. Again, timing is everything. At first, I tried to peruse the book to quickly perform the configuration. That did not work; I felt the book was not intended for that purpose. Sure, all of the important topics are presented, but I found it very difficult to just extract what was needed to perform the configuration. I then started to read the book cover to cover. I realized that Tomcat is more complex than it first seems, and that I was lacking the conceptual knowledge that would let me skip to appropriate sections of the book. That changed after I had gone through chapter 8. From that point, I did not feel the need to read everything in detail, since I had learned enough about the structure of Tomcat to skip to appropriate sections.
Overall, I found that the book addressed all of the basic details required to configure Tomcat. Even for a newcomer like me, it was not difficult to do basic configuration. However, the book did not wander very far from basic configuration, or at least the minimal configuration examples readily available in the configuration files that come with Tomcat. The presentation of the different functionalities was either too abstract or too detailed. Tomcat is quite flexible. This flexibility makes configuring it complex, or at least makes understanding how to configure it complex. To achieve this flexibility, the configuration file uses many abstract concepts: valve, host, connector, and so on. For the neophyte, the use of these terms is not self-explanatory. Unfortunately, the book provided only a little help in better understanding these very abstract concepts. I got the impression that the expected readers were experienced Tomcat administrators, who were used to the terminology. At the other extreme, a whole chapter (chapter 2) is devoted to the point-and-click steps required to install Tomcat, Java, and Ant. This is unnecessary for most readers.
As I was reading the book, I found many errors that would confuse the casual reader. In one case, a sample listing defines a resource (TestDB) and the text describes the listing snippet as defining a resource with a different name (CatalogDB). In another case, the book indicates that it might be necessary to change the head size of the Java Virtual Machine. It describes the Java command options to perform the change, but the book does not say where to make the change in the Tomcat configuration files.
Overall, I would say that this book does cover its topic thoroughly; indeed, I was able to properly configure my Web site to my liking, based on the explanations in the book. Its structure is very technical, however, with little or no effort made to make things clear to someone who doesn’t have a strong Web administration background.