What’s Inside

This book is not particularly about IM per se. Nor is it about the bridges to other IM systems. It’s about the essence, the ideas, and the potential behind that concept and reality called Jabber.

You will learn about the Jabber protocol and how to use Jabber’s technology to implement not only IM-based solutions but also solutions that don’t involve inane chat. You’ll learn how to install and configure your own Jabber server. You will discover more about the features of Jabber that give it its propensity for being an ideal messaging glue for many communication solutions; all of Jabber’s technology features—the building blocks and the protocol itself—are explained; and you’ll get to know how Jabber can be implemented in a variety of situations—some involving IM, others not—through a series of application and problem scenarios with fully working code examples, or recipes, in Perl, Python, and Java.

Here’s a brief overview of what’s in the book:

Part I

The first part of this book provides you with an introduction to Jabber; you’ll learn about its features, why it’s more than an IM system, and how to install and configure a Jabber server of your own.

Chapter 1

We begin with an imaginary conversation with human and application participants that shows how Jabber provides the supporting messaging “plasma.” A short script shows how simple it is to make use of Jabber’s power.

Chapter 2

We take a look at some of the features—the nature—of Jabber, to understand why Jabber is more than just an IM system. The features introduced in this chapter will be revisited as core building material for our recipes in Part I.

Chapter 3

Here you’ll learn how to retrieve and install the Jabber server and perform minimal configuration, enough to be able to fire it up and use it as a basis for the recipes in Part I. Some troubleshooting and monitoring tips are also included.

Chapter 4

Once we have our Jabber server installed and running, we take a closer look at how the server has been designed. We focus on the server makeup and the different ways it can be deployed. A detailed tour of the standard configuration is also in this chapter.

Part II

The second part of this book provides detailed information about the Jabber protocol and a series of recipes—practical solutions to everyday problems—deployed in Jabber. The recipes use various Jabber features as a way of illustrating parts of the protocol.

Chapter 5

We take a detailed look at what Jabber looks like under the hood. We examine Jabber IDs (JIDs), resource and priority, and XML streams, and the basic Jabber building blocks (<message/>, <iq/>, and <presence/>).

Chapter 6

This chapter focuses on the standard Jabber namespaces used to accomplish IM-related and other tasks. A description for each one is given in turn.

Chapter 7

This chapter looks at the steps needed to create and authenticate with a user and examines the different types of authentication. We also build a utility to create users in order to generate users for our recipes.

Chapter 8

This chapter looks at some simple examples of Jabber deployment using basic features of message and presence, including presence subscription.

Chapter 9

Extending the themes introduced in Chapter 8, we look at how messages can be extended to carry custom and compartmentalized data and how to write a ‘bot that serves in a conference room. Furthermore, we look at how components are defined and written and examine how different event models can coexist with Jabber’s.

Chapter 10

This chapter shows diverse applications of Jabber, from building an online address book using Jabber as infrastructure, through exchanging XML-RPC-encoded requests and responses over Jabber, to extending the client scope of SAP’s R/3 business software.

Get Programming Jabber now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.