LU15a – Was ist ein Backend-Server?

Lernziele

3-Tier-Webarchitektur (3-Schichten-Architektur)

Die 3-Tier-Architektur teilt eine Webapplikation in drei Schichten:

  1. Presentation Layer (Frontend) – Oberfläche im Browser oder in einer App
  2. Application Layer (Backend) – Logik, Regeln, Validierung
  3. Data Layer (Datenbank) – Speichern und Verwalten der Daten

3-Tier-Architektur

Jede Schicht hat eine klar definierte Aufgabe und spricht nur mit der direkt angrenzenden Schicht. Vorteile von einer 3-Tier-Architektur:

Wichtige Begriffe im Node.js-Ökosystem

Begriff Kurz erklärt Wofür brauchen wir es im Modul? Download / Link
Node.js JavaScript-Laufzeitumgebung, mit der Sie JavaScript ausserhalb des Browsers ausführen (z.B. auf dem Server). Läuft als Basis für Ihren Backend-Server; ohne Node kann Ihr Express-Server nicht starten. Node.js Download (LTS)
npm Node Package Manager: Standard-Paketmanager für Node.js. Installiert zusätzliche Bibliotheken (Packages). Sie installieren damit z.B. Express und nodemon und verwalten Abhängigkeiten im Projekt. -
Express Minimalistisches Web-Framework für Node.js, um HTTP-Server und APIs zu bauen. Sie programmieren damit Ihre REST-API (Routen, Request/Response, Status-Codes). Express-Dokumentation / GitHub
nodemon Tool, das den Node-Server automatisch neu startet, wenn sich Dateien ändern. Komfort im Unterricht: Kein manuelles node index.js nach jeder Code-Änderung nötig. nodemon auf GitHub
Port „Türnummer“ auf einem Computer, über die ein Dienst erreichbar ist (z.B. 3000, 8080, 80). Ihr Server lauscht standardmässig auf Port 3000 → Browser: http://localhost:3000/.
API Application Programming Interface – Schnittstelle, über die Software miteinander spricht. Ihr Express-Server stellt eine HTTP-API bereit: z.B. GET /api/books liefert Daten zurück.

Warum überhaupt ein Backend-Server?

Bis jetzt haben Sie im Modul M290 vor allem mit der Datenbank gearbeitet:

Für eine richtige Webapplikation, die viele Benutzerinnen und Benutzer über das Internet nutzen, ist dieser direkte Zugriff jedoch nicht sinnvoll und auch nicht sicher.

Was wäre, wenn der Browser direkt auf die Datenbank zugreifen würde?

Stellen Sie sich vor:

Das führt zu mehreren Problemen:

Die Lösung: eine zusätzliche Logik-Schicht

Statt den Browser direkt mit der Datenbank sprechen zu lassen, schalten wir eine Zwischenschicht dazwischen: den Backend-Server.

3-Schichten-Architektur in unserem Modul

Client (Browser / Postman) ⇄ Backend-Server (Node.js/Express) ⇄ Datenbank (MySQL)

Vorteile des Backend-Servers im Detail

1. Sicherheit

2. Businesslogik & Validierung

(z.B. POST /api/trips oder GET /api/books).

3. Einheitliche Schnittstelle (API)

4. Bessere Wartbarkeit & Erweiterbarkeit

ohne dass direkt SQL im Frontend geändert werden muss.

In dieser Phase des Moduls gehen wir den nächsten Schritt: