Dies ist eine alte Version des Dokuments!


LU15a – Was ist ein Backend-Server?

  • Sie können erklären, was ein Backend-Server ist.
  • Sie können den Backend-Server in der 3-Schichten-Architektur einordnen.
  • Sie kennen die Begriffe Node.js, npm, Express, nodemon, Port, API und können sie beschreiben.
  • Sie verstehen, warum eine Webapplikation besser auf einem 3-Tier-Modell basiert als auf einem direkten Datenbankzugriff.

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) – Geschäftslogik, 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. Das bringt Ihnen:

  • bessere Sicherheit
  • bessere Wartbarkeit
  • mehr Flexibilität, wenn die Anwendung wächst
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. npm Registry
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.

Bis jetzt haben Sie im Modul M290:

  • direkt in WebStorm mit dem Datenbank-Plugin gearbeitet,
  • SQL-Statements (inkl. CRUD) direkt auf MySQL ausgeführt.

Das ist ideal zum Lernen von SQL – aber für eine echte Webapplikation nicht geeignet:

  • Ein Browser-Frontend sollte nie direkt mit der Datenbank sprechen.
  • Die Datenbank soll geschützt im Hintergrund laufen.
  • Zwischen Browser und Datenbank braucht es eine Logik-Schicht → Ihren Backend-Server.

3-Schichten-Architektur in unserem Modul

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

Vorteile des Backend-Servers:

  • Sicherheit

Die Datenbank ist nicht direkt aus dem Internet erreichbar. Der Server entscheidet, welche SQL-Befehle ausgeführt werden.

  • Businesslogik & Validierung

Regeln (z.B. Note zwischen 1.0 und 6.0, Geburtsdatum nicht in der Zukunft) werden im Backend implementiert, nicht im Browser.

  • Mehrere Frontends möglich

Dieselbe API kann von einer Website, einer Mobile-App oder einem anderen Service genutzt werden.

  • Wartbarkeit

Datenbank, Backend-Logik und Frontend können unabhängig voneinander angepasst werden.

Wichtig für diese Learning Unit:

  • Sie programmieren keine klassische Website mit HTML/CSS/JavaScript im Browser.
  • Sie programmieren einen Server, der über HTTP angesprochen wird.
  • Der Browser dient hier nur als Client, der eine Anfrage schickt und die Antwort (Text oder JSON) anzeigt.

In den nächsten Seiten erstellen Sie:

  • ein neues Node.js/Express-Projekt,
  • Ihren ersten kleinen Backend-Server,
  • und verstehen den Unterschied zwischen Website und API.
  • modul/m290_guko/learningunits/lu15/theorie/a_backend_server.1765138637.txt.gz
  • Zuletzt geändert: 2025/12/07 21:17
  • von gkoch