Danske BIQ hopper på Ruby on Rails

Kan man bruge den nyeste hypede teknologi i et forretningskritisk produktionsmiljø? Den lille virksomhed BiQ har skrottet ASP til webapplikationerne og er hoppet på Ruby on Rails-toget.

Den danske erhvervsdatabase BiQ vælger nu til selskabets webapplikationer at droppe ASP til fordel for det meget omtalte Ruby on Rails, der er skabt af danske David Heinemeier Hansson.

Det sker i forbindelse med relanceringen af biq.dk, hvor webudvikler Jakob Skjerning - der er personlig ven af David Heinemeier Hansson - har overtalt sin chef til at satse på det relativt unge udviklingsmiljø.

For flere år siden havde Jakob Skjerning ellers ikke den store tiltro til programmeringssproget Ruby, da han første gang fik det vist frem.

»Jeg var hjemme ved David en dag, og han viste mig det her Ruby. Han sagde: Det her er bare så fantastisk. Jeg sad og kiggede på det, og lavede den typisk danske ja, ja, det er jo meget fint, men jeg kan gøre det hele i PHP allerede.«

Jakob Skjerning arbejdede sammen med David Heinemeier Hansson på spilsitet Dailyrush.dk omkring årtusindeskiftet. Hansson er den danske hovedmand bag Ruby on Rails, som er et open source-framework til hurtig udvikling af webapplikationer i programmeringssproget Ruby.

Skjerning og Hanssons spilsite gik i luften lang tid før, der var noget der hed Ruby on Rails. Værktøjerne var PHP og ASP. Det var i 2003, at Hansson uden succes forsøgte at overbevise sin kollega om Rubys fortræffeligheder. Men piben skulle snart få en anden lyd.

Høj på Rails

»Jeg læste om Rails i blogosfæren og på de udviklersites, jeg følger med i. Jeg tænkte: Når der er så mange der snakker om det, så kan det ikke bare være David. Det kunne godt være, man skulle kigge på det. Så det gjorde jeg - og ja, så var jeg hooked.«

Som nyuddannet datamatiker sprang Jakob Skjerning fra Dailyrush.dk til firmaet BiQ, der via en webplatform leverer information om firmaer og personer, som har oplysningspligt over for Erhvervs- og Selskabsstyrelsen.

BiQ startede med at udvikle en prototype i ASP 3, og det var så meningen, at en produktionsudgave skulle skrives i PHP senere. ASP-prototypen viste sig at være så velfungerende, at den kunne forfremmes til produktionsbrug.

Skjerning begyndte at udvikle applikationer i Ruby on Rails, først for sin egen fornøjelses skyld, og siden som sideforretning i tilgift til sit daglige arbejde hos BiQ.

»Jeg begyndte at blive mere og mere irriteret over de ting, jeg programmerede i ASP 3 for BiQ. Hver dag tænkte jeg: ?Det her kunne jeg skrive meget bedre i Ruby on Rails.?«

Da argumenterne var i orden for at benytte Rails til BiQs webapplikation, foreslog Skjerning sin chef at kode sitet om i Ruby. Det faldt sammen med at den eksisterende kodebase stod over for en større revision.

»Jeg tænkte: hvorfor ikke tage skridtet fuldt ud og skrive noget, som er mere fremtidssikret, hvor vi nemmere kan implementere de ting, vi vil i fremtiden, og hvor vi slipper for at skulle duplikere koden en masse steder.«

Færre kodelinjer
Selvom Jakob Skjerning ikke tør give et konkret bud på, hvor meget udviklingshastigheden bliver sat i vejret med Ruby on Rails, så siger hans fornemmelse ham, at det går meget hurtigere. Antallet af kodelinjer viser en drastisk forskel: 15.500 linjer er reduceret til 5.000.

Den store tidsbesparelse ligger ifølge Skjerning i de muligheder, som Rails giver for redigering af data i en database - såkaldt CRUD-funktionalitet. Det betød blandt andet, at fem punkter på opgavelisten kunne krydses af i et hug.

Førstegenerations-teknologi
Men er det ikke problematisk at vælge en førstegenerations-teknologi som Ruby on Rails? For at teste om løfterne kunne bære, valgte BiQ at implementere en del af koden bag sitet i det nye miljø.

»Vi fandt, at den nye kode gav det samme eller bedre ydelse end ASP 3,« fortæller Jakob Skjerning.

Ydelse er dog ikke den eneste udfordring. Unge programmeringsmiljøer har det med at skifte ham, og bagudkompatibilitet ofres tit til fordel for nye løsninger. I open source-verdenen er der yderligere det problem, at man ikke kan hænge en leverandør op på kontrakter eller andre forhold, som sikrer applikationens fremtidige overlevelse.

»Nu er det så heldigt, at Ruby on Rails er meget åbent, så hvis der opstod problemer, ville vi selv være i stand til at rette i frameworket,« siger Skjerning.

Og det viste sig undervejs at være nødvendigt. BiQ benytter Microsofts SQLServer-database, og den spiller ikke helt sammen med Ruby on Rails. Her måtte Skjerning flikke rettelser til på egen hånd, ved hjælp af andre tilretninger offentliggjort på nettet.

Det kræver naturligvis kompetence af et vist format, og det er måske ikke alle, som vil have mod på det, medgiver Skjerning. Og så giver det visse fordele at have teknologiens ophavsmand på sin instant messaging-liste, selvom Skjerning benægter at benytte David Heinemeier Hansson som support.

»Det synes jeg ikke, jeg kunne være bekendt. Jeg har gjort det nogle få gange, når jeg var dybt nede i Rails. Han plejer at være flink nok til at svare.«

BiQ og Jakob Skjerning er ved at lægge sidste hånd på firmaets nye webapplikation, og forventer at sætte den i søen i starten af året.

Denne artikel stammer fra den trykte udgave af Version2, der kom på gaden fredag den 26. januar.

Tips og korrekturforslag til denne historie sendes til tip@version2.dk

Følg forløbet

Kommentarer (0)

Kommentarer (0)
Log ind eller opret en konto for at skrive kommentarer

Pressemeddelelser

Silicom i Søborg har fået stærk vind i sejlene…

Silicom Denmark arbejder med cutting-edge teknologier og er helt fremme hvad angår FPGA teknologien, som har eksisteret i over 20 år.
22. sep 10:29

Conference: How AI and Machine Learning can accelerate your business growth

Can Artificial Intelligence (AI) and Machine Learning bring actual value to your business? Will it supercharge growth? How do other businesses leverage AI and Machine Learning?
13. sep 2017

Affecto has the solution and the tools you need

According to GDPR, you are required to be in control of all of your personally identifiable and sensitive data. There are only a few software tools on the market to support this requirement today.
13. sep 2017