Nieuws

RAD Race 2008-2009

 

De RAD Race 2008-2009 toonde aan dat abstractievermogen voor ontwikkelaars zeker zo belangrijk is als de gebruikte technologie. De winnaars, het Nederlandse duo van Mattic, gebruikten geen Java, .NET of Ruby on Rails, maar een eigen RAD-tool die er wat ‘old school’ uitzag. De rest van de top vier werd gemonopoliseerd door Ruby on Rails-oplossingen.

De opgave voor de tweedaagse wedstrijd in Hasselt was de ontwikkeling van een Saving Accounts Comparing System (SACS), een website waar bezoekers het rendement van hun spaargeld bij verschillende banken kunnen vergelijken. De opdracht was erg actueel, maar blijkbaar een harde noot om te kraken, vooral op het vlak van de analyse. De deelnemers kregen documentatie van de verschillende banken, maar die bleek vrij ondoorzichtig te zijn met heel wat uitzonderingen en randvoorwaarden.

Geoliede machine
Het duo van het Nederlandse softwarehuis Mattic pakte de opgave aan met zijn eigen RAD-omgeving Cathedron. De analytisch getinte opgave bleek in hun voordeel te spelen, ook al zagen ze de opdracht in het begin niet erg zitten. "We waren inderdaad wat overdonderd door de opgave en dachten zelfs aan stoppen," geeft Marco de Groot na de wedstrijd toe, "Er werd immers zoveel functionaliteit verwacht die we niet out of the box hadden, zoals inlogmogelijkheden en e-mailen." Gelukkig hebben ze toch doorgezet, want ze werden een duidelijke winnaar. Hun geheim? "We werken al tien jaar samen, dus ik hoef maar te zeggen ‘Doe jij dit?’ en dan gebeurt het", zegt Jeanot Bijpost.

Cathedron
Hun tool Cathedron speelde ook een belangrijke rol in hun overwinning. Jeanot en Marco hebben die zelf ontwikkeld in een tijdspanne van tien jaar. De academische aanpak voelt wat ‘old school’ aan en is door zijn taal Pascal-script minder hot dan Ruby, .NET of Java, maar het resultaat mag er wezen. "Cathedron laat ons toe om heel dicht op de onderliggende concepten te zitten," legt Jeanot uit, "We definiëren in een eerste stap al onze concepten, genereren daarna de code op basis van ons model en vullen die aan met eigen code voor de technische afwerking. Uiteindelijk bekomen we een duidelijk gestructureerde webapplicatie die we eenvoudig met css kunnen stylen. Maar dat laatste hebben we hier niet gedaan, want voor fancy interfaces kloppen we gewoonlijk bij een webbureau aan."

De jury was unaniem onder de indruk van het winnende team. Jurylid Guido Van Humbeeck, senior partner bij het Leuvense AE, complimenteert Mattics aanpak: "Zij tonen aan dat abstractievermogen zeker zo belangrijk is als technologie."
 

 

Top 5
Het team van Getronics PinkRoccade BAS BV behaalde de tweede plaats met een Ruby on Rails-oplossing. De jury was onder de indruk van wat Daniël van Hoesel en Henk van den Brink op hun jonge leeftijd – respectievelijk 22 en 24 jaar – al kunnen. Ze zijn allebei pas sinds februari in dienst bij Getronics PinkRoccade BAS BV. De derde plaats was eveneens voor een oplossing in Rails. Internetbureau Holder viel op door zijn originele aanpak: zij voerden de regelgebaseerde berekeningen in met een domeinspecifieke editor. Helaas maakten ze nog wat fouten in de berekening, die er moeilijk uit te halen waren. Op nummer vier kwam team 1 van het Nederlandse Finalist IT Group. Zij werkten eveneens in Ruby on Rails en gebruikten ook een regelgebaseerde aanpak voor de berekeningen. De top vijf werd vervolledigd door team 1 van het Leuvense consultancybedrijf Data Flow.

Regelgebaseerde oplossingen
Opvallend is het aantal regelgebaseerde oplossingen in de top van deze RAD Race. "De opgave leent zich daar natuurlijk ook voor," merkt Van Humbeeck op, "Je zit met vrij complexe regels en allerlei voorwaarden." Hij breekt ook een lans voor meer gebruik van regelgebaseerde oplossingen over het algemeen. "Voor problemen waar het bijvoorbeeld gaat om compliance volgens wettelijke regels is een regelgebaseerde oplossing eigenlijk de natuurlijke aanpak. Door een service-oriented architecture (SOA) zijn zo’n oplossingen bovendien gemakkelijk te combineren met Java of .NET. Zo kunnen ontwikkelaars gerust gebruikmaken van de kracht van de frameworks in die laatste talen en voor specifieke onderdelen van hun oplossing een geschikter mechanisme zoals regelgebaseerde oplossingen aanroepen."

Ruby on Rails
"Een andere opvallende trend is dat er dit jaar vier teams Ruby on Rails gebruikten, terwijl dat framework vorig jaar helemaal niet in de RAD Race te vinden was", bemerkt jurylid Peter Strickx, CTO van de Federale ICT-dienst Fedict. Nog opvallender is dat er van die vier teams drie in de top vier geraakten. De vaak gehoorde lof dat er met Ruby on Rails heel snel webapplicaties gebouwd kunnen worden (zie ook pagina 34 "Programmeren in Ruby"), wordt in deze RAD Race dus wel bevestigd.

 

Complexe opgave uit de dagelijkse praktijk
Jurylid Jan Vanthienen, professor beleidsinformatica aan de KU Leuven, vindt dat alle teams een grote prestatie hebben neergezet: "Zo’n complexiteit op anderhalve dag vanaf nul implementeren, daar zeg ik chapeau tegen. De opgaves van de RAD Race lijken jaar na jaar moeilijker te worden." RAD Race-organisator Ivan Verborgh geeft toe dat het dit jaar een wat atypische en ook extra complexe opgave was: "Op het eerste gezicht lijkt het een simpel probleem, maar dat is het echt niet. Nu zou ik nog graag zien dat de winnaars hun toepassing verder ontwikkelen en ter beschikking stellen van het publiek. Ik wil dat de deelnemers van de RAD Race hun IT-skills delen met andere mensen, dat ze dus aan ‘social IT’ doen."

Jurylid Jacques Tiberghien, professor aan de VUB en ULB, had echter één belangrijk negatief punt op te merken: "Bijna geen enkel team, behalve de uiteindelijke winnaars dan, keken naar de geloofwaardigheid van de resultaten van hun berekeningen. Ik zie dat overal gebeuren. Er worden allerlei complexe berekeningen geprogrammeerd, maar men denkt niet na of de resultaten wel realistisch zijn." De jury zag applicaties die het ingelegde spaargeld van 15 000 euro op een jaar tijd konden vermeerderen tot 45 000 euro. Er is dan wel sprake van een prijzenslag tussen de banken, maar een rente van 200% is toch wat te veel van het goede…
 

 

1. First Base
Marnix van Bochove en Ralph Oudejans
Tools: Eclipse, Eclipse Rich Client Platform, JFreeChart, First Base Business Architect (een eigen ontwikkelde codegenerator)

Het Nederlandse team van First Base Enterprise Connectivity deed vorig jaar ook al mee aan de RAD Race. "We bleven toen te lang hangen bij het standaard framework," blikt Marnix van Bochove terug. "Nu zouden we graag bij de eerste vier geraken." Op het einde van de eerste dag weten ze al dat het niet zal lukken om alles te implementeren, maar de basisflow en het afdrukken van de rapportjes zien ze wel zitten. "Toch blijft het complex om de opdracht voor alle bankrekeningen te laten werken," zucht Marnix. "Er zijn zoveel uitzonderingen en voorwaarden."

 

2. Getronics PinkRoccade
Henk van den Brink en Daniël van Hoesel
Tools: Ruby on Rails, MySQL, Apache, NetBeans en MySQL Toolkit onder Windows, TextMate onder Mac OS X

Het jonge duo van Getronics PinkRoccade kent het klappen van de zweep al: ze deden in juni al mee aan een binnen hun bedrijf georganiseerde RAD Race, waar ze verdienstelijk derde werden. "Bij Getronics PinkRoccade werken we met Java, maar we gebruiken in deze RAD Race Ruby on Rails, vooral om te testen wat er mee mogelijk is," vertelt Daniël van Hoesel. Hij heeft al jaren ervaring met Ruby on Rails, getuige het feit dat hij zich nog versie 0.3 herinnert. Van een early adopter gesproken! Zijn compaan Henk van den Brink is een half jaar geleden ook op de Rails-kar gesprongen. De opgave noemen ze ‘lastig’, maar dat heeft hen niet tegengehouden om van bij de start een grondig fasenplan op te stellen. Een half uur voor het einde stoppen ze zoals gepland met de ontwikkeling en testen ze de demo-applicatie om er zeker van te zijn dat er niets meer helemaal misloopt. "We vonden toen natuurlijk nog wat foutjes die de demo konden verstoren, en die hebben we zo goed als dat kon weten op te lossen. Het was dus wel verstandig om die tijd daarvoor te nemen," aldus Daniël. De berekeningen van de rentes zijn in hun toepassing regelgebaseerd ontworpen: "We hebben een eigen formule-syntax ontworpen die losjes gebaseerd is op vereenvoudigd Ruby. Zo kunnen we voor elk spaarboekje gemakkelijk de berekeningsregels opgeven. Dankzij Ruby zijn de berekeningen met datums ook eenvoudig." Tijdens de hele wedstrijd geeft het Getronics-team een rustige indruk alsof ze alles onder controle hebben: "Stress heeft geen zin, dat maakt het enkel maar moeilijker," zegt Henk laconiek op het einde van de eerste dag. Hun aanpak levert hen een tweede plaats op.

 

3. Holder
Stephan Kaag en Chiel Wester
Tools: Ruby on Rails, MySQL, Betty (eigen Rails plug-in)

Het team van het Nederlandse internetbureau Holder heeft al aan de Nederlandse editie van de RAD Race meegedaan, waar ze derde werden. Ze werken binnen hun bedrijf al 3 jaar enkel met Ruby on Rails, en dat gebruiken ze in deze wedstrijd dan ook. Holder vult dit aan met hun eigen generieke Rails plug-in Betty, waarmee ze snel een beheersysteem kunnen in elkaar boxen met gebruikersbeheer, een zoekfunctie, lijsten en editeervensters. "Dat zorgt ervoor dat we ons kunnen concentreren op de specifieke functionaliteit van deze toepassing," aldus Chiel Wester. De opgave noemt het duo ‘uitdagend.’ Stephan heeft zich op de berekeningen gestort en vindt ze lastig: "We hebben immers weinig financiële achtergrond. "Op het einde van de wedstrijd blijkt er nog een lastige bug in de berekeningen te zitten, maar de jury is onder de indruk van hun aanpak van de berekeningsregels: Holder heeft een domeinspecifieke editor geschreven waarmee de beheerder van de webapplicatie op een overzichtelijke en gebruiksvriendelijke manier nieuwe bankrekeningen kan toevoegen of de regels van een bestaande bankrekening kan aanpassen. Een originele aanpak, is het verdict van de jury, en dat levert hen een derde plaats op.

 

4. Data Flow Team 1
Bert Uyttebroek en Glenn Symons
Tools: Visual Studio, SQL Server, eigen tool die datalaag genereert

Team 1 van het Leuvense consultancybedrijf Data Flow vindt het een uitdagende opgave. Op het einde van de eerste dag merken ze op dat ze eigenlijk meer op voorhand hadden kunnen doen, zoals een basislayout. "Onze business logica zal dan ook wel beter in orde zijn dan het uiterlijk," zegt Bert Uyttebroek. Op het einde blijkt inderdaad dat de interface nog niet af is. "De invoerschermen zijn eenvoudig, vertelden we onszelf, dus dat stelden we uit," verontschuldigde Bert zich. De jury waardeerde wel de ‘back to basics’ aanpak van het team: Data Flow Team 1 waren de enigen waarvan de resultaten zo goed als klopten, en ze maakten bijna uitsluitend van standaard Microsoft-software gebruik. De toepassing was in C# geschreven en volledig database-driven. Meertaligheid was geïmplementeerd door een resource file per taal.

 

5. Data Flow Team 2
Kris Beaumont en Tim De Pauw
Tools: Java, IntelliJ IDEA, NetBeans, Oracle database, Maven, Glassfish webserver, Struts en Spring

Team 2 van Data Flow werd last-minute opgetrommeld en was dus ook niet zo goed voorbereid voor de RAD Race. Bovendien had het duo nog nooit samengewerkt, wat bij zo’n wedstrijd toch een grote handicap is. Genereertools had het team niet, wat ze ook al vlug als een gemis ervaarden: "Voor zo’n complexe opgave alles zelf programmeren is niet te doen," aldus Kris Beaumont. Het team merkt al vlug dat het niet ver zal geraken, maar sportief als ze zijn, blijven ze en proberen ze zelfs eens een codegenerator uit om uit te zoeken wat ze gemist hebben. Zouden ze een volgende keer nog meedoen? "Ja zeker, maar dan zouden we ons veel beter voorbereiden," zegt Tim beslist. 

 

6. Mattic
Jeanot Bijpost en Marco de Groot
Tools: Mattic Cathedron

De druk was groot voor de bollebozen van het Nederlandse softwarehuis Mattic: in 2004 wonnen ze deze RAD Race al eens (gedeeld). Hoewel ze dus al eens getoond hadden dat ze het aankonden, klonken ze vrijdagnamiddag nogal pessimistisch. "We hadden een heel ander soort opgave verwacht," zucht Jeanot. "Ik denk niet dat we gaan winnen," klinkt het bescheiden. Mattic valt op door het gebruik van hun eigen tool: Cathedron, een omgeving voor het ontwerp en de ontwikkeling van data-driven systemen. Cathedron combineert een model-driven generator met een RAD-omgeving. "Onze tool laat ons toe om ons op de concepten te focussen in plaats van de technische details. Hierdoor kunnen we heel snel ontwikkelen en de kwaliteit van onze toepassing garanderen," legt Jeanot uit. Als we over zijn schouders meekijken, zien we UML-klassendiagramma’s, UML-activiteitsdiagramma’s en allerlei wizards. De weinige code gebeurt in de Pascal-scripttaal. Op de tweede dag klinkt het duo al heel wat positiever. En met reden: de jury is onder de indruk van de grondigheid waarmee Mattic is te werk gegaan. Wanneer de berekening die de jury vraagt niet helemaal blijkt te kloppen, duikt Jeanot zijn tool Cathedron in en kan onmiddellijk nakijken welke regels er afgevuurd zijn door de invoer van de gebruiker. De jury vindt Mattics oplossing dan ook met kop en schouder boven de rest uitsteken: het is een heel generieke en volledige oplossing en heel onderhoudbaar.

 

7. iAdvise
Stijn Van Raes en Hans Willems
Tools: Oracle Application Express, Oracle Apache, Oracle Database 11G, SQL Developer

Bij het Kontichse consultancybedrijf iAdvise staat Oracle centraal, en dat merken we ook in hun oplossing, die gebruik maakt van Oracle Application Express en Oracle 11G. Stijn Van Raes en Hans Willems voelen een grote druk op hun schouders, want collega’s van hun bedrijf wonnen de RAD Race vorig jaar. Ze hebben echter nog niet samen aan een project gewerkt. "Voor deze opgave was een grote analyse nodig eer we echt konden beginnen, en eigenlijk is er te weinig tijd om alle berekeningen goed na te kijken. Het is moeilijk, maar we zien het wel zitten om het af te krijgen," klinkt het vrijdag. De dag erna geeft Stijn echter toe dat ze een deel van de opgave verkeerd begrepen hadden. Ze liepen ook tegen wat onverwachte problemen met de Oracle-tools op.

 

8. Finalist IT Group Team 1
Diederick Lawson en Stefan Borsje
Tools: Ruby on Rails, Gruff

Stefan Borsje van het eerste team van het Nederlandse Finalist IT Group vindt het een leuke opgave: "Het is een probleem waarmee ontwikkelaars het in elke taal wel moeilijk mee hebben." Na het doorspitten van de documenten van de verschillende banken zucht hij dat bankberekeningen toch zo ondoorzichtig zijn. Samen met zijn compaan Diederick Lawson was hij vrij snel aan de slag met Ruby on Rails, waarbij de taken goed verdeeld werden. Ze hebben gekozen voor een regelgebaseerde oplossing. De jury prijst de duidelijke interface en waardeert het dat de ontwikkelaar de regels kan inspecteren, al gebeurt dat laatste vrij complex.

 

9. Finalist IT Group Team 2
Marcel de Graaf en Iain Hecker
Tools: Ruby on Rails, Open Flash Chart

Finalist IT Group doet ook met een tweede team mee. Ter voorbereiding hebben beide teams zich overigens samen een dag opgesloten in één van de vergaderzalen van hun bedrijf in Rotterdam om een Rails-toepassing in elkaar te boksen. Team 2 klinkt vrijdagnamiddag niet echt enthousiast. "We zijn niet al te spetterend bezig, maar we zien het als een test voor onszelf," zegt Marcel de Graaf. Aan het einde van dag 1 moet er nog heel wat gebeuren, ook al heeft het team op voorhand al een soort generieke toepassing kunnen opzetten met functionaliteit voor inloggen en internationalisatie.

 

10. 4D vision
Robrecht Scheepers en Philippe Michiels
Tools: Visual Studio 2008, SQL Server 2005, 4D vision WebXTC (eigen codegenerator), ASP.NET

Het Berchemse informaticabedrijf 4D vision neemt nu al voor de vierde keer deel, waarvan één keer als winnaar. Philippe Michiels ziet de RAD Race vooral als een manier om de grenzen van hun technologie af te tasten. "Onze intern ontwikkelde codegenerator 4D vision WebXTC combineert de kracht van .NET met het gemak van codegeneratie. Vanuit het datamodel kunnen we alle gebruikersschermen genereren. Per tabel in de database genereren we bijvoorbeeld schermen voor het weergeven van een lijst, voor het editeren, voor detailweergave, voor het toevoegen van een record, enzovoort. Dit zorgt voor een heel consistente gebruikersinterface," legt Philippe enthousiast uit. Bovendien zit er veel logica in de SQL Server, wat op vlak van onderhoud een voordeel is, zegt hij: "We kunnen de logica veranderen zonder de toepassing plat te leggen." Op het einde van dag 1 verwacht het team de toepassing in grote lijnen af te krijgen, maar dat blijkt uiteindelijk niet te lukken. De jury prijst 4D vision wel om hun goede analyse en goed begrip van het probleem.

 

11. JSCOOP en Computer Support
Serge Liberloo en Peter De Leuze
Tools: Eclipse EE 3.4, Spring, Spring Web Flow 2.0, JavaServer Faces, Tomcat-server, MySQL

Serge Liberloo van het Limburgse Java-consultancybedrijf JSCOOP en Peter De Leuze van Computer Support hebben zich pas drie dagen voor het begin van de wedstrijd ingeschreven, omdat ze eens een RAD Race wilden meemaken en in het verleden al wel samengewerkt hadden. "Omdat we ons nog op het einde pas hebben ingeschreven, hebben we ons echter niet zo goed voorbereid. We hadden meer op voorhand moeten doen," zegt Serge op het einde van dag 1. "Het gaat moeilijk worden om het volledig af te krijgen, ook al omdat er in Java wel een aantal tools voor snelle modellering ontbreken." Volgend jaar wil Serge echter zeker opnieuw meedoen, zegt hij. "Ik weet nu dat ik me beter moet voorbereiden. Ik heb ook verschillende teams met Ruby zien werken, en dat ziet er wel handig uit voor rapid application development. Die taal ga ik toch ook eens bestuderen," lacht hij.

Gerelateerde artikelen

Volg ons

69% korting + 3 maanden gratis

69% korting + 3 maanden gratis

Bezoek NordVPN

Business