Verteilte Systeme

    Nummer
    vesys
    ECTS
    3.0
    Anspruchsniveau
    intermediate
    Inhaltsübersicht
    Mittlerweile gibt es eine Vielzahl verschiedener Kommunikationsmechanismen, die das Entwickeln verteilter Anwendungen unterstützen (unterschiedliche Stile und unterschiedliche Technologien). Kenntnisse der Vor- und Nachteile dieser Mechanismen erlauben es, für konkrete Anwendungsfälle die passende Technologie zu wählen. In diesem Modul wird eine Auswahl der wichtigsten Kommunikations-Stile anhand von Standard-Technologien behandelt und im Rahmen der Übungen angewendet und vertieft. Themen:
    • Grundlagen: Sockets, Streams, TCP/UDP
    • HTTP: Webserver / Servlets
    • Web APIs: REST und JAX-RS
    • Query APIs: GraphQL
    • Event-Driven APIs: WebSockets, RabbitMQ, Akka
    Zusätzlich werden grundlegende Algorithmen, die in verteilten Systemen verwendet werden, eingeführt.
    Lernziele
    Die Studierenden
    • kennen die grundlegenden Herausforderungen verteilter Systeme
    • können eine Kommunikation zwischen zwei Rechnern mit Sockets etablieren
    • kennen das HTTP-Protokoll und wissen wie ein Webserver arbeitet
    • Kennen die Prinzipien von REST und können REST Schnittstellen entwerfen und implementieren
    • kennen die Prinzipien der asynchronen Event-basierter Kommunikation
    • können beurteilen, wann welche Technologie zur Kommunikation in verteilten Systemen eingesetzt werden soll
    • kennen einige der grundlegenden verteilten Algorithmen (Auswahl, Ausschluss, Konsens) und können diese umsetzen
    Empfohlene Vorkenntnisse
    • Object Oriented Programming 2 (oopI2 oder oop2)
    Leistungsbewertung
    Erfahrungsnote