Information System Architecture (Fach) / 03 - Verteile Systeme (Lektion)

In dieser Lektion befinden sich 11 Karteikarten

Lernziele: * Die Vor- und Nachteile verteilter Systeme verstehen. * Verschiedene Architekturen verteilter Systeme kennen. * Die Funktion eines Object Request Brokers kennen.

Diese Lektion wurde von hannemac erstellt.

Lektion lernen

  • Definition: Verteiltes System Ein verteiltes System ist ein Programmsystem das aus Teilsystemen besteht, die auf mehreren lose gekoppelten Prozessoren implementiert und über eine Netzwerk verbunden sind Lose gekoppelt heißt in diesem Zusammenhang, dass Prozessoren standortbezogen von einander getrennt sind.
  • Vorteile und Nachteile verteilter Systeme Vorteile Gemeinsame Nutzung von Ressourcen (Drucker, Dateien, Speicher, ...) Offenheit: Möglichkeit zur Ergänzung von proprietären Ressourcen (verschiedenner Hersteller) Parallelität: Verschiedenen Prozesse können gleichzeitig auf verschiedenen Prozessoren ausgeführt werden Skalierbarkeit: Erhöhung der Leistungsfähigkeit des Systems  durch Erweiterung um Komponenten Fehlertoleranz: Toleranz von Ausfall von Hard- und Software durch Nutzung alternativer Hard- und Softwarekomponennten Transparenz: Benutzer muss die Verteilung nicht kennen Geringe Kosten (PC, LAN) Nachteile Kompläxität: Hoher Entwicklungsaufwand und Entwicklungsrisiken, Großer Pflegeaufwand, Verständnis für Benutzer schwierig Sicherheit: Zugänglichkeiten schwer kontrollierbar. "Mithören" des Datenaustausches möglich. Management der Sicherheit daher schwierig. Manageability: Verschiedene Hard- und Softwarehersteller in verschiedenen Versionen, hoher Wartungsaufwand Unpredictability: Vorhersage  des Verhaltens eines verteilten Systems schwierig. Lastverteilung des Systems nicht vorhersehbar bzw. schwer feststellbar
  • Thin-Client Modell vs. Fat-Client Modell Thin-Client Modell Der Client führt ausschließlich die Präsentationsschicht aus. Die Anwendungsfunktionen und das Datenmanagement werden vom Server ausgeführt. Nachteile sind hole Verarbeitungslast auf dem Server und hohe Kommunikationslast für das Netz. Diese Art des Clients wird hauptsächlich bei Anwendungen eingesetzt, bei denen Anwendungs- und Datenschicht stark verpflechtet sind. Fat-Client Modell Nur das Datenmanagement wird auf dem Server ausgeführt. Anwendungsfunktionen und Präsentationsschicht werden auf dem Client ausgeführt. Die Last wird durch dieses Modell auf die Clients dezentralisiert verteilt. Die Verwaltung solcher Systeme ist jedoch weitaus komplexer, da die Anwendungslogik bei Änderungen auf allen Clients angepasst werden muss.
  • Welche Architekturen verteilter Systeme gibt es? Client-Server Architekturen Server bieten Dienste an Clients rufen Dienste von Servern ab Clients kennen Serve Server kennt Clients nicht Clients und Server werden unterschiedlich behandelt Architekturen verteilter Objekte Keine Unterscheidung zwischen Clients und Servern Jedes Objekt im System kann Dienste anbieten und abrufen Objekte kennen sich untereinander nicht
  • Was für eine Rolle spielt Middelware bei verteilten Systemen? Verteile Anwendungen laufen in der Regel auf heterogenen Plattformen. D.h. sie laufen auf verschiedenen Rechnern und sind möglicherweise in verschiedenen Programmiersprachen implementiert und werden auf verschiedenen Betriebssystemen ausgeführt. Damit die Kommunikation dieser Anwendungen trotzdem möglich ist, wird Middleware eingesetzt.
  • Nenne die drei logischen Schichten einer Anwendung Präsentationsschicht Ist für die Interaktion mit dem Benutzer, also insbesondere für die Darstellung der Ausführungsergebnisse und die Aufnahme von Daten zuständig Anwendungsschicht Stellt die anwendungsspezifischen Funktionen bereit Datenschicht Verwaltet die Daten im System. Bspws. in einem DBMS
  • Nenne Anwendungsfälle für 2-tier Architekturen mit Thin-Clients Integration von Legacy-Systemen, wenn Trennung der Anwendungs- und Datenmanagementschicht praktisch unmöglich ist Rechenintensive Anwendungen mit wenig oder keinem Datenmanagement (Compiler) Datenintensive Anwendungen mit wenig oder keiner anwendungsspezifischen Verarbeitung der Daten
  • Nenne Anwendungsfälle für 2-tier Architekturen mit Fat-Clients Anwendungen, bei denen die anwendungsspezifische Verarbeitung auf dem Client geschieht (Excel) Anwendungen mit rechenintensiven anwendungsspezifischen Verarbeitungen der Daten (Visualisierung von Daten)
  • Nenne Anwendungsfälle für 3-tier oder Multi-tier Architekturen Große Anwendungen mit eine Vielzahl von Clients Anwendungen, bei denen Daten und Funktionalität starken Veränderungen unterliegen Anwendungen, bei denen Daten verschiedener Quellen integriert werden müssen
  • Definition: Architektur verteilter Objekte Systeme kennen keine Unterscheidung zwischen Clients und Server Jede Komponente ist ein Objekt welches Dienste bereitstellt und Dienste anderer Objekte abrufen kann Die Kommunikation der Objekte geschieht über eine spezifische Middleware, den Object Request Broker (Software Bus) Die Entwicklung eines solchen Systems ist weitaus komplexer als die eines C/S-Systems
  • Vorteile und Nachteile von Architekturen verteiler Objekte Vorteile Ermöglicht die Verzögerung der Entscheidung wo und wie ein Dienst bereitgestellt wird. In der Entwicklungsphase müssen sich die Entwickler noch nicht mit dieser Fragestellung auseinander setzen Komponentenstandards ermöglichen die Ausführung der Objekte auf allen entsprechenden Knoten im Netz Einfaches Hinzufügen verschiedener Ressourcen (offene Architektur) Software Bus ermöglicht die Interaktion zwischen Objekte, die in unterschiedlichen Programmiersprachen implementiert sind Flexibile Skalierung und Anpassung der Struktur für unterschiedliche Nachfragelasten Nachteile