Programming Jabber

Adams' greatest feat is proving Jabber to be much more than an IM system by concentrating on the infrastructure provided by the technology.
Book Review: Programming Jabber by D. J. Adams

O'Reilly & Associates, Inc., 2002

ISBN: 0-596-00202-5

$39.95 US (hardcover)

I've always been intrigued by the idea of using Jabber as a router for XML messages, which happens to be the topic of D. J. Adam's Programming Jabber.

Things start out well enough. The first example program appears on page 7, and even better, it's in Perl. Unfortunately, the next example program, a script for registering new Jabber users, appears 221 pages later. In between is a detailed description of the Jabber protocol and gobs and gobs of XML. This material is authoritative, but I wonder whether an appendix or two wouldn't have been a better place for much of it. This critique is especially true for the descriptions of the Jabber.xml configuration file in Chapter 4 and Jabber namespaces in Chapter 6. In addition, this material is tough going. The book is written in the style of a reference guide, and it's pretty dry.

Thankfully, the remaining chapters (7-10) are the book's salvation. This material describes programming Jabber and its protocol from a number of perspectives. Not only does Adams provide explanations for writing a series of Jabber clients, but he also shows readers how to extend Jabber with a custom component. There's even a program that interfaces with LEGO MindStorms to determine whether there's coffee in the pot.

The book covers three programming languages, Java, Python and Perl, with Perl receiving the most coverage. With each of the languages, I would have welcomed brief coverage of the libraries Adams relies on in his code. Granted, it's a book about Jabber's protocol, but it would be more complete if it included further information on the various Jabber libraries.

Adams' greatest feat is proving Jabber to be much more than an IM system by concentrating on the infrastructure provided by the technology. The book covers release 1.4.1 of Jabber. The most recent stable release is 1.4.2 (as of December 2002), so the book is highly relevant to the current Jabber. With release two of Jabber now in alpha, a second edition will be needed soon. For now, Programming Jabber is a resource that Jabber programmers won't want to be without.

—Paul Barry


One Click, Universal Protection: Implementing Centralized Security Policies on Linux Systems

As Linux continues to play an ever increasing role in corporate data centers and institutions, ensuring the integrity and protection of these systems must be a priority. With 60% of the world's websites and an increasing share of organization's mission-critical workloads running on Linux, failing to stop malware and other advanced threats on Linux can increasingly impact an organization's reputation and bottom line.

Learn More

Sponsored by Bit9

Linux Backup and Recovery Webinar

Most companies incorporate backup procedures for critical data, which can be restored quickly if a loss occurs. However, fewer companies are prepared for catastrophic system failures, in which they lose all data, the entire operating system, applications, settings, patches and more, reducing their system(s) to “bare metal.” After all, before data can be restored to a system, there must be a system to restore it to.

In this one hour webinar, learn how to enhance your existing backup strategies for better disaster recovery preparedness using Storix System Backup Administrator (SBAdmin), a highly flexible bare-metal recovery solution for UNIX and Linux systems.

Learn More

Sponsored by Storix