Was ist ein Backend und was leistet es?
Autor: Redaktion Domeny.ForSale Veröffentlicht
Kurz erklärt: Das Backend ist der Teil einer Anwendung, der auf dem Server läuft: Es verarbeitet Anfragen, setzt die Regeln des Dienstes um und kontrolliert den Zugriff auf Daten. Es prüft beispielsweise Passwörter, speichert Bestellungen oder stellt den bisherigen Kaufverlauf bereit. Nutzer sehen das Backend normalerweise nicht direkt, sondern nutzen seine Funktionen über eine Website oder eine mobile App.
Backend und Frontend – wo liegt der Unterschied?
Das Frontend ist der Teil einer Anwendung, mit dem Nutzer direkt interagieren: Formulare, Schaltflächen, Menüs und Datenansichten. Bei einer Website läuft es vor allem im Browser. Das Backend empfängt die von dort gesendeten Anfragen und entscheidet, was damit geschehen darf.
Bei einem Anmeldeformular zeigt das Frontend die Felder für E-Mail-Adresse und Passwort an. Das Backend prüft die Zugangsdaten und sorgt nach einer erfolgreichen Anmeldung dafür, dass der Nutzer bei weiteren Anfragen wiedererkannt werden kann. Allein die Anzeige „Angemeldet“ gewährt noch keinen Zugriff auf das Konto – dieser Zugriff muss auf dem Server kontrolliert werden.
Diese Aufteilung bedeutet nicht, dass jedes Projekt aus zwei getrennten Anwendungen besteht. Das Backend kann auch den fertigen Seitencode erzeugen, den der Browser anschließend darstellt. In anderen Lösungen übermittelt es hauptsächlich Daten, aus denen das Frontend selbst die Ansicht erstellt.
Wofür ist das Backend zuständig?
Die wichtigste Aufgabe des Backends ist die Umsetzung der Geschäftslogik, also der Regeln, nach denen ein Dienst funktioniert. In einem Shop können diese Regeln festlegen, ob ein Rabattgutschein für ein bestimmtes Produkt gilt. In einem Buchungssystem bestimmen sie etwa, ob der gewählte Termin noch verfügbar ist.
Zu den typischen Aufgaben des Backends gehören:
- Datenprüfung: Prüfen, ob übermittelte Werte das richtige Format haben und den Regeln der Anwendung entsprechen.
- Authentifizierung und Berechtigungen: Feststellen, wer der Nutzer ist und welche Informationen er sehen oder ändern darf.
- Lesen und Speichern von Daten: Produkte abrufen, Profile aktualisieren oder Bestellungen erfassen.
- Integrationen: Mit einem Zahlungsdienstleister, einem Dienst zum Nachrichtenversand oder einem Lagerverwaltungssystem kommunizieren.
- Hintergrundaufgaben: Berichte erstellen oder Bestätigungen versenden, ohne die Bedienung der Anwendung zu blockieren.
Eine Prüfung im Frontend kann das Ausfüllen eines Formulars erleichtern, ersetzt aber nicht die Datenprüfung durch das Backend. Anfragen lassen sich auch ohne das Formular senden. Deshalb sollte der Server Preisen, Kontokennungen oder Angaben zu Berechtigungen, die er vom Nutzer erhält, nicht uneingeschränkt vertrauen.
Wie funktioniert das Backend bei einem Einkauf?
Stell dir vor, du kaufst das letzte Exemplar eines Buches in einem Onlineshop. Nach dem Klick auf „Bestellen“ muss die Anwendung mehr tun, als nur die Bildschirmanzeige zu ändern.
- Das Frontend sendet eine Anfrage mit der Produktkennung, der Stückzahl und den erforderlichen Bestelldaten an das Backend.
- Das Backend prüft die Verfügbarkeit des Buches und berechnet den zu zahlenden Betrag anhand vertrauenswürdiger Preis- und Rabattdaten.
- Es speichert die Bestellung und sichert den Lagerbestand so ab, dass bei gleichzeitigen Käufen dasselbe Exemplar nicht an zwei Personen verkauft wird.
- Bei einem üblichen Einkauf mit Onlinezahlung kommuniziert es mit dem Zahlungsdienstleister und übermittelt dem Frontend die Informationen für den nächsten Schritt.
- Sobald es die Zahlungsbestätigung erhalten und geprüft hat, aktualisiert es den Bestellstatus.
Eine API, also eine Programmierschnittstelle, legt fest, wie diese Kommunikation abläuft: welche Anfragen gesendet werden können und wie die Antworten aufgebaut sind. Dasselbe Backend kann über eine API sowohl den Shop im Browser als auch eine mobile App bedienen. Eine API ist jedoch nicht dasselbe wie ein Backend – sie ist eine Möglichkeit, dessen Funktionen zugänglich zu machen.
Backend, Server und Datenbank sind nicht dasselbe
Ein Server kann ein Computer sein, der Ressourcen bereitstellt, oder ein Programm, das Anfragen beantwortet. Das Backend ist der Teil einer Anwendung, der auf einer solchen Infrastruktur läuft. Es muss sich nicht auf einem einzigen physischen Gerät befinden, sondern kann mehrere Rechner oder Cloud-Dienste nutzen.
Eine Datenbank ist ein System zum strukturierten Speichern und Abrufen von Informationen. Das Backend nutzt sie beispielsweise, um ein Kundenkonto zu speichern. Die Datenbank allein ersetzt jedoch nicht die Regeln, die festlegen, wer dieses Konto bearbeiten darf. Auch braucht nicht jedes Backend eine eigene Datenbank: Manche Dienste verarbeiten Daten direkt oder rufen sie aus anderen Systemen ab.
Ein Backend lässt sich unter anderem in Python, Java, PHP, C# oder JavaScripcie entwickeln, wobei Letzteres in der Laufzeitumgebung Node.js ausgeführt wird. Die Wahl der Sprache bestimmt nicht automatisch die Qualität der Anwendung. Bei der Entscheidung zählen auch die Erfahrung des Teams, verfügbare Bibliotheken, erforderliche Integrationen und die Betriebskosten.
Wann brauchst du ein eigenes Backend?
Eine einfache Website, die Dienstleistungen und Kontaktdaten vorstellt, kann ohne eigenes Anwendungsbackend auskommen. Der Hostingdienst liefert weiterhin Dateien an den Browser aus, muss aber nicht für jeden Besucher individuelle Logik ausführen. Ein Kontaktformular lässt sich über einen externen Dienst betreiben – das dafür benötigte Backend stellt dann dessen Anbieter bereit.
Benutzerkonten, private Dokumente, Buchungen oder individuelle Abrechnungen erfordern in der Regel Backend-Funktionen. Das bedeutet nicht, dass alles von Grund auf neu programmiert werden muss: Eine fertige Shopplattform oder ein Content-Management-System kann diese Funktionen bereits bieten. Eine eigene Lösung ist vor allem dann sinnvoll, wenn die verfügbaren Werkzeuge wesentliche Regeln des Projekts nicht umsetzen können.
Bevor du eine Anwendung in Auftrag gibst, notiere, welche Daten sie speichern soll, wer diese ändern darf und mit welchen Diensten sie sich verbinden muss. Anhand dieser Liste lässt sich beurteilen, ob eine fertige Plattform ausreicht oder ein eigenes Backend entwickelt werden muss.
Siehe auch: Was ist 2FA?
