Unterschiede zwischen Jabber und XMPP

XMPP-Logo versus Jabber-Logo

Was sind eigentlich die Unterschiede zwischen Jabber und dem XMPP-Standard?
Diese Frage haben sich bestimmt einige schon gestellt. Die Suche im Internet führte (jedenfalls mich) auf die Schnelle nicht zu einer befriedigenden Antwort. Entweder werden die Begriffe gleichgesetzt oder aber XMPP wird nur als die „standardisierte“ Version von Jabber bezeichnet.
Nun, das stimmt natürlich auch mehr oder minder. Und dass die Unterschiede überschaubar sein würden, davon konnte ausgegangen werden. Schließlich ist aus dem in der Community entwickelten Jabber das von der IETF offiziell abgesegnete XMPP geworden. Nun bin ich auf eine Auflistung der Unterschiede gestoßen – am dafür naheliegendsten Ort, nämlich dem Standard-RFC selbst (RFC3920). Hier einmal kurz (und hoffentlich korrekt ;-)) zusammengefasst, was dort so aufgelistet wird:

Channel Encryption

Bei Jabber war SSL vorgesehen. Bei XMPP wurde der „Nachfolger“ TLS vorgeschrieben.

Authentication

Beim XMPP wurde das standardisierte SASL-Verfahren für die Authentifizierung festgelegt, bei Jabber wurde diese wohl in einer selbstgebackenen Lösung realisiert. Für die Server-zu-Server Verbindung  wurde vor der Standardisierung kein vollständiges Verfahren festgelegt. Auch hier springt bei XMPP SASL in die Presche.

Resource Binding

Das Hinzufügen der vorgeschriebenen Ressource-ID war früher Teil des Authentifizierungs-Mechanismus, heute wurde dafür ein eigener Namespace definiert

JID Processing

Die Verarbeitung von JID’s waren schlecht oder gar nicht definiert. Dieser Missstand wurde im XMPP behoben.

Error Handling

Im XMPP wurde ein erweiterter Mechanismus eingeführt, welcher sich um die Fehlermeldung innerhalb von Streams und Stanzas kümmert. In Jabber wurde hier wohl mit HTTP-ähnlichen Error-Codes verwendet.

Internationalization

Auch wenn UTF-8 schon seit eh und je in Jabber verwendet wurden, wurde keine Möglichkeit vorgesehen, um die Sprache des menschenlesbaren Parts zu definieren. Hierfür wurde im Standard ein „xml:lang“-Attribut eingeführt.

Stream Version Attribute

XMPP führt für Streams eine Versionierung ein, welche es beispielsweise ermöglichen soll, Rückschlüsse auf die Unterstützung für verschiedene Authentifizierungs- und Verschlüsselungsmechanismen zu signalisieren.

So, mehr wird im RFC nicht aufgelistet. Klingt ja nach recht sinnvollen Änderungen, die sie da vorgenommen haben. Vielleicht hilft diese Zusammenstellung ja mal dem Einen oder Anderen, der eine Präsentation oder ähnliches über das Protokoll halten will oder sich einfach auch fragte, was sich wohl geändert haben mag. Fest steht jedenfalls, dass der Name Jabber (zu deutsch: plappern, quasseln) wesentlich leichter von der Zunge geht, als XMPP – von daher wird er wohl (zu Recht) langfristig ein Synonym hierfür bleiben.

Das XMPP-Logo steht unter dem Copyright der XSF, vgl. [1], [2].

1 Kommentar

  1. Allerdings ist „Jabber“ eine Registered Trademark und kann so teilweise nicht ohne kostenpflichtige Lizenz verwendet werden. Außerdem verwendet der Trademark-Inhaber Cisco den Begriff „Jabber“ wohl teilweise auch für Produkte, die rein gar nichts damit zu tun haben. Mir gefällt die Bezeichnung „Jabber“ auch besser als „XMPP“, allerdings sollte man aus den o. g. Gründen besser auf die Verwendung verzichten, und „XMPP“ etwas mehr verbreiten.

Schreib einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*