Wat is een backend en hoe werkt die?
Auteur: Redactie Domeny.ForSale Gepubliceerd
In het kort: De backend is het deel van een applicatie dat op de server draait: het verwerkt verzoeken, past de regels van de dienst toe en controleert de toegang tot gegevens. De backend controleert bijvoorbeeld wachtwoorden, slaat bestellingen op of maakt de aankoopgeschiedenis beschikbaar. Gebruikers zien de backend meestal niet rechtstreeks, maar gebruiken de functies ervan via een website of mobiele app.
Backend en frontend — wat is het verschil?
De frontend is het deel van een applicatie waarmee de gebruiker rechtstreeks werkt: formulieren, knoppen, menu’s en schermen met gegevens. Bij een website draait de frontend voornamelijk in de browser. De backend ontvangt de verzoeken die de browser verstuurt en bepaalt wat ermee mag gebeuren.
Bij een inlogformulier toont de frontend velden voor het e-mailadres en wachtwoord. De backend controleert de inloggegevens en zorgt er na een geslaagde aanmelding voor dat de gebruiker bij volgende verzoeken kan worden herkend. Alleen een scherm met ‘Ingelogd’ tonen geeft geen toegang tot het account — die toegang moet op de server worden gecontroleerd.
Deze taakverdeling betekent niet dat elk project twee afzonderlijke applicaties heeft. De backend kan ook de volledige paginacode samenstellen die de browser vervolgens weergeeft. Bij andere oplossingen stuurt de backend vooral gegevens, waaruit de frontend zelf de weergave opbouwt.
Waarvoor is de backend verantwoordelijk?
De belangrijkste taak van de backend is het uitvoeren van bedrijfslogica: de regels die bepalen hoe een dienst werkt. In een webshop kunnen die regels bepalen of een kortingscode voor een bepaald product geldt, en in een reserveringssysteem of het gekozen tijdstip nog beschikbaar is.
Typische taken van de backend zijn:
- Gegevens controleren: nagaan of de aangeleverde waarden het juiste formaat hebben en voldoen aan de regels van de applicatie.
- Authenticatie en toegangsrechten: vaststellen wie de gebruiker is en welke informatie die mag bekijken of wijzigen.
- Gegevens lezen en opslaan: producten ophalen, een profiel bijwerken of een bestelling registreren.
- Integraties: communiceren met een betaalprovider, een dienst voor het versturen van berichten of een voorraadbeheersysteem.
- Achtergrondtaken: rapporten genereren of bevestigingen versturen zonder het scherm van de gebruiker te blokkeren.
Controles in de frontend kunnen het invullen van een formulier makkelijker maken, maar vervangen de gegevenscontrole door de backend niet. Een verzoek kan ook buiten het formulier om worden verstuurd. Daarom mag de server niet zonder meer vertrouwen op prijzen, account-ID’s of informatie over toegangsrechten die de gebruiker aanlevert.
Hoe werkt de backend bij een aankoop?
Stel dat je het laatste exemplaar van een boek in een webshop koopt. Nadat je op ‘Bestellen’ klikt, moet de applicatie meer doen dan alleen de inhoud van het scherm veranderen.
- De frontend stuurt een verzoek naar de backend met het product-ID, het aantal exemplaren en de benodigde bestelgegevens.
- De backend controleert of het boek beschikbaar is en berekent het te betalen bedrag op basis van betrouwbare prijs- en kortingsgegevens.
- De backend slaat de bestelling op en beveiligt de voorraadverwerking zo dat hetzelfde exemplaar bij gelijktijdige aankopen niet aan twee personen wordt verkocht.
- Bij een gebruikelijke aankoop met online betaling communiceert de backend met de betaalprovider en geeft de frontend de informatie die nodig is voor de volgende stap.
- Nadat de backend de betalingsbevestiging heeft ontvangen en gecontroleerd, werkt deze de bestelstatus bij.
Een API, oftewel een programmeerinterface, legt vast hoe deze communicatie verloopt: welke verzoeken kunnen worden verstuurd en hoe de antwoorden eruitzien. Dezelfde backend kan via een API zowel de webshop in de browser als een mobiele app bedienen. Een API is echter niet hetzelfde als een backend — het is een manier om de functies ervan beschikbaar te stellen.
Backend, server en database zijn niet hetzelfde
Een server kan een computer zijn die middelen beschikbaar stelt, of een programma dat verzoeken beantwoordt. De backend is het deel van een applicatie dat op die infrastructuur draait. De backend hoeft niet op één fysiek apparaat te staan, maar kan meerdere machines of clouddiensten gebruiken.
Een database is een systeem om informatie gestructureerd op te slaan en op te halen. De backend gebruikt een database bijvoorbeeld om een klantaccount op te slaan. De database zelf vervangt echter niet de regels die bepalen wie dat account mag bewerken. Ook heeft niet elke backend een eigen database nodig: sommige diensten verwerken gegevens direct of halen ze uit andere systemen.
Je kunt een backend onder meer bouwen met Python, Java, PHP, C# of JavaScript dat in de Node.js-omgeving draait. De keuze van de programmeertaal bepaalt niet automatisch de kwaliteit van de applicatie. Bij die keuze tellen ook de ervaring van het team, de beschikbare bibliotheken, de benodigde integraties en de onderhoudskosten mee.
Wanneer heb je een eigen backend nodig?
Een eenvoudige bedrijfswebsite met een beschrijving van de diensten en contactgegevens kan zonder eigen applicatiebackend werken. De hosting levert nog steeds bestanden aan de browser, maar hoeft niet voor elke bezoeker afzonderlijke logica uit te voeren. Een contactformulier kan via een externe dienst worden afgehandeld — dan levert de aanbieder van die dienst de benodigde backend.
Gebruikersaccounts, privédocumenten, reserveringen of maatwerk voor facturering en betalingen vereisen meestal backendfuncties. Dat betekent niet dat je alles vanaf nul moet schrijven: een kant-en-klaar webshopplatform of contentmanagementsysteem kan deze functies al bieden. Een eigen oplossing is vooral zinvol wanneer de beschikbare tools belangrijke regels van het project niet kunnen uitvoeren.
Schrijf voordat je een applicatie laat maken op welke gegevens deze moet opslaan, wie ze mag wijzigen en met welke diensten de applicatie verbinding moet maken. Met die lijst kun je beoordelen of een kant-en-klaar platform volstaat of dat een eigen backend moet worden ontworpen.
Zie ook: Wat is 2FA?
