Architektur eines Informationssystems

Einstieg - Geodaten visualisiert

SQL Fenster Vielleicht hast du ja zuvor SQL mit Hilfe des Kapitels zu den Geodaten kennengelernt. Schön wäre es, wenn man die Ergebnisse von Abfragen direkt z.B. in einer Karte sehen könnte. Das kannst du hier einmal selbst ausprobieren.

Aufgabe für SQL-Experten

Verlauf des Rheins durch die Orte sichtbar gemacht Kannst du den Verlauf des Rheins in der Karte "sichtbar" machen?
Hilfe: Nutze die stadtfluss-Tabelle, um die Orte am Rhein zu ermitteln.

Komponenten im Hintergrund

Was ist im Hintergrund notwendig, damit eine solche Aufgabe vom Computer erledigt werden kann? Das folgende Schaubild zeigt die wesentlichen Komponenten:

Architektur in drei Schichten - Datenbank, Webserver, Webclient[1]

Aufgabe

Was bedeuten die Begriffe "Client" und "Server" im Deutschen und warum wurden die Begriffe so gewählt?

Zusammenspiel der Komponenten

Was ist passiert, als du deine Eingaben im Browser abgeschickt hast?

Gruppieren
  1. Der Benutzer gibt seine Daten im Browser ein. In diesem Fall ein SQL-Befehl und ob Städtenamen angezeigt werden sollen.
  2. Der Webserver empfängt die Nutzerdaten und ein Programm (z.B. Python oder PHP) verarbeitet diese dort. Der SQL-Befehl wird an die Datenbank weitergereicht.
  3. Die Datenbank führt den SQL-Befehl aus...
  4. ... und liefert die Ergebnistabelle (zeilenweise) an den Webserver und das Verarbeitungsprogramm.
  5. Das Programm interpretiert die Daten (z.B. als Geokoordinaten) und baut z.B. eine Karte mit den Orten auf.
  6. Der Browser empfängt die Bilddaten und zeigt diese an.

KlickenKlicke auf die einzelnen Schritte zur Veranschaulichung.

Skalierbare Architektur

Die vorgestellte Architektur nennt man skalierbar. Das bedeutet, dass sie mit ihren Aufgaben "wachsen" kann. Im einfachsten Fall können alle Komponenten auf einem Rechner vereint sein - so wie das nach der vorgestellten Installation im nächsten Kapitel auf deinem Rechner der Fall sein kann. Im anderen Extrem können die Server sogar mehrfach vorhanden sein; das findet man in großen Informationssystemen (z.B. einer Internet-Suchmaschine). Ein professionelles Datenbanksystem unterstützt diese Verteilung der Aufgaben auf mehrere Datenbankserver.

Gruppieren
  1. Alle drei Komponenten sind (z.B. zur Programmentwicklung) auf einem Rechner vereint.
  2. Separate Rechner für Webserver und Datenbank erlauben das Ausrichten der Hardware an den jeweiligen Bedürfnissen. So benötigt z.B. der Datenbankserver i.d.R. viel Festplattenplatz, der Webserver eher Rechenleistung. Eine größere Anzahl an Clients (im Internet) kann so schon bedient werden.
  3. Mehrfache Server sowohl für Webserver als auch für Datenbank erlauben eine sehr große Zahl an Clients und ermöglichen u.a. eine hohe Ausfallsicherheit und Lastverteilung. Das Datenbanksystem sorgt z.B. dafür, dass sich alle Datenbankserver die gleichen Daten teilen oder diese gegenseitig aktuell halten.

KlickenKlicke auf die einzelnen Schritte zur Veranschaulichung.

Quellen

X

Fehler melden

X

Suche