- Nummer
- vesys
- Leitung
- -
- ECTS
- 3.0
- Anspruchsniveau
- intermediate
- Inhaltsübersicht
In modernen verteilten Anwendungen kommen unterschiedliche Kommunikationsmechanismen und Integrationsstile zum Einsatz. Kenntnisse über deren Eigenschaften sowie Vor- und Nachteile ermöglichen es, für konkrete Anwendungsfälle geeignete Technologien und Architekturstile auszuwählen.
In diesem Modul werden zentrale Kommunikationsstile verteilter Systeme anhand etablierter Technologien behandelt. Die Konzepte werden in Übungen praktisch angewendet und vertieft.
Themen:
- Grundlagen verteilter Kommunikation: Sockets, Streams, TCP/IP
- Synchrone Kommunikation: HTTP, REST (JAX-RS), GraphQL
- Asynchrone Kommunikation: WebSockets, RabbitMQ, Akka
Zusätzlich werden grundlegende Algorithmen, die in verteilten Systemen verwendet werden, eingeführt: Wellenalgorithmen, Distributed Hash-Table, Snapshot.
- 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 von GraphQL und können einfache Query-APIs umsetzen
- kennen die Prinzipien asynchroner, ereignisbasierter Kommunikation und können diese mit geeigneten Technologien (WebSockets, RabbitMQ, Akka) realisieren
- können beurteilen, wann welche Technologie zur Kommunikation in verteilten Systemen eingesetzt werden soll
- kennen grundlegende Algorithmen verteilter Systeme (Auswahl, Snapshot, Chord) und können diese erläutern und anwenden
- Empfohlene Vorkenntnisse
Studienjahrgang HS 2025 oder später:
- Programmieren 2 (prog2)
Studienjahrgang FS 2025 oder früher:
- Objektorientierte Programmierung 2 (oopI2)
- Leistungsbewertung
- Erfahrungsnote