O'Reilly and Associates
There are few applications so beneficial, pervasive, and--oftentimes--complex as network printing. Network printing is beneficial because it reduces the number of printers required for an organization. Allowing users to print to a limited set of printers, rather than requiring a printer for each user realizes an obvious reduction in capital cost. This also equates to a savings in space requirements and power consumption. (These are two often overlooked but important factors.) The reason network printing is so pervasive is directly a result of the benefit of network printing--it reduces cost, both in terms of capital outlays and maintenance.
Unfortunately, network printing can also be quite complex. This is especially true for heterogeneous networks. In a heterogeneous network, not only do administrators need to worry about printers and print servers speaking the same lingo, but also that each device is actually using the same network layer protocols (i.e., TCP/IP). Even when a network is homogenous there can be difficulties, especially in large organizations where printers number in the hundreds or thousands.
In order to combat this complexity, and with it's resulting rise in cost and overhead, an administrator needs a solid set of documentation and a framework from which to grow. O'Reilly has attempted to satisfy just this need with their release of "Network Printing," by Todd Radermacher and Matthew Gast. "Network Printing," published in October of 2000, provides a step-by-step guide for building an infrastructure to support network printing in heterogeneous networks (and, by extension, homogenous ones as well).
So what exactly does Radermacher and Gast, the authors, bring to the table? Both Radermacher and Gast have several years of experience in the computer industry. They also both have a very readable writing style, and consistently speak to the reader in the first person. (This helps to engage the reader in the material, and often leads to more readable technical literature.) Now, on to the book!
In Chapter 1, "A Brief History of Printing and Publishing", Network Printing begins with a general introduction to printing in general. By "in general" I mean the entire field of printing, and not just network printing. The authors give a quick overview of the history of printing, including the introduction of such notables as papyrus scrolls and the Linotype. Personally, I feel this type of material is usually best left to the history books, but you may disagree.
The second chapter, "Printer Languages," progresses to the more relevant topic of page-description language. A page-description language is the lingua franca used by a print server and a printer. Common examples, and ones that are covered in the book, are Adobe's PostScript and Hewlett-Packard's Print Command Language (PCL). All in all, the authors do a good job of summarizing these languages. However, if you are looking for in-depth coverage, you will need to go elsewhere.
Chapters 3, 4, and 5 concern three popular UNIX print systems currently in use: BSD, SysV, and LPRng. The emphasis of the book is on using UNIX as the central print server platform for an organization, so the concentration on these systems is important. (However, I would have liked to see more focus on NT print servers.) Special attention is paid to print filters, which form the core of the UNIX print process.
In Part II, "Front-End Interfaces to UNIX queues," the authors begin with the requisite chapter on Samba. Chapter 6, "Connecting Windows to UNIX Servers: Let's Samba", describes deploying Samba on UNIX machines so that the servers can interface with Windows networks. Certainly, this book is not the end-all for documentation relating to Samba and it's various configuration options, but Gast and Radermacher cover it in enough detail to get the reader up and running.
After the coverage on Samba and Windows environments, the authors move to a more underserved support issue in many books stressing UNIX solutions: integration with Macintosh and NetWare networks. In Chapters 7 and 8 the authors cover netatalk and ncpfs, respectively. Similar to the Samba chapter, the authors' main focus here is to educate the reader about the aspects of the support software relating to printing.
In Part III, "Administration," Radermacher and Gast enter into one the more crucial aspects of network printing--effectively and efficiently administering the system. At this point the authors assume you have the knowledge to implement network printing for the various networks covered, and they move to making the system not only effective but also efficient.
In Chapter 9, "Using SNMP to Manager Networked Printers," the authors demonstrate how to use SNMP to monitor and control your printer infrastructure. Of note is their good overview of SNMP, and review of SNMP agents, such as MRTG. Not the strongest chapter in the book, but more than sufficient.
Next, in Chapter 10, "Using Boot Servers for Basic Printer Configuration," and Chapter 11, "Centralized Configuration with LDAP," the emphasis is on methods for maintaining a centralized configuration for all of the network printers. In small to medium networks these chapters may not be truly useful, but for large installations, centralized configuration is vital. The chapter on LDAP is especially informative, and offers several insights.
Finally, in Chapter 12, "Accounting, Security, and Performance," the authors tie many loose ends left from earlier chapters. The main point of this chapter is demonstrating the use of scripts for accounting and monitoring and tuning server performance. The section on security is rather small unfortunately, and I would have liked to see more detail. Alas, it was not forthcoming.
In conclusion, I think this was a rather well done book. The authors did an excellent job of keeping a rather boring subject (for most of us at least) somewhat upbeat. I also was quite happy to see several rather keen insights, especially the use of LDAP to pull configurations to print servers. If you are a network administrator that is not afraid of Linux or UNIX and need to better organize and control your printer infrastructure then this is an excellent resource.