Er zijn ook gesloten commerciële oplossingen die XMPP ondersteunen. De bekendste daarvan zijn Apple iChat (server en client) en IBM Lotus SameTime (server en client). Voor dit artikel beperken we ons echter tot de open source oplossingen. Op servergebied zijn ejabberd, Openfire en Tigase het bekendst. Deze drie worden ook goed onderhouden en bijgewerkt. Er zijn wel meer XMPP-servers in open source vrijgegeven, maar daar zijn er veel bij die al meer dan een jaar niet meer bijgewerkt zijn. Die negeren we hier.
ejabberd
De eerste benaming van XMPP was Jabber en dan is de naam van deze server meteen duidelijk. De 'e' vooraan staat voor de Erlang programmeertaal waarin de software geschreven is. De servernaam moeten we trouwens volledig in kleine letters schrijven zoals gebruikelijk is voor Unix/Linux daemons: ejabbard. De 'd' achteraan staat dan dus voor 'daemon'. Deze XMPP-server kan draaien op alle platformen waarvoor er een Erlang-runtime bestaat. Dat is alles van Linux, *BSD, Mac OS X en zelfs Windows. Bij de Windows-versie van ejabberd is echter geen voorziening getroffen om het programma als automatisch startende dienst in Windows te installeren, zodat de gebruiker ingelogd moet blijven of iemand de ejabberd-service van afstand zal herstarten. De keuze voor de Erlang-programmeertaal mag dan wat eigenaardig lijken, maar het is een taal die binnen het Zweedse communicatiebedrijf Ericsson ontworpen en gebruikt werd voor fouttolerante en continu draaiende telecommunicatiesoftware. ejabberd is dan ook ontworpen als een gedistribueerd en fouttolerant product dat schaalbaar is tot zeer grote aantallen gebruikers. Het systeembronnengebruik is zo laag dat zelfs één enkele ejabberd al duizenden gebruikers tegelijkertijd kan ondersteunen. Daarnaast ondersteunt ejabberd clustering om echte fouttolerantie mogelijk te maken. Ejabberd heeft een aantal erg interessante implementaties, waaronder voor BBC Radio LiveText en KDE Talk. FaceBook werkt ook aan een implementatie. Voor alle servers die geregistreerd worden bij xmpp.org is ejabberd de meest populaire.
Installatie en beheer
Hoe je ejabberd moet installeren hangt af van het gekozen platform. Er bestaat een Debian-distributiepakket, dus Debian-achtigen kunnen hiermee een automatische installatie uitvoeren. Ook voor Mac OS X en sommige andere platforms bestaat er een installer (wizardgestuurd installatieprogramma). Voor Linux is er zowel 32-bit als 64-bit software beschikbaar. Wanneer de software eenmaal op het systeem geïnstalleerd is, kun je het gaan beheren en configureren.
Helaas bestaat er geen webinterface voor het beheer. Producent Process One wilde ejabbard ook kunnen draaien op erg minimale systemen zonder eigen webserver en veronderstelt dus dat de Unix/Linux opdrachtregel geen geheimen meer heeft. Net zoals zowat alle daemons in de Unix/Linux wereld maakt ejabberd gebruik van tekstconfiguratiebestanden. Je configureert en beheert ejabberd door die met een teksteditor te editeren. De configuratiebestanden van ejabberd gebruiken wel een door Erlang ondersteunde syntaxis. Zo werken de meeste configuratiebestanden onder Linux/Unix met /* of // of # als commentaarteken. Maar bij Erlang is het % en ejabberd gebruikt dat dus. Ook de variabelendefinities volgen de Erlang-syntaxis. Als je daar niet mee vertrouwd bent, kost het je dus wat tijd om dat allemaal te leren.
Deelconclusie ejabberd
Als XMPP-server biedt ejabberd zeker alles wat je nodig hebt, met inbegrip van schaalbaarheid en ondersteuning voor fouttolerantie en clustering. Je moet wel thuis zijn in de meest minimale vorm van configuratie en beheer, want alles werkt met tekstconfiguraties en Erlang-programmeertaalcompatibele syntaxis.
Productinfo ejabberd
Product: Ejabberd 2.1.3
Producent en Leverancier: Process One, www.process-one.net/en/ejabberd/
Adviesprijs: gratis (GNU GPL)
Systeemvereisten: moderne Linux distributie, Mac OS X, Windows, UNIX
Openfire
Openfire is een open source collaboratie-server. Het project wordt gesponsord door een bedrijf genaamd Jive Software en die hebben ook een commerciële variant van deze software. Het uitwisselen van onmiddellijke berichten gebeurt met behulp van XMPP. De mensen achter Openfire gaan er prat op dat de server erg gemakkelijk te installeren en te beheren is, maar niettemin rotsvaste beveiliging en prestaties biedt.
Installatie en beheer
Dat van die installatie kunnen we beamen. Als je met een Linux met een pakketdistributiesysteem werkt, is Openfire mogelijk beschikbaar via dat systeem. Als dat niet zo is, kun je een installatiepakket downloaden van de website en dat dan via jouw pakket-installatiesysteem installeren. Voor onze Ubuntu Server moesten we het zo doen. Maar omdat het om een installatiepakket gaat, is de installatie van deze software voor Linux en de Mac niet moeilijker dan voor Windows. Als Openfire eenmaal is geïnstalleerd, heb je een webinterface om hem te beheren.
Als je de eerste keer het webbeheer oproept, krijg je een installatiewizard. Die begint met de te gebruiken database, de bron van gebruikersgegevens (lokaal, LDAP of Clearspace) en de beheerders-identiteit. Daarna kun je beginnen met het echte beheer. Openfire heeft een sobere en erg logisch ingedeelde beheerinterface. Bovenaan staan vijf hoofdrubrieken: Server, Gebruikers/groepen, Sessies, Chatdienst en Plugins. Elk van deze rubrieken toont uiterst links een menu met subrubrieken. Onder Server zijn dat Serverbeheer, Serverinstellingen en Media Services. Gebruikers/groepen lijkt ons duidelijk. Sessies toont een overzicht van alle IM- en componentsessies die aan de gang zijn. Componentsessies zijn softwaremodules die met de Openfire-server communiceren. Bij IM-sessies zie je alle verbonden clients. Een hoofdrubriek verder, bij Chatdienst, vind je alle aangemaakte discussieruimtes en wie daarin allemaal actief is. Discussieruimtes zorgen dat IM werkt zoals forums: een ruimte per onderwerp. Je kunt ruimtes aanmaken die openbaar zijn, een inlog vereisen, of waar gebruikers aan bepaalde voorwaarden moeten voldoen.
Deelconclusie Openfire
Openfire is een erg gemakkelijk te beheren IM-server. Gebruikers kunnen in hun IM-sessies ook audio, video en documenten met elkaar uitwisselen en daarom heet Openfire officieel een collaboratieserver.
Productinfo Openfire
Product: Openfire 3.6.4
Producent en Leverancier: Ignite Realtime, gesponsored door Jive Software; www.igniterealtime.org/projects/openfire/
Adviesprijs: gratis
Systeemvereisten: moderne Linux distributie, Mac OS X, Windows, UNIX
Tigase
Tigase is een volledig ongesponsord open source project van Poolse origine. Het omvat een IM-server (Tigase Server) en een IM-client (Tigase Messenger). Die laatste is echter niet verplicht. We zullen hem in dit artikel negeren, omdat deze client nog in de ontwikkelingsfase verkeert. Dat is geen onoverkomelijk bezwaar, omdat Tigase XMPP ondersteunt, waardoor elke XMPP-client ermee samenwerkt. Bij het ontwerp van Tigase ging men voor prestaties, niet voor leuke uiterlijkheden. Denk dus aan tekstmodus en handmatig te bewerken tekst- en XML-configuratiebestanden. De website geeft op, dat Tigase meer dan 150.000 gelijktijdige XMPP-connecties aankan, mits de hardware natuurlijk voldoende krachtig is. Hoe dan ook: dan praten we al over hogere prestaties dan wat de meeste bedrijven nodig zullen hebben.
Installatie en beheer
De oude handmatige installatie waarbij je een archief moet uitpakken, de configuratiebestanden bewerken en alles op de juiste plaats zetten, is nog steeds beschikbaar. Om geen fouten te maken is er echter ook een GUI-installatie, die net als Tigase zelf in Java is geschreven. De keuze voor het JDK-frameworkt zorgt ervoor, dat Tigase niet afhankelijk is van andere bibliotheken. Daardoor kon een allesomvattend Java-gebaseerd project gebouwd worden. De GUI-installatie biedt een installatiewizard die je de keuze geeft uit allerlei databases, waarbij je dan wel eerst zelf moet zorgen voor een werkende databaseserver. Behalve als je Derby kiest, want die database zit standaard bij Tigase. Daarna kun je een hele waaier aan plugins aanvinken en dan gebeurt de installatie volledig automatisch.
Over het beheer kunnen we kort zijn: dat is er eigenlijk niet. In ieder geval niet in GUI-vorm. Je beheert Tigase door zijn configuratiebestanden te bewerken. De belangrijkste heet tigase-config.xml. Alles is in secties verdeeld en bestaat uit variabelen die een bepaalde waarde hebben. Wat nodig is voor de beginconfiguratie is al vantevoren ingevuld door de GUI-installer. In feite is daarna weinig nodig, want clients kunnen dan al een verbinding leggen met Tigase. Bovendien heeft de meeste clientsoftware een optie om een nieuwe account automatisch op de server aan te maken. Het is ook mogelijk om bestaande gebruikers te importeren. Met behulp van databaseconnectoren en plugins kan dat vanuit heel veel verschillende bronnen: LDAP, RADIUS en zelfs Active Directory. Als je Drupal gebruikt als CMS, kan Tigase ook de gebruikers van Drupal inlezen.
Deelconclusie Tigase
Tigase is een IM-server die we alleen het overwegen waard vinden als een GUI-loos beheer je niet afschrikt en je daarnaast erg hoge prestaties wenst.
Productinfo Tigase
Product: Tigase 5.0.1
Producent en Leverancier: www.tigase.org
Adviesprijs: gratis
Systeemvereisten: elk platform met ondersteuning voor een recente Java DK
De serie
Volgende deel: IM XMPP clients
1: Zakelijk chatten met open standaard
2: IM XMPP servers
3: IM XMPP clients
Beter zelf even googlen voor komplete informatie.
Ericsson is Zweeds. Nokia is Fins.
Ja Marcel, dit is Datatestlabs!
Weet Zwiekhorst niet dat Derby niet voor produktie geschikt is?
@redactie
De inleiding van deze reeks liet al te wensen over in mijn ogen. Maar enige vorm van redigeren door de redactie lijkt me toch wel wenselijk.
Als de auteur Ericsson als Fins bedrijf aanmerkt, dan wordt het, zeker na de belabberde inleiding, moeilijk de rest van het artikel serieus te nemen
“Inderdaad een grove slip of the pen.” Nee, stelselmatig voor datatestlabs.
“Weet Zwiekhorst niet dat Derby niet voor productie geschikt is?”
Dat schrijft hij niet. Hij vermeldt het alleen. Ideaal om snel te testen.