Jabber
Jabber is de naam van een XML-streamingtechnologie voor instant messaging en presence notification. De technologie zag in 1998 het levenslicht en kent sindsdien een steile opgang. De specificaties zijn publiek beschikbaar waardoor vele implementaties open-source zijn.
De basis van Jabber werd in 2004 door het IETF goedgekeurd als XMPP wat staat voor Extensible Messaging and Presence Protocol.
Een beknopt overzicht van de belangrijkste gebeurtenissen:
- 1998: Jeremie Miller onthulde het bestaan van Jabber aan het grote publiek.
- 2000: In mei werd de eerste versie van de serversoftware vrijgegeven : jabberd 1.0.
- 2001: In augustus zag de Jabber Software Foundation (JSF) het levenslicht. Haar taak was het groeiende aantal gebruikers van Jabber beter te kunnen coördineren. De voornaamste taak van de JSF is het beheren van het protocol. Derden kunnen JEPs (Jabber Enhancement Proposals) indienen die na overleg al dan niet worden goedgekeurd.
- 2002-2004: De JSF ijverde bij het IETF voor de opname van het protocol (dat de naam XMPP krijgt) als standaard.
- 2004: Na 3 jaar werk werden de 4 belangrijkste specificaties goedgekeurd door het IETF wat XMPP brede erkenning oplevert.
- 2005: Google Talk werd gelanceerd en is gebaseerd op XMPP.
- 2006: De JEPs (Jabber Enhancement Proposals) veranderden van naam en heten sindsdien XEPs (XMPP Extension Protocols). Ze kregen ook een afzonderlijke website.
- 2007: De JSF veranderde haar naam in XMPP Standards Foundation en legde zo nog meer de nadruk op het ontwikkelen van nieuwe protocoluitbreidingen en niet op het ontwikkelen van software.
[bewerk] Eigenschappen
- Gestandaardiseerd
- De specificaties van XMPP zijn publiek beschikbaar. Het IETF heeft ook formeel de basisprotocollen goedgekeurd als 'instant messaging en instant presence technologie' en gepubliceerd als RFC3920 en RFC3921.
- Bewezen
- De specificaties van XMPP zijn sinds 1998 meer en meer gestabiliseerd. Honderden ontwikkelaars werken intussen met XMPP en tienduizenden servers met miljoenen gebruikers gebruiken het.
- Uitbreidbaar
- Het protocol gebruikt XML-namespaces. Op deze manier kan iedereen het protocol uitbreiden zonder bestaande toepassingen te storen. Om te voorkomen dat meerdere uitbreidingen ontstaan die dezelfde functionaliteit toevoegen.
- Gedecentraliseerd
- Een groot aantal servers wordt samengeweven tot 1 groot netwerk. Hierdoor is er geen centraal zwak punt in het netwerk en is er dus een grote stabiliteit. Iedereen is vrij om al dan niet zijn eigen server op te starten en daarmee deel uit te maken van het globale netwerk.
- Veilig
- Robuuste beveiliging met SASL en TLS worden ondersteund.
[bewerk] Andere Protocols
Een transport of gateway zorgt ervoor dat gebruikers van Jabber toegang krijgen tot netwerken die een ander protocol spreken, zoals ICQ en MSN Messenger maar ook SMS of E-mail of andere. In tegenstelling tot multi-protocol clients biedt Jabber toegang tot deze andere protocollen op serverniveau in plaats van op clientniveau. Hierdoor kan elke client die de basisspecificaties volledig ondersteunt via transporten verbinden met andere netwerken.
Adressen (ook Jabber-ID of kortweg JID) zijn een unieke verwijzing naar een gebruiker. Een JID bestaat uit een gebruikersnaam, een servernaam en eventueel een locatie (enkel functioneel wanneer de gebruiker met meerdere clients verbonden is) : gebruikersnaam@server[/locatie].
In praktijk ziet een Jabber-ID er dan ook uit als een gewoon e-mailadres en kan het tegelijkertijd ook een geldig e-mailadres zijn.
[bewerk] Berichten Afleveren
Veronderstel dat juliet@capulet.com wil chatten met romeo@montague.net. Juliet en Romeo hebben respectievelijk een account op de servers capulet.com en montague.net. Als Juliet een bericht wil verzenden naar Romeo gebeurt het volgende:
- Juliets Jabber-client zendt het bericht naar de Jabber-server capulet.com.
- Als montague.net geblokkeerd wordt op capulet.com, dan wordt het bericht verwijderd.
- De Jabber-server capulet.com opent een verbinding met de Jabber-server montague.net.
- De server montague.net verzendt het bericht naar Romeo's Jabber-client.
- Als capulet.com geblokkeerd wordt op montague.net, dan wordt het bericht verwijderd
- Als Romeo niet verbonden is, dan wordt het bericht opgeslagen tot wanneer Romeo terug online komt. (In de veronderstelling dat de server offline berichten toestaat.)
- Romeo ontvangt het bericht.
| Juliet |
↔ |
capulet.com |
→ |
montague.net |
↔ |
Romeo |
[bewerk] Concurrerende Technologieën
|