Er was een tijd waarin ontwikkeling voor het web heel iets anders was dan automatisering. Tegenwoordig is praktisch ieder softwarepakket via een browser snel te bereiken. De beperkte visuele mogelijkheden werden tot nu toe voor lief genomen, maar de frustratie neemt toe. Wie bijvoorbeeld een reis boekt via het web, moet vaak dezelfde pagina's meerdere malen doorlopen. Vaak blijkt dat na een serie keuzes de reis niet beschikbaar is. Lag dat nu aan de datum, het aantal personen of de bestemming? Weer de hele procedure ondergaan is vaak de enige optie. De boosdoener is http. Een browser praat met een toepassing op een server via het hypertext transfer protocol. Het protocol is 'stateless': de browser stelt een vraag aan de server, die geeft antwoord in de vorm van een webpagina en vervolgens vergeet de server meteen wie die vraag ook alweer gesteld had. Het is eigenlijk te vergelijken met een persoon met vergevorderde Alzheimer. Rich internet applications (ria's) moeten dit probleem gaan verhelpen. Een ria is een soort slimme webpagina. Het is een 'rich client'. Een ria kan, zonder dat er een nieuwe pagina wordt ingeladen, communiceren met toepassingen op een server. Het lijkt alsof de ria een desktop applicatie is; schijnbaar ogenblikkelijk wordt de getoonde data aangepast aan de keuzes die een gebruiker maakt. Nog steeds wordt http gebruikt, maar nu kunnen dus kleine blokjes data steeds stiekem worden opgehaald. Dit resulteert in mogelijkheden als filmpjes die reageren op acties van de gebruiker. Een extra voordeel is dat de RIA soms data tijdelijk kan opslaan (een cache-mechanisme), ook al is er even geen verbinding met het internet. Nadelen zijn er ook. Een ria is ingewikkeld. Dat betekent hoge kosten voor bouw en onderhoud. Meer kunstjes maken een RIA domweg groot. Dat betekent een langere downloadtijd. Meestal moet ook een extra faciliterende toepassing voor de browser worden geïnstalleerd: een plugin. Niet iedereen heeft daar zin in.

De technieken

Er zijn verschillende middelen beschikbaar om ria's mee te maken. De keuze tussen die technieken is niet altijd makkelijk. Wilt u open-source of commercieel, grote of kleine bestanden, technische of grafische toepassingen? Zeer complexe toepassingen kunnen worden gemaakt met Java. Dit platform biedt enorm veel mogelijkheden. Dit is meteen ook het probleem; zelfs voor eenvoudige toepassingen is een hoop code vereist. Code is duur, dus Java is duur. Open-sourcetaal xul wordt meestal gebruikt voor interactieve formulieren in de Firefox en Mozilla browsers, en in sommige Flash- en Java-toepassingen. Het nadeel van xul is dus deze beperkte ondersteuning. De taal is wel erg compact en de resulterende bestanden zijn dus klein. Met Oracle Forms kunnen op een Oracle-platform hele ingewikkelde toepassingen gemaakt worden. Wie niet opziet tegen forse licentiekosten heeft hier een goed product aan. Bij het grote publiek zijn Macromedia Flash en Flex de meest bekende technieken. Het zijn middelen die bedoeld zijn om grafisch veel indruk te maken. Van oudsher werd flash vervloekt door ontwikkelaars vanwege de gebrekkige technische mogelijkheden. Onderhoud was vreselijk ingewikkeld. Sinds kort is dat wat verbeterd met het serverproduct Flex. De ondersteuning voor formulieren, xml en webservices laat echter nog steeds te wensen over. In de uitvoering zijn er natuurlijk valkuilen. Stuur altijd eerst de applicatie naar de browser en laadt pas daarna data in. Dit beperkt de wachttijd aanzienlijk. Omdat een ria niet continu ververst wordt, kunnen gegevens tijdens een sessie inmiddels ineens verouderd zijn. Er moet dus een 'push'-mechanisme zijn dat ongevraagd nieuwe gegevens naar de browser kan sturen. Neem liever geen data-afhandeling in de ria zelf op. Een wijziging van vormgeving wordt dan aanzienlijk duurder. Veel mogelijkheden voor grafische vormgeving leiden tot meer kansen om het te verpesten. Het loont dus de moeite om een professional in de hand te nemen.

Partnertest

De rich internet application biedt zeker mogelijkheden. De klassieke webapplicatie zal niet volledig worden vervangen, omdat dat vaak niet nodig is. Voor de toepassingen die een 'rich client' nodig hebben, biedt een ria een heel goed alternatief voor een desktop applicatie. Natuurlijk is voor grafische toepassingen flash erg geschikt. Trouwens, de implementatie van een ria bovenop een oude toepassing is relatief eenvoudig. De code die de gebruikersinterface van informatie voorziet hoort keurig gescheiden te zijn van de daadwerkelijke broncode van de business toepassing. Dat betekent dat er in de toepassing zelf geen wijzigingen hoeven te worden aangebracht. Als dit wel het geval is, moet uw internetpartner met een goed verhaal komen om uit te leggen wat er mis is gegaan. Bron: Techworld