XMPP-Transport

Ein XMPP-Transport (auch XMPP-Agent oder XMPP-Gateway) ist ein Dienst innerhalb eines XMPP-Netzwerkes, der Nutzer anderer Instant-Messaging-Systeme transparent als XMPP-Nutzer repräsentiert.

Hiermit ist es möglich, andere Netzwerke (oft als Legacy Services bezeichnet) wie AIM, ICQ, Y!M, Gadu-Gadu oder IRC zu verwenden und mit deren Benutzern zu interagieren. Auch zu MSN gab es Transports, welche durch die Abschaltung von MSN jedoch obsolet wurden. Die Server „übersetzen“ dabei die Nachrichten zwischen den Netzwerken, ohne dass die beiden beteiligten Benutzer hierfür besondere Vorkehrungen treffen müssen.

Funktionsweise

Folgendes Beispiel soll den Ablauf zwischen Alice, die einen XMPP-Client benutzt und Bob, der bei ICQ registriert ist, veranschaulichen:

  • Alice übergibt dem Transport zunächst ihre ICQ-Anmeldedaten (ICQ-Nummer und Passwort).
  • Daraufhin loggt sich der Transport im Auftrag von Alice bei ICQ ein und verhält sich dem ICQ-Netzwerk gegenüber wie ein normaler ICQ-Client. Einerseits überträgt der Transport nun alle Nachrichten von Bob (im ICQ-Netzwerk) an den XMPP-Client von Alice. Andererseits leitet er alle Nachrichten von Alice an Bob weiter.
  • Bob bekommt von diesem Ablauf nichts mit. Ihm erscheint es so, als ob er direkt mit Alice kommunizieren würde.
  • In der Kontaktliste (bei XMPP „Roster“ genannt) von Alice wird Bob als „normaler“ XMPP-User dargestellt, obwohl er nicht mit dem XMPP-, sondern mit dem ICQ-Netzwerk verbunden ist.
Alice sendet ihre Nachricht zu dem XMPP-Server, an dem sie angemeldet ist. Von diesem wird die Nachricht zum XMPP-Transport gesendet. Der XMPP-Transport leitet sie über den ICQ-Server zu Bob weiter.

Jeder Benutzer von XMPP kann sich bei Transports registrieren, indem er seine vorhandenen Login-Informationen an diesen Dienst übergibt. Dazu müssen Clients Service Discovery[1] (kurz disco, zu deutsch „Dienste durchsuchen“) unterstützen. So ist es möglich, Server nach angebotenen Transports zu durchsuchen und ohne zusätzliche Installation von Plugins, Kommunikation mit Nutzern proprietärer Instant-Messaging-Netzwerke zu betreiben.

Obwohl das XMPP-Protokoll bezüglich der Umsetzung von Funktionen von Fremdnetzen keine Einschränkungen vorgibt, unterstützen die aktuellen Transports nur Basisfunktionen (Senden und Empfangen von Nachrichten, Sichtbarkeiten). Sofern Datentransfers und Chaträume unterstützt werden, ist die Nutzung zumeist nur eingeschränkt möglich.

Der Transport selbst wird auch durch einen Jabber Identifier repräsentiert. So kann man z. B. die Sichtbarkeit oder Abwesenheitsnachricht für das jeweilige Netz gesondert setzen, oder „für den Transport offline sein“, was ein Ausloggen aus dem jeweiligen Dienst bewirkt.

Vorteile

Der Vorteil dieses Konzepts ist, dass ein großer Teil der Komplexität von den Clients auf die Transports abgewälzt wird. Das erlaubt die Herstellung von reinen XMPP-Clients, die ohne Transports eine zu kleine Akzeptanz hätten.

Reine XMPP-Clients sind erheblich einfacher zu programmieren und zu warten, zumal das XMPP-Protokoll wegen der öffentlichen und stabilen Spezifikation gut implementiert werden kann. Davon profitiert letztlich der Endanwender, weil dadurch die Vielfalt der Clients steigt.

Außerdem müssen Updates im Umgang mit den Fremd-Protokollen nicht durch neue Client-Versionen verteilt werden. Stattdessen wird nur die Server-Software aktualisiert, und alle Clients profitieren unmittelbar von den Änderungen.

Ein weiterer Vorteil ist die größere Homogenität in der Benutzerführung, die reine XMPP-Clients bieten. Die ist zwar nicht zwingend auf reine XMPP-Clients beschränkt, de facto führen die speziellen Eigenschaften der Fremdprotokolle zu komplexeren Konfigurationsfenstern von Multi-Protokoll-Clients.

Nachteile

Die Transporte werden von vielen Nutzern aufgrund unbefriedigender Verlässlichkeit und Stabilität sowie der hohen serverseitigen Last nur als Notlösung betrachtet. Sie sehen den Sinn der Nutzung vor allem darin, während der Übergangszeit die bisherigen Kontakte, die noch proprietäre Netzwerke nutzen, in XMPP verfügbar zu haben. Dennoch wird von vielen Nutzern auch der Dauereinsatz als gerechtfertigt angesehen, zumal nicht alle Kontakte Interesse an einer Migration zu XMPP haben.

Bekannte Software für XMPP-Transports

Funktionalitätsreiche, in Python entwickelte Transports sind:

Andere, frühe Implementierungen die teilweise noch in den Paketlisten einiger Distributoren enthalten sind nutzten einen Fork des jabberd.

Kommerzielle Anbieter bieten auch Gateways vom XMPP- ins GSM-Netz für den transparenten SMS-Versand an.

  • biboumi – XMPP ↔ IRC Gateway

Dokumente

Einzelnachweise

  1. XMPP Standards Foundation: XEP-0030: Service Discovery Version 2.2, 24. Januar 2006

 

Index: pl ar de en es fr it arz nl ja pt ceb sv uk vi war zh ru af ast az bg zh-min-nan bn be ca cs cy da et el eo eu fa gl ko hi hr id he ka la lv lt hu mk ms min no nn ce uz kk ro simple sk sl sr sh fi ta tt th tg azb tr ur zh-yue hy my ace als am an hyw ban bjn map-bms ba be-tarask bcl bpy bar bs br cv nv eml hif fo fy ga gd gu hak ha hsb io ig ilo ia ie os is jv kn ht ku ckb ky mrj lb lij li lmo mai mg ml zh-classical mr xmf mzn cdo mn nap new ne frr oc mhr or as pa pnb ps pms nds crh qu sa sah sco sq scn si sd szl su sw tl shn te bug vec vo wa wuu yi yo diq bat-smg zu lad kbd ang smn ab roa-rup frp arc gn av ay bh bi bo bxr cbk-zam co za dag ary se pdc dv dsb myv ext fur gv gag inh ki glk gan guw xal haw rw kbp pam csb kw km kv koi kg gom ks gcr lo lbe ltg lez nia ln jbo lg mt mi tw mwl mdf mnw nqo fj nah na nds-nl nrm nov om pi pag pap pfl pcd krc kaa ksh rm rue sm sat sc trv stq nso sn cu so srn kab roa-tara tet tpi to chr tum tk tyv udm ug vep fiu-vro vls wo xh zea ty ak bm ch ny ee ff got iu ik kl mad cr pih ami pwn pnt dz rmy rn sg st tn ss ti din chy ts kcg ve 
Prefix: a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9