HomeApache Page 2 - Book Review: The Apache Modules Book
Chapters Two Through Five - Apache
The Apache Modules Book is the latest open-source software development book from Prentice Hall. The book forms part of the Open Source Development Series from Prentice Hall, which includes other titles such as Understanding AJAX and Embedded Linux. Dan Wellman looks at this book chapter by chapter to see whether it's a worthy addition to an open source developer's library.
Chapter two looks at the architecture of Apache and the platform with respect to application programming; it describes in great detail the different operational phases of Apache, what MPMs are and how they interact with the platform. It discusses the basic concepts and structures of the server, looks at some of the configuration basics and gives an overview of how requests are processed by the server. Again, this chapter serves as an introduction to bring you up to speed with how the server works, but unlike chapter one, there are detailed examples of the underlying code of some of the Apache header files, which is a helpful start for people that have only a basic understanding of Apache.
Chapter three delves into the Apache Portable Runtime (APR), which provides a portable, platform-independent layer for applications. APR modules consist of APIs and implementations of the functions contained in the API, and provide a useful abstraction layer between the applications programmer and the native system. Each of the APR functions are listed and described in detail, often with basic examples of use. Information is also provided here that describes processes such as memory management and resource pooling, buckets and brigades and the database module.
Chapter four moves on to discuss programming techniques and best practices that should be used when developing custom Apache modules. This is another scenario-based chapter in which points that are made are reinforced with code examples. The information in these three chapters gives you the foundation you'll need before beginning modular application development using Apache as a platform. This is a complex subject and at least a fundamental understanding of C is required. Without the information in the first few chapters a lot of the examples later in the book wouldn't make sense, so it's great that Nick included this kind of information for newcomers to the field.
Chapter five sees the creation of an actual module that is used and executed by Apache. No programming manual that introduces developers to a new language or platform would be complete without the Hello World! application, so it's great to see this tradition continued here. Where the preceding chapters were a little complex in places, with some of the examples and topics referring to advanced features and practices, it's refreshing to come back to a chapter that serves as a beginning and where the examples require a little less brain power to follow.