Een applicatie maken, en dan nog snel ook, is een vak apart. Dat bleek weer uit de RAD Race van dit jaar. CrossmarX is de winnaar van de 2008-editie. Dat team zette met 5GL de toon: het oprukken van framework-gebaseerde 5GL's ten koste van de 4GL's, ‘kale ‘ Java en C#.
De stijgende olieprijzen en de opwarming van de aarde hebben van energiebesparing een hot item gemaakt. De opgave voor de RAD Race 2008 van Software Release Magazine volgde die trend op de voet. De deelnemers moesten software schrijven worden die ritten van lege vrachtauto's moest voorkomen.
Het meest ingewikkelde onderdeel van die opdracht was de automatisch planning: over een periode van een week moesten ongeveer 150 vrachten gecombineerd worden met vrachtauto's die anders een lege retourrit zouden maken – maar alleen als dat een zo groot mogelijke CO2-reductie zou opleveren. De noodzakelijke geografische gegevens stonden niet in een tabel maar moesten via webservices opgehaald worden. Dat kon comfortabel via Webservices.nl, of iets ingewikkelder met andere oplossingen zoals Google.
Ook moest de software onder meer rapporteren hoeveel CO2-besparing het systeem opleverde. Wie nog tijd en energie overhad kon een en ander via mashup's combineren met Google-kaartjes, zodat de applicatie uiterlijk net zo hip zou zijn als het onderwerp.
Java-klassen
Deelnemer CrossMarX haalde met een slim framework van Java-klassen de eerste plaats. De tool van dat team zou je een 5GL kunnen noemen, of een open 4GL: een ontwikkelomgeving die het gebruiksgemak van een 4GL combineert met de openheid van talen als Java. De tool werkt met een server, de CrossmarX Application Engine. Dit is in feite een verzameling Java-klassen (pojo's: plain old Java objects) die in een TomCat-applicatieserver draaien. Die klassen zijn aan te passen en desgewenst uit te breiden met plugins, ook Java-klassen. Uiteindelijk ontstaat er ook HTML, SQL, en Javascript. Delen van deze aparte aanpak in de CrossmarX Application Engine zijn gepatenteerd.
Tweede werden de ontwikkelaars van Novulo met hun ‘Visual Ajax Builder', die behalve Javascript en XML ook Microsoft C# genereert. Dit is dus ook een framework in combinatie met een moderne, relatief open taal. Zoals het een visuele tool betaamt, leverde die een applicatie op die ook zeer goed oogde. Daarmee scoorde het team extra punten bij de openbare Idols-jurering.
Zelfbeschrijvende objecten
De teams 9 Knots en HOT Item deelden de derde plaats. 9 Knots gebruikte het eigen product Casemaster. Dat is een applicatieontwikkelend framework dat is gebaseerd op het principe van zelfbeschrijvende objecten. Casemaster produceert bytecode, tijdens de wedstrijd VisualBasic 6-bytecode, maar het kan ook Java-bytecode ophoesten.
HOT Item had in ieder geval politiek gezien de interessantste oplossing: het werkte met een set van open source frameworks voor Micrsosoft C# (Castleproject, vooral Monorail MVC framework en Active record) in combinatie met Microsoft Visual Studio. Een van de teamleden, Roelof Blom, draagt ook veel code bij aan http://www.castleproject.org.
Net te weinig punten
Servoy scoorde bij de jurering op basis van juryscripts net te weinig punten om aan de openbare jurering mee te doen. Dat was jammer, want deze deelnemer had het daar waarschijnlijk goed gedaan. Servoy haalde de vierde plaats met een interpretator op basis van Java. Bijzonder dit jaar was dat deze RAD Race-deelnemer een vrouwelijke ontwikkelaar inzette, de jongere zus van degene die de jaren daarvóór de lag hoog moest houden.
Opmerkelijk was dat Ruby on Rails (RoR) in de RAD Race van dit jaar slechts middelmatig presteerde: plaats vijf en zes. De beide zeer jonge teams van Nedforce wisten op de eerst dag niet voldoende functionaliteit te bouwen en haalden die achterstand op de tweede dag niet echt in. Voor het belangrijkste deel kwam dat doordat ze, anders dan de RoR-teams van voorgaande jaren, geen frameworks gebruikten voor het bouwen van CRUD-functionaliteit (create, update, delete – ofwel basisbewerkingen met data).
Met eigen taal
Kwik Bit werd zevende en werkte met WinDev, een Franse ontwikkelomgeving met een eigen taal (WLanguage, een soort mix van Basic en DBase) die ook Ajax en webservices produceert en een rapport-generator heeft. Compat – achtste in de RAD Race 2008 – werkte met een oplossing die een paar jaar geleden heel hip was, maar ook nu nog goede resultaten moet kunnen opleveren: UML om prototypes in .Net (2.0) op te leveren.
Het team met de beste RAD Race spirit ten slotte, was ongetwijfeld First Base. Onvoorbereid maar wel met twee nieuwe hard disks en één nieuw besturingssysteem (Ubuntu) trad het ten strijde. Met name het niet-functioneren van de nieuwste versie van hun ontwikkelomgeving op Ubuntu leverde zoveel achterstand op, dat dit team aan het einde van de eerste dag inzag dat verder strijden geen zin had.
Ook de winnaar – CrossmarX – heeft de strijd in zekere zin opgegeven. Nadat het team al drie keer achter elkaar gewonnen heeft en dus eigenaar wordt van de wisselbeker, zal het volgend jaar niet meer aantreden. Het heeft naar eigen zeggen alles bereikt wat het wilde bereiken. CrossmarX wil echter graag meedoen aan het opstellen van een opgave, zodat het team niet helemaal verloren is voor de RAD Race.
Race en realiteit
Alle tools die meededen aan de RAD Race 2008 proberen het nadeel van de geslotenheid van een klassieke 4GL te ondervangen door een 4GL-achtige oppervlakte te combineren met moderne talen als Java of C#. Ruby on Rails (RoR) vormt in zekere zin een uitzondering. Het is net als Java en C# een OO-taal, maar heeft een eenvoudiger syntax, een eigen framework (Rails) en regels die neerkomen op het werken met standaardoplossingen en het aangeven van uitzonderingen daarop.
Hoewel de 4GL's in de echte wereld nog lang niet zijn uitgediend, druppelen de ontwikkelingen van de RAD Race ook door in de Java- en Microsoft .Net-wereld. In die zin is de RAD Race vergelijkbaar met de Formule 1, waar ook technologie wordt gebruikt die meestal pas later gemeengoed wordt.
Idols
Behalve de traditionele jurering met behulp van juryscripts, heeft de jury dit jaar de beste vier teams ten overstaan van het publiek aan de tand gevoeld. Ict-goeroes Rick van der Lans (R20 consultancy), Ron Tolido (Capgemini) stelden – soms pijnlijke – vragen. Cor Baars (DNV) deed nauwelijks voor hun onder terwijl ook Chris Widdows (Ordina), Daan Calmeijer (DNV), Graham Bolton (IFSQ) meer inzicht in de gemaakte applicaties verschaften.
Dré de Man (Array Publications) en Wouter Goedvriend (Seven Stars) controleerden de functionaliteit ook openbaar met een extra juryscript-opgave, terwijl codereviews van IFSQ extra inzicht gaf in de aard van de code. Het concept van de opgave werd gemaakt door Cor Baars, terwijl De Man de opgave verder heeft afgemaakt en Goedvriend de juryscripts opleverde.