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?

  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

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

  1. Software as a Service
  2. Infrastructure as a Service
  3. 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

  1. Server bietet Dienste an und wartet
  2. Client stellt Verbindungsanfrage
  3. Server erstellt neuen Socket und akzeptiert Client
  4. Response/Request Verfahren
  5. 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