Jabber is a set of protocols expressed in
XML, and an
extensible framework that allows people and applications to
exchange all sorts of information, from simple text
messages to being used to extend the backbone of an
enterprise data system.
Jabber gives you the power to build
applications that have identity, presence, and that can
take part in
conversations.
Programming Jabber offers developers a chance to
learn and understand the Jabber technology and protocol
from an implementer's point of view. Detailed information
of each part of the Jabber protocol is introduced,
explained, and discussed in the form of mini-projects, or
simple and extended examples. Programming Jabber
provides this foundation by:
- Showing you how to install and configure
the Jabber server
- Providing a detailed overview of the server
architecture and configuration options
- Covering the core Jabber technologies such
as XML streams and Jabber identifiers
- Referencing all of Jabber's XML
namespaces
- Examining the client registration and
authentication phases
- Showing how to deploy your own Jabber-based
messaging solutions
- Demonstrating how to embed XML-RPC-style
call mechanisms into Jabber
Programming Jabber is divided into two parts. The
first part serves as 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. The second part provides detailed information about
the Jabber protocol, and a series of practical examples,
whichcan be used to solve everyday problems. The examples,
in Perl, Python, and Java, use various Jabber features as a
way of illustrating parts of the protocol.
Programming Jabber provides the foundation and
framework for developers to hit the ground running, and is
the essential book on Jabber.
Contents
Preface
PART 1: Getting Started
with Jabber
Chapter 1. Introducing
Jabber
Imaginary Jabber Conversation
A Simple Script
Chapter 2. Inside Jabber
XML-Based
Asynchronous Nature
Messaging
Payload Carrier
Request/Response
Component/Service Architecture
Custom Clients
XML-RPC and SOAP
Browsing
Chapter 3. Installing the
Jabber Server
Downloading the Jabber Server
Installing the Server
Configuring the Jabber Server
Starting and Stopping the Jabber Server
Monitoring and Troubleshooting the Server
Chapter 4. Server Architecture
and Configuration
An Overview of the Server Architecture
Server Configuration
A Tour of jabber.xml
Component Instance: sessions
Component Instance: xdb
Component Instance: c2s
Logging Definition: elogger
Logging Definition: rlogger
Component Instance: dnsrv
Component Instance: conf
Component Instance: jud
Component Instance: s2s
The io Section
pidfile Section
Managing the Configuration
Server Constellations
PART 2: Putting Jabber's
Concepts to Work
Chapter 5. Jabber Technology
Basics
Jabber Identifiers
Resources and Priorities
XML Streams
Jabber's Building Blocks
Chapter 6. Jabber
Namespaces
Namespace Usage
The IQ Namespaces
The X Namespaces
The X::IQ Relationship
Miscellaneous Namespaces
Chapter 7. User Registration
and Authorization
XML Stream Flow
User Registration
User Authentication
User Registration Script
Chapter 8. Using Messages and
Presence
CVS Notification via Jabber
Dialup System Watch
Presence-Sensitive CVS Notification
Chapter 9. Groupchat,
Components, and Event Models
Keyword Assistant
Connecting Devices to Jabber
An
RSS News Agent
A Simple Headline Viewer
Chapter 10. Pointers for
Further Development
A Simple Jabber-Based Address Book
XML-RPC over Jabber
Browsing LDAP
Building an ERP Connection
Appendix A. The jabber.xml
Contents
Appendix B. The IQRPC Classes
for JabberRPCResponder
Index