We kunnen er niet omheen, AJAX ofwel Asynchronous JavaScript and XML wordt steeds populairder. Met AJAX kunnen we web-applicaties maken die bijna net zo gebruikersvriendelijk zijn als ‘gewone’ windows-applicaties. In de Engelstalige literatuur worden dit Rich Internet Applications genoemd, of kortweg RIA’s.
AJAX is geen technologie, het is eerder een programmeringsmodel. Het zegt iets over de wijze waarop een internetapplicatie in elkaar is gezet. Normaliter vindt er, telkens als de gebruiker op een button drukt, communicatie plaats tussen de browser en de webserver. En telkens wordt er weer een nieuwe pagina opgemaakt. Met AJAX is dat niet het geval. Er draait een programma (ook wel eens de client engine genoemd) binnen de browser die de meeste commando’s van de gebruiker afhandelt. Hiervoor wordt er niet met de webserver gecommuniceerd. De pagina wordt dus ook niet keer op keer opnieuw opgemaakt. Indien de client-engine dan ook nog eens een grote verzameling Windows-controls en faciliteiten ondersteunt, zoals grids, drop down boxes, drag-and-drop, kunnen we zeer rijke, gebruikersvriendelijke applicaties ontwikkelen die maar af en toe met de server praten.
De programmeertaal die meestal gebruikt wordt door de ontwikkelaars is JavaScript, maar dit zouden ook andere talen kunnen zijn. Het gaat tenslotte eerder om het programmeringsmodel dan om de programmeertaal. Bijvoorbeeld, Microsoft kiest ook in haar AJAX-achtige oplossing, genaamd Atlas, de taal ASP.NET.
Al in diverse websites is AJAX ingezet. Voor sommige applicaties vergroot dit zeker het gebruikersgemak. Sommige bedrijven zijn hiermee zelfs in staat nieuwe klanten te veroveren. Als het gebruiksgemak van een website kan bijdragen tot het verhogen van de omzet, dan dient AJAX bestudeerd te worden. Al moeten we wel uitleggen aan onze gebruikers dat de befaamde Back-toets dan niet meer werkt.
Omdat er zwaar geleund wordt op XML is het goed te combineren met een andere succesvolle technologie, de service oriented architecture. AJAX is ideaal voor het ontwikkelen van een user interface die XML-documenten verstuurt naar de services van een soa.
Toch blijft het wel eigenaardig dat we ooit begonnen zijn met een Spartaanse interface: de alom bekende character-based terminal. Daarna werden, met de komst van de besturingssystemen van Microsoft en Apple, de interfaces grafisch sterk. Deze fase werd weer gevolgd door de internet-browser. In een rijke omgeving als Windows werd de gebruiker echter beperkt door de mogelijkheden van HTML en HTTP. Het was weer terug naar af. De interface was weer Spartaans. Misschien niet zo erg als in het tijdperk van de terminals, maar de lol was er wel een beetje af.
Nu mopperen we weer over deze beperktheid. We moeten soms wachten voordat het scherm opnieuw opgemaakt is. Het is tijd om weer terug te gaan naar de rijke interface. Met deze slingerbeweging lijkt het me duidelijk wat over enkele jaren weer de trend gaat worden.
Een andere eenvoudig te maken voorspelling is dat er ongetwijfeld binnen deze ‘dikke’ clients integriteitsregels en applicatielogica geïmplementeerd zullen worden. En veel van deze code zal ook al aan de serverkant aanwezig zijn. Hierdoor ontstaat duplicatie van code. Het grote vraagstuk is dan ook hoe we die duplicatie onder controle moeten houden.
Tevens is het programmeren in JavaScript, XML-berichten en met asynchrone aanroepen arbeidsintensief. Als u besluit AJAX in te zetten, kies dan voor een product dat veel van de technische details afschermt, zoals die van Software AG en Backbase.
AJAX is gezien de mogelijkheid om zeer gebruikersvriendelijke applicaties te bouwen interessant. Er kleven echter ook nadelen aan. Ik ben benieuwd hoeveel ontwikkelproducten er de komende drie jaar op de markt komen om de ontwikkeling van AJAX te vereenvoudigen.