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>
|
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
Cloud Computing
Verfügbarkeit von IT-Infrastrukturen, Plattformen und Anwendungen über das Internet (on demand)
- verwendet Virtualisierung
- Utility Computing
Utility Computing
nur aktuell benötigte Ressourcen werden zur Verfügung gestellt und bezahlt
Arten von Clouds und Erläuterungen
Private Cloud: Provider und User gehören der selben Organisation an
Public Cloud: Provider und User gehören unterschiedlichen Organisationen an
Hybrid Cloud: Daten der Private und Public Clouds werden genutzt
Cloud Computing Landscapes
- Software as a Service
- Infrastructure as a Service
- Plattform as a Service
Software as a Service SaaS
Erklärung, Beispiel, Nutzer
- Softwareanwendungen laufen auf dem Browser bzw. Applikationsserver
- Bsp. : Google Docs
- Nutzer: Unternehmen, Privatpersonen
Plattform as a Service PaaS
Erklärung, Beispiel, Nutzer
- Betriebsplattform
- Bsp. Google App Engine
- Nutzer: IT-Planer, Entwickler
Infrastructure as a Service IaaS
Erklärung, Beispiel, Nutzer
- virtuelle IT-Infrastruktur und Hardware
- Bsp. Amazon Elastic Compute Cloud
- Nutzer: IT-Dienstleister, IT-Abteilungen
Cloud- Vorteile
- hohe Leistungsfähigkeit
- Kosteneinsparungen
- Flexibilität
Cloud-Nachteile
- Sicherheit
- Vendor- Lock-In
Grid Computing
Verbindung dezentraler Rechenkapazitäten zu einem virtuellen Hochleistungscomputer zur Bearbeitung rechnerintensiven Aufgaben
Was ist ein Socket?
vom Betriebssystem zum Zugriff auf TCP und UDP zur Verfügung gestellt
Funktionsweise Socket
- Server bietet Dienste an und wartet
- Client stellt Verbindungsanfrage
- Server erstellt neuen Socket und akzeptiert Client
- Response/Request Verfahren
- Server löscht Socket und schliesst Verbindung
Race Conditions
Race Conditions entstehen bei gemeinsamer Nutzung von Speicher und Dateien
Möglichkeiten zum Wechselseitigem Ausschluss
- Interruptsperrungen
- SperrVariablen einsetzen
- Strikter Wechsel
Semaphoren - Problem und Lösung
Problem: Race Condition beim Zählen
Lösung: Sempahor
- spez. Software-Objekte, de vom Betriebssystem bereitgestellt werden
- besitzt Zählervariable
Aufbau eines Semaphors
Semaphors Name
Zähler, Integer
Warteschlange
P: Down
V: Up