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?
Client (Präsentationsschicht)
Anwendungsserver (Logik der Geschäftsprozesse)
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
- Wechselseitiger Auschluss bei kritischen Aktivitäten (wenn eine Ressource frei wird, wird diese von einem anderen Prozess genutzt, sonst warten)
- 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