<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>
<document>
<title>Verteilte Systeme</title>
<cid>PIB-VS</cid>
<sapsubmodule>P221-0005</sapsubmodule>
<bkey>pi2</bkey>
<ctypes>
<hours>2</hours>
<type>V</type>
<hours>1</hours>
<type>U</type>
<hours>1</hours>
<type>PA</type>
</ctypes>
<cp>5</cp>
<semester>5</semester>
<mandatory>ja</mandatory>
<language>Deutsch</language>
<admission>Übung</admission>
<exam>Projektarbeit mit:
Präsentation 40 min
Ausarbeitung 20-30 DIN A4 Seiten</exam>
<curriculum>
<curriculum_entry>
<cid>PIB-VS</cid>
<branch>Praktische Informatik</branch>
<semester>5</semester>
<mandatory_tag>Pflichtfach</mandatory_tag>
</curriculum_entry>
<curriculum_entry>
<cid>PIB-VS</cid>
<branch>Praktische Informatik</branch>
<semester>5</semester>
<mandatory_tag>Pflichtfach</mandatory_tag>
</curriculum_entry>
</curriculum>
<workload>
Die Präsenzzeit dieses Moduls umfasst bei 15 Semesterwochen 60 Veranstaltungsstunden (= 45 Zeitstunden). Der Gesamtaufwand des Moduls beträgt bei 5 Creditpoints 150 Stunden (30 Stunden/ECTS Punkt). Daher stehen für die Vor- und Nachbereitung der Veranstaltung zusammen mit der Prüfungsvorbereitung 105 Stunden zur Verfügung.
</workload>
<prerequisites>
<prerequisite>
<pfcid>PIB-BS</pfcid>
<pftitle>Betriebssysteme</pftitle>
</prerequisite>
<prerequisite>
<pfcid>PIB-PR2</pfcid>
<pftitle>Programmierung 2</pftitle>
</prerequisite>
<prerequisite>
<pfcid>PIB-RN</pfcid>
<pftitle>Rechnernetze</pftitle>
</prerequisite>
</prerequisites>
<prerequisitesfor>
</prerequisitesfor>
<convenor>Prof. Dr. Markus Esch</convenor>
<convenor-person-key>mes</convenor-person-key>
<lecturers>
<lecturer>Prof. Dr. Markus Esch</lecturer>
<lecturer-person-key>mes</lecturer-person-key>
</lecturers>
<objectives>Nach erfolgreichem Abschluss des Moduls sind die Studierenden in der Lage, grundlegende Eigenschaften, Architekturen und Konzepte von Verteilten Systemen zu benennen und zu erklären. Sie können Verteilte Systeme entwerfen, modellieren und implementieren.

Sie können die Eigenschaften unterschiedlicher Architekturansätze vor dem Hintergrund der Anforderungen an ein Verteiltes System analysieren und daraus selbstständig Lösungsansätze ableiten und implementieren. Sie können dabei gängige Programmiertechniken und aktuelle Technologien zur Entwicklung Verteilter Systeme anwenden. 

Im Rahmen der vorlesungsbegleitenden Projektarbeit wenden die Studierenden Methoden des Projektmanagements an. </objectives>
<content>- Eigenschaften verteilter Systeme
- Architekturen verteilter Systeme
- Interprozesskommunikation in verteilten Systemen
  - Client / Server Programmierung
  - Socket-Programmierung
  - Remote Procedure Calls
  - gRPC
  - Java RMI
  - SOAP Web-Services
  - REST
  - MQTT</content>
<media>Vorlesungsfolien,Programmbeispiele, vorlesungsbegleitende Projektarbeit, Arbeitsmaterialien für Gruppenarbeiten</media>
<literature>M. v. STEEN, A. S. TANNENBAUM: Distributed Systems, 4th Edition, 2025

Dominik Tornow: Think Distributed Systems, O´Reilly, 2025

Kasun Indrasiri, Danesh Kuruppu: gRPC: Up and Running, O´Reilly, 2020

D. ABTS: Masterkurs Masterkurs Client/Server-Programmierung mit Java: Anwendungen entwickeln mit Standard-Technologien, Springer, 2022

A. SCHILL, T. SPRINGER: Verteilte Systeme: Grundlagen und Basistechnologien, Springer, 2012
 
G. BENGEL: Grundkurs Verteilte Systeme, Springer, 2014

B. BURKE: RESTful Java with JAX-RS 2.0, 2. Auflage, 2013 

E. HAROLD, Java Network Programming, 4th Edition, 2013</literature>
<offered>
<semshort>WS 2024/25</semshort>
<semshort>WS 2023/24</semshort>
<semshort>WS 2022/23</semshort>
<semshort>WS 2021/22</semshort>
<semshort>WS 2020/21</semshort>
<semshort>WS 2019/20</semshort>
</offered>
<moduldb-query>Sun Mar  8 10:49:44 CET 2026, CKEY=pvsa, BKEY=pi2, CID=[?], LANGUAGE=de, DATE=08.03.2026</moduldb-query>
</document>
