Verteilte Systeme

Fragen zu verteilten Systemen, beruhend auf der Vorlesungsreihe Verteilte Systeme an der DH Villingen-Schwenningen, Studiengang Wirtschaftsinformatik

Fragen zu verteilten Systemen, beruhend auf der Vorlesungsreihe Verteilte Systeme an der DH Villingen-Schwenningen, Studiengang Wirtschaftsinformatik


Kartei Details

Karten 94
Sprache Deutsch
Kategorie Informatik
Stufe Universität
Erstellt / Aktualisiert 11.06.2015 / 25.06.2023
Weblink
https://card2brain.ch/box/verteilte_systeme2
Einbinden
<iframe src="https://card2brain.ch/box/verteilte_systeme2/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>

Was ist ein Verteiltes System?

  • großer Verbund von unterschiedlichen Rechnern, mit unterschiedlichen Betriebssystemen und Anwendungen
  • über unterschiedl. Anwendungsprotokolle verbunden
  • Aufgabe: Datenaustausch und Bearbeitung eines gemeinsamen Ziels.

Was ist eine Verteilte Anwendung?

  • verteilt eine Anwendung auf mehrere Rechner
  • nutzt ein verteiltes System

Beispiele für Verteilte Systeme (min. 3)

  • Client-Server-System
  • Client-Server-DB-System
  • ERP-System
  • Bank-System
  • Cloud-Dienste

Ziele verteilter Systeme

  • Informationsaustausch
  • Ausfallsicherheit
  • Skalierbarkeit
  • Lastverteilung
  • Ressourcennutzung
  • Koppelung verschiedener Systeme

Konzepte verteilter Systeme

  • Transaktion
  • Nebenläufigleit
  • Namens-und Verzeichnisdienst
  • einheitliche Datenbankzugriffe
  • Persistenz
  • Replikation
  • Sicherheit

Arten der Kommunikation (2)

asynchrone und synchrone Kommunikation

synchrone Kommunikation

Response-Request-Verfahren

Client wartet bis Antwort vom Server eintritt

Asynchrone Kommunikation

  • Client wartet nicht
  • Callback-Funktion
  • Polling: Client fragt selber in regelmäßigen Abständen nach Antwort
  • Client speichert Ergebnisse in der Netzwerkschicht zwischen

Konzept: Transparenz

Was ist das und was sind Anwendungsfelder der Transparenz?

nach außen wirkt der Recherverbund als ein System

Anwendungsfelder:

  • Fehler
  • Replikation
  • Relokation
  • Migration
  • Zugriff
  • Ort
  • Nebenläufigkeit

Bedeutung: Atomar

Ein "Buchungsvorgang" wird entweder komplett oder gar nicht durchgeführt. Sollte ein Fehler auftreten wird der Ausgangszustand wieder hergestellt.

Charakteristika einer Transaktion

ACID

A: atomar

C: konsistent

I: isoliert

D: dauerhaft

Konzept: NTP

Was ist das und wie funktioniert es?

  • Network-Time-Protocoll
  • UDP-Port: 123
  • Synchronisation der Zeit mit einem NTP-Server

 

Zeitsynchronisation ist wichtig für....

  • Log-Einträge
  • Synchronisation von Daten
  • Authentifizierung

Was ist ein Stratum? 

Mit einem Stratum wird angegeben wie genau die Zeitsynchronisation eines Rechners ist.

Je kleiner ein Stratum, desto näher ist der Rechner mit einer Atomuhr verbunden.

Atomuhr --> Stratum 1 --> Stratum 2 --> NTP- Client

Definition: Softwarearchitektur

zeigt Anordnung von Softwarekomponenten und deren Zusammenarbeit

Arten der Softwarearchitektur

  • objektorientierte Architektur
  • geschichteter Architekturstil
  • ereignisbasierter Architekturstil
  • Peer to Peer
  • Grid- Architektu

Definition: Systemarchitektur

zeigt die Realisierung der Softwarekomponenten am realen PC

Kopplungsarten (2), welche ist vorzuziehen? 

Lose Kopplung: wenig Beziehungen zwischen Rechnern

Enge Kopplung: mehrere Beziehungen zwischen Rechnern

Vorzuziehen ist die Lose Kopplung, da weniger Wartungsaufwand vorhanden ist. Die Rechner können einzeln gewartet werden. Jedoch kann eine Lose Kopplung aufwendiger in ihrer Erstellung sein.

 

Wie funktioniert eine Client-Server-Architektur und was wären Beispiele dafür?

  • synchrone Kommunikation
  • Bsp. : HTTP, FTP
  • besteht aus zwei Rechnern

Probleme der Client-Server-Architektur

  • Abhängigkeit vom Betriebssystem bzw. Browser des Clients
  • Installation und Wartung des Clients ist aufwendig
  • Skalierung durch Replikation ist schwierig

Wie ist eine 3-N-Tier-Architektur aufgebaut?

  1. Client (Präsentationsschicht)

  2. Anwendungsserver (Logik der Geschäftsprozesse)

  3. Datenbank-Server (Datenquelle)

 

Vorteile eine 3-N-Tier-Architektur

  • Schichten können unabhängig voneinander gewartet und betrieben werden
  • durch Lastverteilung mehrere Clients möglich
  • bei Thin Clients: Anwendung muss nur auf dem Anwendungs- und DB-Server installiert werden

Welche Arten von Clients gibt es und was bedeuten diese (2)?

Thin Client: zeigt Daten nur an

Fat Client: kann Daten auch bearbeiten

Vor- und Nachteile einer mehrstufigen Architektur

Vorteile:

  • Thin Client
  • für Smartphones optimal

Nachteile:

  • Ergonomie schlechter als bei GUI-Client
  • schlechteres Antwortverhalten

Was ist eine Middleware?

M. ist eine Softwareschicht zwischen Betriebssystem und Anwendung.

M. stellt Dienste für Applikationsserver bereit.

Was für Dienste stellt eine Middleware für den Applikationsserver bereit?

  • Kommunikation zwischen Anwendungen
  • Transaktionen
  • Namensdienste
  • Sicherheit
  • nicht: Datenbank

Arten von Middleware

  • Remoting M.
  • Messaging M.
  • Peer to Peer
  • Grid - Architektur
  • SOA
  • Weborientierte M.
  • Komponentencontainer
  • Workflow-Prozesse

Was ist SOA?

  • serviceorientierte Architektur
  • Architektur-Paradigma (Denkmuster)
  • für Umsetzung von Geschäftsprozessen in grossen, verteilten IT-Systemen in versch. Abteilungen
  • Ziel: wartbar und flexibel, Services in viele kleine möglichst unabhängige Dienste aufzuteilen

Wichtige Konzepte von SOA

  • Services: standardisierter Datenaustausch, z.B. SOAP
  • Interoperabilität: Fähigkeit unterschiedlicher Systeme miteinander zu kommunizieren
  • lose Kopplung

.NET

Hersteller,Technik,Sprache, Plattform, Webservices, MVC, GUIs

Microsoft

komponenten- / objektorientierte Architektur

VB, C#

SOA integriert

MVC.NET

WPF, WebForms

Java EE

Hersteller, Technik, Sprache, Plattform, Webservices, MVC, GUIs

Oracle,Open Source

komponenten-/objektorientiert

Java

unabhängig

SOA

JSP, Beans

Swing, SWT

PHP

Hersteller, Technik, Sprache, Plattform, Webservices, MVC, GUIs

Open Source

objektorient bzw. prozedual

PHP

unabhängig

SOA integriert

Frameworks

HTML5

Remote Procedure Call

Definition und Funktionsweise

  • Protokoll zur Verbindung mit einer entfernten Prozedur (Über Netzwerk)
  • Daten standardisiert packen (Marshalling) --> entpacken (Unmarshalling)
  • Vorgang wird übernommen von einem Stub (Stummel)
  • synchrone Kommunikation

Vorteil: Remote Procedure Call

einfacher wie Socket, da wie eine Funktion

Messaging Middleware

  • asynchrone Kommunikation
  • Publisher/ Subscriber Prinzip: Subscriber abboniert Kanäle, Publisher sendet an Kanäle
  • lediglich Garantie, dass Empfänger die Nachricht liest, jedoch nicht wann 
  • Broadcasts möglich

Nachteil: Messaging Middleware

wird von vielen Programmiersprachen nicht unterstützt und es gibt keine Standards

Ereignisgesteuerte Architektur: Funktionsweise

  • "Event-Loop"
  • Ereignisse an das gesamte System gesendet

Arten von parallelen Prozessen

  1. Wechselseitiger Auschluss bei kritischen Aktivitäten (wenn eine Ressource frei wird, wird diese von einem anderen Prozess genutzt, sonst warten)
  2. Sauberer Ablauf bei Abhängigkeiten (Prozess wartet so lange bis er eine Antwort bekommt)

Erwartungen an eine SOA

  • Erhöhung der IT-Flexibilität durch Verkürzung der Prozesszyklen
  • IT und Geschäftsprozesse im Einklang
  • von zentralisierter, starren Architektur zur dynamischen sich schnell ändernden Architektur
  • Cloud Computing ist vorteilhaft

Umsetzung SOA

  • Paradigma über Jahre hinweg 
  • SOA Governance: Mitarbeitermotivation und zentrales Team zur Steuerung
  • Training
  • lose Kopplung der Organisation