AJAX mag dan een goed hulpmiddel zijn om dynamische webapplicaties te bouwen, de technologie moet wel ingebed zijn in een passende structuur. Het risico bestaat immers dat er een spaghetti aan webdiensten ontstaat.
De technieken bestaan al jaren, toch heeft AJAX in grote letters het fonkelende ‘nieuw nieuw nieuw’ op het etiket staan. Nieuw is alleen de praktische toepassing van de bestaande technieken door ze slim te combineren. “Onze Ajax-omgeving stamt eigenlijk uit 2002; alleen bestond de term toen nog niet”, zegt Edwin van Asch, technology & solution architect bij Software AG, dat zich sinds een paar jaar afficheert als ‘The XML Company’. “Maar we zijn intussen veel verder geëvolueerd. We leggen ons toe op servicegeoriënteerde architectuur (soa) en business process management (bpm). Ik denk dat de omschrijving ‘the XML Company’ over een half jaar verdwenen is, maar ik weet nog niet wat ervoor in de plaats komt.”
AJAX staat voor Asynchronous Javascript and XML en is op 18 februari door James Garrett als term geïntroduceerd. Tegenwoordig pleiten sommigen ervoor ook html aan de omschrijving toe te voegen om aan te geven dat je niet echt XML nodig hebt om dynamische websites te bouwen.
Het is geen nieuwe technologie, maar een slimme manier om met (web)standaarden webapplicaties te maken. De presentatie gaat via dhtml en css, het dynamisch tonen van informatie en interactie via het document object model, de data-uitwisseling en -manipulatie via xml, het asynchrone ophalen van gegevens via XMLHttpRequest en Javascript ten slotte wordt het geheel aan elkaar gelijmd.
Niet meer wachten
De klassieke webapplicatie werkt als volgt: de meeste gebruikersacties in de interface brengen een http-verzoek op gang dat naar een webserver gaat. De server doet wat rekenwerk (data ontvangen, verwerken, communicatie met legacy systemen) en stuurt een html-pagina terug. Dat is tijdrovend en niet erg gebruiksvriendelijk; de gebruiker zit immers steeds op nieuwe pagina’s te wachten. Een AJAX-engine maakt een eind aan dit opsturen, wachten en weer opsturen, door interactie tussen de gebruiker en de applicatie asynchroon te laten plaatsvinden. Er komt een laag tussen gebruiker en server. Meestal werkt een extra laag vertragend, maar in dit geval juist niet. De engine neemt namelijk de eenvoudige taken (zoals datavalidatie, databewerking en zelfs enige navigatie) voor zijn rekening, zodat er niet meer van alles per keer heen en weer hoeft tussen gebruiker (=browser) en server.
“AJAX combineert de voordelen van Windows met de voordelen van webapplicaties”, zegt Van Asch.
Hergebruik
Samen met Fujitsu heeft Software AG het product CentraSite ontwikkeld. Dit is bedoeld om de levenscyclus van het dienstenlandschap te beheren. Software AG heeft zich niet alleen bezig gehouden met de ‘voorkant’ (AJAX en CentraSite), maar met alle aspecten die te maken hebben met het ontwikkelen en onderhouden van webdiensten. Crossvision heet de software die het bedrijf hiervoor heeft gemaakt. Dit model voorziet in een integratielaag voor het aanspreken van legacy-systemen, een business process manager om de bedrijfsregels apart van de applicaties op te slaan en bedrijfsprocessen af te handelen, een Information Integrator die data ontsluit naar informatie, een service orchestrator die diensten op elkaar afstemt, en een application composer. “Waar wel veel aandacht aan moet worden besteed is het beheer van een dienstengeoriënteerde omgeving”, zegt van Asch. Hij wijst erop dat het bouwen van webservices het risico in zich draagt dat een organisatie al snel het overzicht kwijtraakt en de nieuwe ‘spaghetti’ feitelijk al in de snelkookpan zit.
Webdiensten zijn opgebouwd uit tal van componenten. “Met CentraSite kun je zien welke componenten er zijn en welke diensten er dus allemaal al zijn. Het is niet alleen prettig om een overzicht te hebben, maar ook nuttig, want dan hoef je niet steeds dezelfde componenten te gaan maken bij het maken van een nieuwe dienst. Veel componenten zijn herbruikbaar.”
Componeren
Het nadeel van AJAX is, volgens Van Asch, de afhankelijkheid van de browser. Hij ziet dit ongemak evenwel snel verdwijnen, doordat de nieuwere browsers ‘AJAX-minded’ zijn. “En je moet AJAX natuurlijk gebruiken waar het voor bedoeld is. Je moet het niet toepassen bij bijvoorbeeld CadCam-toepassingen waar loodzware objecten heen en weer gaan; dat werkt niet.”
Met de Application Composer beschikt Sofware AG over een ontwikkelplatform dat volgens Van Asch veel sneller goed werkende en veilige webapplicaties oplevert dan via de klassieke bouw. “Wij hebben een aantal zaken al standaard ingebouwd, zoals server side scrolling en taalonafhankelijkheid. Die functionaliteit hoeft dus niet meer te worden gebouwd. Je schrijft één applicatie en de user interface wordt automatisch aangepast aan de nationaliteit van de gebruiker. Binnen een bedrijfsomgeving is de nationaliteit aanwezig binnen een database, zoals Novell Directory Services die gebruikt, of Active Directory van Windows. Als iemand uit Dubai een scherm aanroept, dan rendert onze software automatisch alles naar het Arabisch schrift.”
Hetzelfde geldt voor stijlelementen. “Dat wordt door onze klanten bijzonder op prijs gesteld.”
Van Asch zegt dat het programmeerwerk lijkt op het werken met Visual Studio. Het is een kwestie van klikken, slepen en loslaten. “Eigenlijk is het geen kwestie meer van programmeren, maar van componeren.”
Afwachtend
Tot de ondernemingen die webapplicaties volgens de Crossvision-architectuur hebben ingericht, behoort DaimlerChrysler. Deze beheert zelfs meer dan zesduizend productiemachines in acht verschillende fabrieken via webdiensten. Tegelijk zijn snel standaardrapportages over de productielijnen beschikbaar. De productiviteit is omhoog gegaan, en de tijd tussen ontwerp en productie is verkleind.
Onder de meer dan honderd klanten zitten Seat in Duitsland, Timelink in New York en Roche Diagnostics uit Duitsland. Nederlandse organisaties houden vooralsnog de boot af. Van Asch vermoedt dat hier sprake is van de wet van de remmende voorsprong. “Ons land is al wat verder met webgebaseerde omgevingen, dus spreek je hier vaker van vervanging van een bestaand systeem dat, ondanks zijn beperkingen, toch dienst doet. Er is overigen wel veel belangstelling voor CrossVision. Veel Nederlandse bedrijven zijn momenteel aan het bekijken welke AJAX-omgeving ze zullen kopen.”
Of ze dat ontwikkel/componeerwerk zullen uitbesteden? Van Asch denkt van niet: “Je zit met het maken van dit soort diensten wel heel dicht tegen je bedrijfsactiviteiten aan; dat wil je in huis houden.”