edit

Introduction

  • Transparency Types: Eigenschaften eines Systems transparent (= "durchsichtig") für den Benutzer machen, damit er nicht mitbekommt, dass z.B. mehrere Benutzer gleichzeitig zugreifen (Concurrency Transparency)
  • Vorteile von VSS
    • Bilden die verteilte Realität ab (verschiedene Arbeitsplätze etc.)
    • Performancesteigerung (paralelle Verarbeitung)
    • Skalierbarkeit
    • Fehlertoleranz
  • Herausforderungen VSS
    • Komplexe Kommunikation
    • Performanceprobleme (Latenz, Durchsatz)
    • Zuverlässigkeit (Netzzugriffe, Ausfälle)
    • Transaktionssicherheit (mehrere Benutzer)

Middleware

Midleware ist infrastrukturelle Software, die eine Ebene unter dem Software-System liegt

  • Wird i.d.R. nicht selbst geschrieben
  • Dient zur Kommunikation zwischen den Software-Komponenten

Kommunikationsmiddleware

  • Interfaces zur Netzwerkprogrammierung
  • TCP/IP Sockets, RESTful HTTP, etc.

Anwedungsorientierte Middleware

  • High-level Protokolle
  • Unterstützung verteiler Andwendungen
  • Vereinfacht das Design der Applikation
  • bietet Sicherheit, Zuverlässigkeit, verteilte Transaktionen, ...
  • z.B. .NET Application Server, SQL mit Remote Queries, ...

VSS Architectural Styles

  • Hub and Spoke: Alle kommunizieren über zentrale Stelle ("Hub")

  • CORBA (Centralized Object Request Broker Architecture) wird heute nicht mehr verwendet, die Prinzipien sind aber immer noch releveant

Idempotenz

  • Idempotente Funktion: z.B. zwei Zahlen addieren, Funktion macht bei jedem gleichen Aufruf das selbe
  • Nicht-idempotente Funktion: Es wird ein Zustand verändert, bei zweitem gleichen Aufruf ist das Verhalten anders. z.B. Lagerstand ändern, Konto-Übertrag
  • Server idempotent machen: Designfrage, z.B. jede Nachricht mit eindeutiger ID versehen, Server darf diese ID nur einmal bearbeiten