Open Source im professionellen Einsatz

Newsletter abonnieren
Seite durchsuchen

HEFTARCHIV | NEWS | E-BIBLIOTHEK | VIDEO | BLOGS | WHITEPAPER | EVENTS | ACADEMY | ABO | SHOP

user friendly

  Home  »  Heft & Abo  »  Heftarchiv  »  2003  »  06  »  Laber-Tanten  

RSS-Feed der aktuellen News von Linux-Magazin Online Folgen Sie Linux-Magazin Online auf Twitter
Diesen Artikel druckenDiesen Artikel weiterempfehlen Diesen Artikel kommentieren Newsletter abonnieren
Share/Bookmark

Instant Messaging mit Jabber - Teil 1

Laber-Tanten

von Nico Lumma
Erschienen im Linux-Magazin 2003/06

Als Gegenstück zu den bekannten Instant-Messaging-Systemen etabliert sich zunehmend das Open-Source- basierte Jabber. Auf einer soliden XML-Protokollgrundlage bieten Server und Clients alle Features, die kommunikationsfreudige Anwender erwarten. Zudem ist Jabber offen für Chats mit fremden Welten.

Instant-Messaging-Systeme wie ICQ, AIM, MSN und der Yahoo Messenger sind inzwischen recht beliebt und weit verbreitet. Einige Studien prophezeien sogar, dass Instant Messaging (IM) in der Businesswelt der E-Mail Konkurrenz machen wird[7]. Allerdings sind die Systeme nicht kompatibel zueinander. Benutzer müssen sich meist bei verschiedenen Systemen registrieren, um alle Partner zu erreichen.

Anno 1998 begann Jeremie Miller sich mit IM zu befassen und überlegte, wie die Kommunikation einfacher und besser ablaufen könnte. Daraus entwickelte er die Grundlagen zu Jabber. Jabber ist ein offenes XML-Protokoll, das den Austausch von Messages und Online-Status in Echtzeit ermöglicht. Es steht im Funktionsumfang den bekannten Messaging-Systemen in nichts nach, vielmehr bringt Jabber Features mit, die bei proprietären Systeme häufig fehlen.

Es existieren viele Jabber-Server- und -Clients sowie einige Libraries, sodass dieses IM-System mittlerweile auf nahezu jeder Plattform läuft. Die Server-Implementierung der Jabber Software Foundation[1] unterliegt einer dualen Lizenz: GPL und JOSL, der Jabber Open Source License.

Das IM-System ist dezentral aufgebaut und damit hervorragend skalierbar, daher kann jeder Admin auch leicht seinen eigenen Jabber-Server aufsetzen. In puncto Sicherheit unterstützt Jabber das SSL-Protokoll für die sichere Kommunikation zwischen Client und Server. Einige Clients haben auch PGP- oder GPG-Funktionen für die Verschlüsselung der Nachrichten.

Nachrichtenkanäle

Sendet ein User eine Message an einen anderen, dann ähnelt der weitere Ablauf stark dem bekannten E-Mail-Prinzip: »user1« auf »jabberserver1.net« schickt eine Nachricht an »user2« auf »jabberserver2.net«, dabei nimmt der erste Server die Message an und leitet sie an den zweiten Server weiter, der die Nachricht dann an »user2« zustellt (siehe Abbildung 1). Der fundamentale Unterschied zu E-Mail ist, dass es sich bei Jabber nicht um ein klassisches Store-and-Forward-Prinzip handelt, sondern dass die Clients den Servern ihren Online-Status mitteilen. Diese so genannte Presence ist auch von anderen Instant-Messaging-Systemen her bekannt.

Da das Jabber-Protokoll offen gelegt und durch XML auch recht einfach zu implementieren ist, können die Messages nicht nur zwischen Menschen, sondern ohne großen Aufwand auch zwischen Programmen laufen. Denkbar wären etwa Bots, die auf Anfrage Börsenkurse ausgeben oder das Posten in einen Blog (Online-Tagebuch) erlauben. Perl-Programmierer werden dabei vom Modul »Net::Jabber« unterstützt.

Die Jabber-Adressen basieren auf DNS und URI (Uniform Resource Identifier), sie ähneln sehr den E-Mail-Adressen in der Form » User@Host«. Zusätzlich führen Jabber-Adressen aber noch eine so genannte Ressource mit. Wenn ein User mit mehreren Programmen gleichzeitig angemeldet ist, dann finden die Messages mit Hilfe der Ressource den richtigen Client. Deren Name bestimmt jeder User selbst, es bieten sich der Ort oder der Name des Clients an (Arbeit, Zuhause, Gabber, Psi ...). Die Jabber-ID, auch JID genannt, ist als » User@Domain/Resource« aufgebaut.

Jabber ist ein Client-Server-Dienst, bei dem die Clients ihre Nachrichten immer zu einem Server senden. Allerdings gibt es eine Ausnahme: Beim Dateiaustausch (Filesharing) belasten die Clients keinen Server, sondern nehmen - nach Vermittlung durch die Server - direkt Verbindung zueinander auf und übertragen die Daten dann ohne Umweg.

Jabber

Protokoll: XML-basiertes, offenes, standardisiertes Protokoll

Server: Mehrere Implementierungen, der Referenzserver ist »jabberd«[2]

Lizenz: In Version 1 GPL und JOSL (Jabber Open Source License), Version 2 nur GPL

Feature: Umfassendes Instant Messaging mit allen IM-typischen Funktionen

Besonderheiten: Über so genannte Transportmodule nimmt der Server auch Kontakt mit fremden IM-Netzen auf; Benutzer können ihre Roster (Kontakteliste) auf dem Server ablegen und ihn daher von jedem Client aus nutzen

Architektur: Dezentralisiertes Client-Server-Modell; die Server bilden ein gemeinsames Netz, Clients können daher mit beliebigen Servern verbunden sein und dennoch miteinander kommunizieren

Präsenz zeigen

Sobald ein User mit seinem Client online ist, meldet dieser den Online-Status an den Server. Diese Presence bleibt so lange bestehen, bis der Client den Status ändert, sich beispielsweise als abwesend, länger abwesend oder offline deklariert. Im Gegensatz zu E-Mail sendet der Server eine hereinkommende Nachricht sofort an den Client (Server-Push), wenn dieser online ist.

Jabber kennt auch das Prinzip, dass Anwender die ihnen bekannten User in einer Liste führen. Was anderswo Buddy-Liste heißt, ist bei Jabber als Roster bekannt. Will etwa Anwender A einen anderen User B in seinen Roster aufnehmen, dann sendet Jabber diesem User B eine Message, die er bestätigen muss. Erst dann informiert das IM-System den User A über alle Statuswechsel des Benutzers B. Damit bleibt die Privatsphäre gut gewahrt.


Abbildung 1: User 1 sendet eine Nachricht an User 2. Sein Jabber-Client übergibt dabei den Text in XML verpackt (siehe Listing 2) an den Jabber-Server 1, der ihn an Server 2 weiterleitet. Der wiederum liefert die Message per Server-Push an User 2 aus.

Diesen Artikel druckenDiesen Artikel weiterempfehlen Diesen Artikel kommentieren Newsletter abonnieren
Share/Bookmark
Ähnliche Artikel
Tooltipps Werkzeuge im Kurztest
Angst um den Groschen Sichere Geldtransaktionen im Internet
Frischer Wind Die Firewall-Appliances von Palo Alto Networks überwachen Applikationen
Papier bald geduldiger Test: Sage Classic Line auf Collax-Linux-Server
Projekteküche Neues aus der Welt der freien Software und ihrer Macher
Daten im Handgepäck Integrierte Datenbank für Tcl
Whitepaper
Open Source Datenintegration in der Praxis: Fallstudien und Anwendungsbeispiele

Über die letzten Jahre hinweg haben sich Open Source Lösungen als fester Bestandteil des gesamten Datenintegrationsmarktes etabliert. Viele Unternehmen haben bereits das Open Source Modell für Ihre Datenintegrationsprojekte aufgegriffen. Das vorliegende White Paper illustriert anhand ausgewählter Fallstudien und Anwendungsbeispiele die Implementierung von Open Source Datenintegration in der Praxis und benennt die daraus resultierenden Vorteile.

Download PDF (Registrierung erforderlich)
The Role of Open Source in Data Integration

Obwohl in den letzten Jahren viele technische Fortschritte erzielt werden konnten, verfügen die meisten Datenintegrationsprozesse nach wie vor nur über eine sehr begrenzte Automatisierung. Das vorliegende White Paper von dem Industry Analyst Mark Madson wird zunächst ein grundlegendes Verständnis von Daten Integration vermitteln, die Vorzüge von Open Source Lösungen für Daten Integration erläutern und Ihnen professionelle Empfehlungen geben, damit Sie Ihre Integrationsjobs noch einfacher und produktiver gestalten können.

Download PDF (Registrierung erforderlich)
Kommentare (0)