jabberd and Components
The Jabber server is a daemon, jabberd, that manages the flow of data between various components that collectively make up the Jabber service. There are different components, each of which performs different kinds of tasks, and there is a basic set of components that is required for a simple Jabber server such as the one we configured and installed in Chapter 3.
The following list shows what the basic Jabber components are and what services they provide. It’s worth considering the original and most well-known application of Jabber—instant messaging—and a Jabber design feature (distributed server architecture) to put this list into context and make better sense of it.
- Session Management
We need to be able to manage users’ sessions while they’re connected to the server. The component that does this is called the Jabber Session Manager (JSM), and it provides IM features such as message store and forward and roster management, as well as session management.
- Client (to Server) Connections
This is the component that manages the connections between clients and the server. It is known internally as
c2s
.- Server (to Server) Connections
If there’s a requirement to send a message from a user on one Jabber server to a user on another Jabber server, we need a way for the servers to connect to each other. This component establishes and manages server-to-server connections and is known internally as
s2s
.- Logging
As in any server system, the ability to log events (error ...
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.