Stukje zeep

Het is niet altijd even gemakkelijk uit te leggen waar ik nu weer mee bezig ben (geweest).

Wie is online? - Klik voor grotere versie

Ik kan me namelijk voorstellen dat je bij het zien van bovenstaande afbeelding niet echt denkt “wauw”. Maar toch is het een belangrijk stapje in het gebruik van onze elektronische leeromgeving. Wat je ziet is een screenshot van een PHP-script op een Apache webserver op een Linux-servercluster ergens in (ik geloof) Duitsland. Dat PHP-script maakt verbinding met een Natschool-server in Eindhoven. Logt daar netjes in (challenge-response en zo, geen wachtwoord dat leesbaar over de lijn gaat) en vraagt dan hoeveel gebruikers online zijn en wie dat zijn. De Natschool-server in Eindhoven heeft geen idee in welke taal het script geschreven is of op welke server (laat staan waar) dat script draait. Omdat ze beiden (het script en de Natschool-server) dezelfde taal spreken (in dit geval SOAP) praten ze zonder problemen met elkaar. En omdat het script zich netjes bekend maakt met de gegevens van een gebruiker die die informatie mag opvragen wordt die keurig verstrekt.
Nou, zul je zeggen, dat is toch niet zo bijzonder. Kan ik ook al doen met de API’s van Google of Amazon of Yahoo!.
Klopt. Maar met onze ELO konden wij het nog niet op die manier. Ik weet ook niet hoeveel andere ELO’s dat wel al kunnen trouwens. Ik hoor graag namen van ELO’s met die functionaliteit!

Een andere opmerking zou kunnen zijn dat jij een open source ELO gebruikt en dus zelf uitbreidingen kunt bouwen in de code van die ELO. Klopt, kunnen wij ook (konden we altijd al) met onze ELO. Maar het nadeel van die uitbreidingen in de code is dat je onder de motorkap aan het rommelen bent. Dit is meer het trekhaak-principe. Je loopt dus niet het risico tijdens het tweaken de motor te mollen. Al kun je hem natuurlijk wel overbelasten als je er teveel achter hangt.
Als ik het script elke 5 seconden automatisch laat opvragen hoeveel gebruikers online zijn, bijvoorbeeld omdat ik statistieken wil genereren, dan zal de server dat (denk ik) echt wel merken.

Een ander voordeel is dat je zo veel gemakkelijker code geschreven in verschillende talen kunt mixen. Stel ik heb een tool geschreven in Python dat gebruik wil maken van content die in mijn ELO is opgeslagen. Als het tool gebruik kan maken van SOAP (webservices), dan kan het die content bij mijn ELO opvragen zonder dat daar iets speciaals voor hoef te regelen.

Mooi toch?