Sandra Nickol

Tel. 0951 - 863 2659

Bitte beachten Sie, dass wir uns wegen der aktuellen Situation derzeit im Homeoffice befinden und in der Regel schneller per E-Mail zu erreichen sind. Gerne rufen wir Sie zurück.

Email: bamberg@vawi.de

Studiengangmanagement Bamberg
Universität Bamberg | Studiencenter VAWi

An der Weberei 5
96047 Bamberg  


Universität Bamberg

Virtueller Weiterbildungsstudiengang Wirtschaftsinformatik (VAWi)
Fakultät für Wirtschaftsinformatik und Angewandte Informatik

An der Weberei 5
96047 Bamberg
* Pflichtfeld
Weichelt

Dr. Thomas Weichelt

Tel. 0201 - 183 3001

Bitte beachten Sie, dass wir uns wegen der aktuellen Situation derzeit im Homeoffice befinden und in der Regel schneller per E-Mail zu erreichen sind. Gerne rufen wir Sie zurück.

Email: essen@vawi.de

Studiengangmanagement Essen
Universität Duisburg-Essen | Studiencenter VAWi

Universitätsstraße 9
45141 Essen


Universität Duisburg-Essen

Virtueller Weiterbildungsstudiengang Wirtschaftsinformatik (VAWi)
Fakultät für Wirtschaftswissenschaften

Universitätsstraße 9
45141 Essen
* Pflichtfeld

Distributed Computing

Dozenten & Tutoren

Dozent:
Prof. Dr. Guido Wirtz

Tutoren:

Universität Bamberg

Fakultät für Wirtschaftsinformatik und Angewandte Informatik
Lehrstuhl für für Praktische Informatik
http://www.uni-bamberg.de/pi/team/wirtz/

 

Einordnung, Turnus & Sprache

Turnus:
Sommersemester

Einordnung:
Entwicklung von Anwendungssystemen

Sprache:
Deutsch

Lehrformen & Medienformen

Für dieses Modul steht eine internetbasierte Lernumgebung für die Durchführung der Lehr-/Lernprozesse und der Lernunterstützungsprozesse zur Verfügung. Dabei erfolgt die Betreuung der Studierenden durch die Lehrenden über asynchrone (Foren, E-Mail, Wiki) und synchrone (Chat, Telefon, Online-Konferenzen) Kommunikationswerkzeuge. Diese stehen auch für die Kommunikation der Studierenden untereinander zur Verfügung.

Die Studierenden werden beim Wissenserwerb durch folgende elektronische Selbstlernmedien unterstützt:
Skript, Folien, ergänzende Literatur, Glossar, Video-Snippets

Zudem wird der Aufbau von Fertigkeiten und Kompetenzen insbesondere gefördert durch:
Übungen/Transferaufgaben zur Selbstkontrolle, tutoriell betreute Aufgabenbearbeitung, Gruppenarbeit, Toolunterstützung.

Das Skript enthält zahlreiche Beispiele und führt ‚self-contained‘ alle wichtigen Inhalte ein und erläutert diese. Im Skript sind alle eingeführten Begriffe und Definitionen wie auch Beispiele und Abbildungen durch Hyperlinks bei Auftreten im Text sowie aus einem umfangreichen Glossar direkt per Mausklick erreichbar, was ein einfaches Navigieren im pdf-Text erlaubt.

Der Aufbau von Fertigkeiten und Kompetenzen wird durch semesterbegleitende Studienleistungen gefördert. Hier werden den Studierenden praxisbezogene Programmieraufgaben gestellt, welche mit Hilfe der erlernten Methoden und Theorien gelöst werden können. Regelmäßige, zeitnahe Forumsbetreuung sowie bei Bedarf zusätzlich angebotene aufgezeichnete Sequenzen mit Erläuterungen und Beispielen zu einzelnen sich im Modul als schwierig erweisenden Themen vervollständigen die Veranstaltung.

Teilnehmer des Moduls haben die Möglichkeit, während des Semesters drei optionale Studienleistungen abzulegen, die in Form von Programmieraufgaben gestellt, bearbeitet und zeitnah korrigiert werden, so dass auch schon während des Semesters angemessenes Feedback für Teilnehmer/Innen und Veranstalter verfügbar ist.

Arbeitsaufwand, ECTS-Credits & Zuordnung

Arbeitsaufwand
80-90h: Selbststudium
43h: Aufgabenbearbeitung
2h: Abschlussprüfung
125-135h: Gesammt

ECTS-Credits
VAWi 2.0: 5,0

Zuordnung:
0% Wirtschaftswissenschaften
60% Informatik
25% Kerngebiete der Wirtschaftsinformatik
15% allg. Grundlagen & Schlüsselqualifikationen

Voraussetungen

keine

Angestrebte Lernergebnisse

Absolventinnen und Absolventen des Moduls können

  • kennen die verschiedenen Arten verteilter Systeme sowie deren Charakteristika und Vor- und Nachteile und sind in der Lage, auf dieser Grundlage bewusste und informierte Architektur- und Technologie-Auswahlen zu treffen.
  • kennen die grundsätzlichen Probleme der Programmierung echt- und pseudo-paralleler Prozesssysteme sowie die grundlegenden Mechanismen und Paradigmen zur Inter-Prozess Kommunikation.
  • kennen die wichtigsten Aspekte von Messaging Systemen, Service-Orientierten Architekturen und Ansätzen des Cloud-Computing.
  • sind in der Lage, einfache parallele Programme mittels Threads zu schreiben, diese über Synchronisationsverfahren zu koordinieren, sowie durch Kommunikationsmechanismen kooperativ und verlässlich zusammen arbeiten zu lassen.
  • können einfache, verteilte Client-Server-Systeme mit Hilfe von Java-basierten Basistechnologien wie Threads, Synchronisation und Socket-basierter Kommunikation realisieren.
  • können einfache Service-orientierte Systeme mit Hilfe von Java- und XML-basierter Webservice-Technologie praktisch umsetzen.
  • können selbständig wissenschaftlich arbeiten und durch den Umgang mit offenen Frage¬stel¬lungen ihr systemanalytisches Denken, sowie ihre Abstraktionsfähigkeit verbessern.

 

Studienempfehlungen

Für das Verständnis der wichtigsten Konzepte sind Grundlagenkenntnisse und Kompetenzen in dem Umfang, wie sie z.B. im Modul RBKVS vermittelt werden, von Vorteil. Einige der Aspekte aus dem Bereich ‚Verteilte Systeme‘ des Moduls RBKVS werden wieder aufgegriffen und vertieft. Die Kenntnis einer Programmiersprache ist für das Verständnis der diskutierten Konzepte hilfreich. Um den Aufwand für die Bearbeitung der semesterbegleitenden Studienleistungen in angemessenem Rahmen zu halten, werden (fortgeschrittene) Java Programmierkenntnisse wie z.B. vermittelt durch das Modul ‚Objektorientierte Software-Entwicklung in Java‘ benötigt.

Die Bearbeitung der optionalen semesterbegleitendenStudienleistungen wird – auch im Sinne einer frühzeitigen und kontinuierlichen Vorbereitung auf die Abschlussklausur – ausdrücklich empfohlen. Es können bis zu 18 zusätzliche Punkte erworben werden.

Inhalte & Gliederung

I. Einführung und Überblick: Motivation für und verschiedene Varianten von Verteilten Systemen

II. Technische Grundlagen: Hardware, Netzwerke, Prozesse (Auffrischung)

  • Praxis: Prozesse und Threads in Java

III. Interaktions-Mechanismen:

  • Shared Variables vs. Message Passing
    • Praxis: Thread-Interaktion und -Synchronisation in Java
    • Praxis: Inter-Prozess-Kommunikation mit Java-Sockets

IV. Client/Server-Paradigma:

  • RPC-Modell, Bestandteile und Semantik
  • Service-Orientierte Architektur (SOA) und Webservices
  • Praxis: XML-basierte Webservices mit JAX-WS

V. Cloud-Computing Ansätze

VI. Grundlage moderner Verteilter Systeme:

  • Transparenz und Replikation
  • Konsistenz-Modelle

VII. Ausblick: Aktuelle Entwicklungen

Semesterbegleitende Studienleistungen:

  • TL 1: Threads, Synchronisation und UDP-Sockets (Kapitel II und III)
  • TL 2: XML-basierte Webservices mit Java und WSDL (Kapitel IV)

Studien- und Prüfungsleistungen

  • Bei mehr als 50 Teilnehmern: Klausur [90 Minuten/ 90 Punkte/ 100%]
  • Bei weniger als 50 Teilnehmern: mündliche Prüfung [20 Minuten/ 90 Punkte/ 100%]
  • Ggf. Bonus durch zwei (2) nachgewiesene optionale Studienleistung [ 10 + 8 = 18 Punkte / 20 %]

Der Bonus kann nur angerechnet werden, wenn in der Klausur mindestens 45 Punkte erreicht sind und die optionale semesterbegleitende Studienleistung durch Abgabe / Einreichen der Lösung zur Aufgabenbearbeitung nachgewiesen ist. Die Bestnote (1,0) kann ohne den Bonus erreicht werden.

Literatur

  • Andrew Tanenbaum, Marten van Steen: Distributed Systems - Principles and Paradigms, Prentice Hall 2017 (3rd)
  • George Coulouris, Jean Dollimore, Tim Kindberg, Gordon Blair: Distributed Systems. Pearson Education, 2012 (5th)
  • Jörg Hettel, Manh Tien Tran: Nebenläufige Programmierung mit Java: Konzepte und Programmiermodelle für Multicore-Systeme, dpunkt, 2016 (1th)

 

© 2024 VAWi, Alle Rechte vorbehalten. Impressum | Datenschutz Anmelden