Datasheet

6
CHAPTER 1 GettinG to Know XMPP
Eventually the JSF and the extensions followed the naming change from Jabber to XMPP and
became the XMPP Standards Foundation (XSF) and XMPP Extension Proposals (XEPs).
By 2005, large-scale deployments of XMPP technology were well underway, highlighted by the
launch of Google Talk, Google’s own XMPP-based IM service.
Today, the XMPP ecosystem is quite large. Nearly 300 extensions have been accepted as XEPs, and
dozens of client and server implementations have been created both commercial and open source.
Software developers of virtually any programming language can find a library to speed their XMPP
application development efforts.
XMPP applications started out very IM-centric, reflecting its origins, but developers have found XMPP
to be quite capable for a number of applications that weren’t originally foreseen including search
engines and synchronization software. This utility is a testament to the power of an open system and
open standardization process.
Most recently, the IETF has formed a new XMPP working group to prepare the next versions of
the XMPP specications, incorporating all the knowledge gained since the original RFCs were pub-
lished. XMPP continues to be refined and extended so that application developers and Internet users
will always have an open, decentralized communications protocol.
THE XMPP NETWORK
Any XMPP network is composed of a number of actors. These actors can be categorized as servers,
clients, components, and server plug-ins. An XMPP developer will write code to create or modify
one of these types of actors. Each actor has its place on the XMPP network’s stage.
Servers
XMPP servers, or more accurately, XMPP entities speaking the server-to-server protocol or the server
end of the client-to-server protocol, are the circulatory system of any XMPP network. A server’s job
is to route stanzas, whether they are internal from one user to another or from a local user to a user
on a remote server.
The set of XMPP servers that can mutually communicate forms an XMPP network. The set of public
XMPP servers forms the global, federated XMPP network. If a server does not speak the server-to-
server protocol, it becomes an island, unable to communicate with external servers.
An XMPP server will usually allow users to connect to it. It is, however, also possible to write appli-
cations or services that speak the server-to-server protocol directly in order to improve efciency by
eliminating routing overhead.
Anyone can run an XMPP server, and full-featured servers are available for nearly every platform.
Ejabberd, Openre, and Tigase are three popular open source choices that will work on Windows,
Mac OS X, or Linux systems. Several commercial XMPP servers are available as well, including
M-Link and Jabber XCP.
40718c01.indd 6 11/30/09 8:23:49 PM