NummervesysECTS3.0AnspruchsniveauintermediateInhaltsübersichtMittlerweile 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. LernzieleDie 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)
LeistungsbewertungErfahrungsnote