Naar de inhoud Naar het menu

Een technisch kijkje in de development-keuken 2/3

What's in the pie? - door Loran Kloeze

nieuws/1660557216_220718-kijkje-in-de-keuken.png

Bij Freedom zijn we graag transparant in wat we doen en waar we naartoe willen. Voor de wat meer technisch onderlegden onder jullie, is het vast ook interessant om te weten wat er achter de schermen gebeurt. Onlangs gaven we jullie al een eerste blik in de development-keuken van Freedom, met dank aan onze senior software engineer Loran. Hierin legden we meer uit over het Order Management Systeem genaamd SOMS. Vandaag duiken we een stukje verder de keuken in.

Het Order Management Systeem genaamd SOMS is ontwikkeld in het framework van Ruby on Rails. Ruby is de programmeertaal. Rails is het ‘web application framework’ dat gebouwd is in ruby. Het is een zogenaamd 'opiniated framework’. Dat betekent dat de ontwikkelaars van het framework al bepaalde keuzes hebben gemaakt, zodat we als gebruiker van het framework daar niet over hoeven na te denken. Zo zijn er bijvoorbeeld al keuzes gemaakt voor formulieren, cookies, databasetoegang en security. Zo'n opiniated framework als Rails is vaak een zegen, maar soms een vloek. En daarom geldt hier: maak een verstandige keuze en ga uit van datgene wat het vaakst van toepassing is. Gelukkig is het in Rails ook bijna altijd mogelijk om af te wijken van wat al besloten is voor je.

Rails wordt vaak in de start-up fase gebruikt, waarin functionaliteit en opleveringssnelheid de belangrijkste voorwaarden zijn. Ervaren Rails-developers kunnen zodoende zeer snel een webapplicatie (door)ontwikkelen in Ruby on Rails. Natuurlijk zijn er andere en vergelijkbare frameworks. Denk bijvoorbeeld aan Laravel in PHP of Django in Python. Maar uiteindelijk moet je praktisch en economisch zijn: welke developers heb je beschikbaar, waar kunnen ze goed mee werken en zijn de huidige developers relatief snel op te leiden om te programmeren in het gekozen framework? Vanuit die vragen is Ruby on Rails bij Freedom naar voren gekomen en ook op dit moment past het nog steeds goed.

Hoe werkt SOMS?
We hebben het al gehad over SOMS, maar om te snappen hoe SOMS werkt is het handig dit uit te leggen door een veelgebruikt orderproces te doorlopen.

De meeste bestellingen worden geplaatst via onze website. Je geeft je postcode op in de postcodecheck en doorloopt een aantal stappen om je abonnement samen te stellen. Tijdens het bestelproces wordt voortdurend contact gelegd met SOMS en dat gebeurt zelfs al voordat iemand daadwerkelijk besteld heeft. Het contact tussen de website en SOMS wordt namelijk al gelegd op het moment dat je de beschikbaarheid checkt met een postcode en huisnummer. Bij de postcodecheck op de website wordt namelijk in SOMS direct gecheckt wat er leverbaar is op jouw postcode. Die informatie over leverbaarheid hebben we zelf meestal niet en halen we op bij onze partners via zogenaamde API's. Nadat de postcodecheck klaar is met checken, levert SOMS aan de website een lijst met beschikbare internetverbindingen. De besteller krijgt deze opties te zien in de browser. Wanneer er een keuze is gemaakt uit de beschikbare internetverbindingen, start het bestelproces.

Tijdens het bestelproces kan er een keuze worden gemaakt in een aantal diensten en installatie. De toekomstige klant kiest wel of niet een modem, monteur, televisie en/of telefonie. Vervolgens kunnen er een aantal gegevens worden ingevuld zoals het contact e-mailadres en het adres waarop de verbinding geleverd mag worden. Bij al deze stappen in het orderproces wordt er in SOMS gecontroleerd of de order in de huidige staat bevestigd kan worden. Nadat er op ‘bestellen’ is gedrukt en de order definitief is afgerond, gaat SOMS aan de slag.
 

In het volgende kijkje in de development-keuken vertellen we je meer over orders, taken en abonnementen. Want wat gebeurt er op de achtergrond daadwerkelijk, op het moment dat de bestelling rond is?