Client Server Architektur: Welche Aufgaben und Dienste werden zwischen C und S aufgeteilt?
(2 Tier Modell)
Client = Anfordernde Ressource/Dienstleistung (Browser/E-Mail-Programm)
Server = Bereitstellende Ressource (Datenbank/Webserver)
Englische Definition für verteilte Systeme
Nach Tanenbaum: “A distributed system is a collection of independent computers that appears to its users as a single coherent system”
Was kann beim Client-Server Zugriff schiefgehen?
Keine Verbindung (Netzwerk, DNS, Firewall)
Login-Fehler (falsche Daten, Token abgelaufen)
Server-Fehler (Timeout, Absturz, 500er)
Client-Fehler (falscher Request, kein Error-Handling)
Datenfehler (Format falsch, fehlt was)
Sicherheitslücken (keine Verschlüsselung, Angriffe)
Was sind Interaktionsmodelle?
(Invocation = Aufruf),
Partiton = untersch. Info auf untersch. Servern, Replikation = selbe Info auf mehreren Servern
Was ist das Three Tier Model?
Server ist auch selbst noch Client
Clients für Präsentationsschicht, Applikations-Server, Datenbank-Server
Warum heutzutage oft Mufti-Tier-Modelle?
zur einfachen Skalierbarkeit (Intranet: Client greift über Internetserver auf mehrere Intranet Server zu)
(dabei möglichst Transparente Trennung von Servern —> Soll von Nutzer nicht erkannt werden)
Wodurch wird die Transparenheit gewährt?
durch „Middleware Services“ —> Verteilung durch Konfiguration und nicht Betriebssystem
Wie werden Clients Klassifiziert?
Null Client: Trennlinie zwischen graphischer Benutzungsoberfläche und -interface
—> (host-based-computing)
Thin Client: Trennlinie zwischen Benutzungsinterface und Anwendung —> (remote presentation)
Applet Client: Trennlinie liegt hinter Benutzungsinterface und schließt Teile der Applikationslogik ein —> (cooperative processing)
Fat Client: Trennlinie liegt zwischen Applikationslogik und Datenmanagement
Null Client Fat Client
Erklärung zur Grafik:
Von links nach rechts müssen immer weniger Aufgaben vom Server übernommen werden, das heißt man braucht auch immer weniger Sever für diese Aufgaben (Jeder Server, jedes Tier hat seine eigene Aufgabe). Das Ganze ist so, weil immer mehr Aufgaben vom Client System übernommen werden.
3 - und 4-Tier Architekturen:
Was ist ein Hybrid P2P System?
Mischform von P2P und Client Server Systemen: Peers können auch miteinander direkt Interagieren
Was ist Grid Computing?
Gemeinsame Nutzung großer Rechnerressourcen, ohne das der Client etwas davon mitbekommt
Was sind verteilte Betriebssysteme?
(DOS „distributed OS“)) —> eng gekoppelte, gleichartige Rechner
Ziel: Hardware verstecken & zentral verwalten
Für homogene Systeme, Transparent, Nutzer sehen keine Rechner
Was sind Netzwerkbetriebssysteme?
(NOS „Netwerk OS“) à Lose gekoppelte, unterschiedliche Rechner
Ziel: Lokale Dienste im Netzwerk bereitstellen
Für heterogene Systeme, Wenig Transparenz, Flexibel, aber manuell
Was ist Middleware?
Schicht über NOS à Ziel: Verteilungstransparenz, „Vermittlungssoftware“
Lässt NOS wie DOS wirken, Bsp.: verteilte Dokumentsysteme
Unterschied Multiprozessor & Multicomputer?
Multiprozessor: ein Rechner, mehrere CPUs, Shared Memory
Multicomputer: mehrere Rechner, eigene Speicher, komplexere Architektur
Ab jetzt zusammenfassende Wiederholung
Was macht verteilte Systeme aus?
bestehen aus vielen kleinen Knoten mit einzelnen Rechenleistungen
zwischen diesen herrscht Nachrichtenaustausch
Ziele werden durch Kooperation erreicht
man kann von außen nicht erkennen, dass das nicht alles ein Rechner ist.
Eigenschaften von VS?
Resource
Sharing
Openness
Concurrency
Tolerance & Availability
Transparency
Probleme beim implementieren von VS?
Standardisierung: Unterschiedliche Systeme → gemeinsame Protokolle nötig
Namensdienste: Richtige Zuordnung von Ressourcen
Zustände/Daten: Gemeinsame Sicht, möglichst wenig dauerhafte Infos
Robustheit: Fehlerbehandlung durch Timeouts, Checksummen etc.
Sicherheit: Authentifizierung, Verschlüsselung
Zugriffsschutz: Rechte über z. B. Capabilities regeln
Last changeda month ago