Web Development With Apache And Perl: A Book Review
Title: Web Development with Apache and PerlAuthor: Theo PetersenPublisher: Manning Publications, Inc.ISBN: 1-930110-05-5
From the back cover: "Open source tools provide a powerful and flexible environment for web development and maintenance."
Now, this sounds like the right book for intra/inter/extranet development, and indeed, it covers all three in excellent depth for those who want to design and build a full and robust web site. The author takes the reader step-by-step through the workings of CGI, mod_perl, DBI, HTML::Mason, security, content management and organizational makeup for community, corporate and e-commerce sites. Within four chapters, there's a web site framework in place and working.
I was impressed with the quality and utility of the code presented. Useful scripts are always appreciated. The errata page for the book reflects the apparent effort expended by Manning and Theo in preparation--there is none so far. I thought I found a typo in the code on page 84, but lucky for me, I ran the script first to check. Guess what? It wasn't a typo. The typo was my small brain.
In order to use the book, the reader must already have the following on board:
DBI and driver for at least MySQL
A significant investment in time and effort, but well worth it--if only I knew in advance.
The first third of the book, which focuses on CGI basics and offers a thorough introduction to the Web from a commercial level, is excellent. If the reader is familiar with the Perl programming language and HTML, there will be a lot of positive reinforcement and ideas presented. If the reader is not familiar with the Perl programming language and HTML, but he or she is careful and takes the time to type and execute each script found, a true learning experience will be had.
The second third of the book was based heavily on having installed successfully Perl, DBI and mod_perl. This combination will certainly distract the reader for great lengths of time, installing and preparing for the material to come. I would have liked to see more parallel examples based on flat file data storage, in order to keep the reader moving forward. After all, Theo has written what appears to be a "keeper" for any programmer's bookshelf. Reference books that guide and explain in an easy-to-read format are not plentiful, but this book does just that.
The last third (it's actually divided into four parts, but I've combined the last two) of the book covers a lot of ground topic-wise, and it is an excellent and informative checklist for building for the future. Whatever kind of web site you might want to build, if you plan properly, it can be scaled indefinitely. And that is what makes this book so special. It identifies the considerations that come into play from the very beginning. Topics such as configuration, development platform, staging platform, production platform, backup and recovery, security, stress testing and maintenance all are covered beautifully. This is a must read for all those who want their site to perform and perform well.
The blogging experience was missing, though. Maybe in the next printing, we'll see Theo rethink his emphasis on HTML::Mason and move towards tools like Movable Type, a Perl-based weblog and others. Overall this is an excellent book, highly recommended for computer labs in schools, clubs or groups that want to build their own web sites from the "ground up". Just make sure someone in the group really likes the sysadmin part of setting up server configurations properly.
Tom Poe is presently working on the Open Studios Project at www.studioforrecording.org and lives in Reno, NV.