Organisaties streven ernaar applicaties echt internetgevoelig te maken. Daarbij steken verschillende technieken de kop op, waaronder AJAX en Adobe Flex. De laatste biedt een welkom alternatief voor AJAX, vindt Franck de Bruijn van LogicaCMG.
Het staat bekend als Web 2.0: de mogelijkheid om iedereen met een browser gegevens die opgeslagen zijn in bedrijfsapplicaties te laten manipuleren zonder dat steeds html-pagina’s heen en weer moeten worden gestuurd en de gebruiker voortdurend zit te wachten. Dat is mogelijk door een bundeling van bestaande technieken (html, cascading style sheets), document object model, Javascript) te gebruiken onder de verzamelnaam AJAX (Asynchronous Javascript and XML).
Het ligt iets ingewikkelder, maar het kernpunt is dat AJAX de traditionele manier van ontwikkelen van internetapplicaties zo aanvult dat paginaverversing niet meer nodig is. Op de achtergrond wordt informatie uitgewisseld met de server. De XML die terugkomt wordt verwerkt in het document object model. AJAX verzorgt het uitwisselen van informatie tussen een client (internetbrowser) en een server met Javascript als technologie voor de uitwisseling. Adobe gaat met Flex een stap verder. Het is een volwaardige clienttechnologie; het biedt meer dan alleen uitwisseling van informatie met een server. Het heeft onder andere een ‘gebruikersinterface widget toolkit’.
Geen ontwikkelaars
Van 1995 tot 2000 zijn tal van desktopapplicaties gemaakt voor client-serversystemen die niet meer worden ondersteund of waarvoor geen ontwikkelaars meer zijn te vinden. Volgens De Bruijn is er veel vraag naar vervanging van die applicaties door ria’s (rich internet applicatie). Sun en Oracle zetten in op JSF (Java Server Faces) als onderdeel binnen AJAX-projecten, maar ontwikkelaars klagen in hun weblogs steen en been over de complexiteit van het nieuwe JSF-raamwerk. Microsoft gaat Vista inzetten om ria’s te maken via het Windows-communicatieplatform. Applicaties moeten op verschillende apparaten te gebruiken zijn en overweg kunnen met tal van besturingssystemen.
De Bruijn somt de kenmerken op van de zakelijke administratiesystemen die als desktopapplicaties zijn ontwikkeld. Voorbeelden zijn systemen voor hypotheekoffertes, online bankieren, magazijnbeheer en orderbeheer. “Ze zijn veilig, door meerdere mensen tegelijkertijd te gebruiken, transactioneel, schaalbaar, uit drie lagen opgebouwd en meer op een intranet dan op internet gericht, en ze kennen een hoge beschikbaarheid en een snelle respons. Die applicaties wil iedereen naar internet brengen. Daarbij moeten ze op één pagina beschikbaar zijn. Er moet geen verversing van pagina’s plaatsvinden omdat dat voor vertraging zorgt. Verder moet de gebruikersinterface zich dynamisch gedragen. Daar-mee bedoel ik validatie aan de clientzijde, het aan- of uitzetten van gui-controls (grafische gebruikersinterface), ‘dirty checks’ als ‘wilt u de veranderingen bewaren’ en herordening.”
Willekeurige achterkant
De Bruijn vindt AJAX niet vriendelijk voor ontwikkelaars. Er is weinig gereedschap beschikbaar, een gif-overdaad en een armzalig gebruik van bandbreedte. Het heeft weinig mogelijkheden voor vormgeving en te veel raamwerken. Bovendien is het lastig te debuggen. Hij ging op zoek naar een andere aanpak en kwam terecht bij Flex 2.0, dat onlangs officieel is uitgebracht.
Waldo Smeets, senior systems engineer bij Adobe, zegt dat het product alle handelingen via één pagina kan verrichten omdat het een plug-in van Flash gebruikt. “Er is bijna geen website die geen Flash gebruikt. Daarmee kunnen we applicatiefunctionaliteit aan de clientkant toevoegen. Bovendien hebben we een mechanisme ingebouwd om via XML-calls naar een willekeurige achterkant te gaan (Flex hoeft niet boven op een Java-systeem te worden geplaatst, maar kan ook op een .Net-systeem staan). Daardoor bereik je een enorme snelheidswinst. In de Flash-speler krijg je meteen bytecode, dus er hoeft niets vertaald te worden.” Overigens is Flash Player 9 helemaal herschreven om dit mogelijk te maken.
Volgens De Bruijn heerst het gevoel dat ontwikkelaars niet van Java af willen. “Flex is echter niet minder Java dan JSP, html of Javascript. Ik denk dat Java-programmeurs snel gewend raken aan de ActionScript-taal van Flex. Het kost niet meer inspanning om Flex te leren dan om bijvoorbeeld JSF onder de knie te krijgen.”
Beveiliging
Voor applets gaan ontwikkelaars aan de slag met JavaSwing. “Dat is niet gemakkelijk”, beweert De Bruijn. “Je kunt Java beschouwen als een derdegeneratietaal, terwijl Flex meer een vierdegeneratietaal is. Je kunt er sneller en makkelijker mee werken. JavaSwing biedt wel meer vrijheid, maar daar betaal je een prijs voor.”
In De Bruijns ogen heeft Sun het concept van een grafische gebruikersinterface nooit goed begrepen en wreekt zich dat bij de opbouw van ria’s. “Adobe, Macromedia en Microsoft zijn juist wel goed in gui’s, dat is hun bestaansrecht.” Adobe heeft Macromedia (de maker van Flash) in mei 2005 ingelijfd.
De Bruijn noemt nog twee verschillen tussen Flex en Java. “Voor een Java-frontendapplicatie heb je Java Virtual Machine nodig. Voor Flex heb je alleen Flash Player nodig. Wereldwijd zijn nog steeds drie- tot vier miljoen Flash-programmeurs beschikbaar.”
Belangrijk bij bedrijfsapplicaties is de beveiliging. Die is in Flex zo geregeld dat alleen toegang mogelijk is tot url’s vanwaar de applicatie is binnengehaald. Het ondersteunt https en er bestaan geen api’s om clientsystemen (drives, geheugen) te benaderen of te manipuleren. In De Bruijns ogen combineert Flex het beste van twee werelden: die van de client-serverbedrijfsapplicaties en die van internet.
Eigen houtje
Waldo Smeets werkt sinds januari dit jaar voor Adobe Systems. Daarvoor werkte hij bij Macromedia met als werkgebied Scandinavië (waar Nederland onder valt). Hij is senior systems engineer. Hij staat de verkopers in het voortraject bij. Hij beoordeelt de klantwensen en kijkt welke Adobe-oplossingen verlichting kunnen brengen.
Franck de Bruijn is senior Java/J2EE consultant bij LogicaCMG. Hij is sinds 1997 actief in de it. Op eigen houtje is hij op zoek gegaan naar een handige manier om ria’s (rich internet applicatie) te maken die de toets der kritiek kunnen doorstaan. “Zo kwam ik bij Flex terecht. Daar is veel vrije tijd in gaan zitten. Nu is het zaak klanten te vinden die deze overstap ook aandurven.”