Middlewaresystem-Praxis - MWP

Modulbeschreibung

Titel:Middlewaresystem-Praxis
Englischer Titel:Practice of Middleware Systems
Typ:Modul
Kürzel / Modulnr.:MWP / 70958
SWS / LP:4P / 8LP
Vorbesprechung und Themenvergabe:Dienstag, 12.04.2016, 16.15 Uhr - 17.45 Uhr, O27-341
Einordnung in die Studiengänge:Informatik, M.Sc.: Projekt
Informatik, Lehramt: Wahlfach
Medieninformatik, M.Sc.: Projekt
Software-Engineering, M.Sc.: Projekt
Informationssystemtechnik, M.Sc.: Wahlpflicht Informatik, Projekt
Verantwortlich:Prof. Dr.-Ing. Franz J. Hauck
Unterrichtssprache:Deutsch
Turnus / Dauer:jedes Semester / ein volles Semester
Voraussetzungen (inhaltlich):Programmiererfahrung in Java, Grundkenntnisse in Rechnernetzen und Verteilten Systemen
Voraussetzungen (formal):-
Grundlage für (inhaltlich):Masterarbeit im Bereich Middleware
Lernergebnisse:Die Studierenden sollen im Bereich Middleware-Systeme Kenntnisse für den praktischen Umgang erlangen. Ein jeweils semesteraktuelles Themengebiet wird zunächst kurz theoretisch und dann vor allem praxisorientiert ausgearbeitet. Die Studierenden sollen vertiefte Kenntnisse im jeweiligen Themengebiet erlangen. Daneben werden ausgewählte und themenabhängige Schlüsselqualifikationen vermittelt wie das Schreiben eines Kurzberichtes, Kurzpräsentationen zum Arbeitsstand, das Arbeiten in Kleingruppen und die Organisation von Softwareprojekten. Die Handhabung eines konkreten Middlewaresystems und die Lösung einer konkreten Problemstellung wird geübt.
Inhalt:Ein semesteraktuelles Themengebiet wird zunächst vorgestellt und theoretisch beleuchtet. Durch Selbststudium, Literaturstudium und geleitete Projektarbeiten wird ein individuelles oder in einer kleinen Gruppe zu bearbeitendes Teilthema weiter vertieft, indem konkrete Problemstellungen bearbeitet werden. Beispielhafte Teilthemen sind:
  • Aufbau von Komponenten für eine Multimedia-Middleware,
  • Lösen eines anwendungsorientierten Problems mit verschiedenen Middleware-Techniken (z.B. EJB, CORBA, RMI, ICE, FORMI),
  • Integration neuer Middleware-Mechanismen (z.B. für Fehlertoleranz, Skalierbarkeit, Persistenz), Strukturierung von Middleware-Software (z.B. durch Patterns, aspektorientierte Programmierung, Reflexion).
Literatur:-
Lehr- und Lernformen:Praktikum Multimedia- und Internetsysteme, 4P, 8LP, Pflicht, jedes Semester
Bewertungsmethode:Die Modulprüfung im Projekt erfordert Anwesenheit und enthält Ausarbeitung, Abschlusspräsentation sowie eine Bewertung der praktischen Problemlösung (Gewichtung jeweils abhängig vom Thema und wird zu Beginn bekannt gegeben).
Notenbildung:Ergebnis der Modulprüfung
Arbeitsaufwand:Präsenzzeit Praktikum: 60h
Selbststudium, Praktikumsarbeit, Abschlusspräsentation und Ausarbeitung im Praktikum: 180h
Summe: 240h

Hinweis: Die folgende Themenliste für den Modulstart im Sommersemester 2016 ist vorläufig und wird bis zum 08.04.2016 ergänzt und verändert.

Themen

in.Crease: ein Informationsdienst zum Lesen und Vergleichen von Prüfungsordnungen

Betreuer: Franz J. Hauck

Projektanteil: In einem vorherigen Projekt wurde bereits Server-Software für die Präsentation, den Vergleich, die Kommentierung und die Verlinkung zwischen verschiedenen Prüfungsordnungen implementiert. Dieses Projekt soll den Dienst mit einer neu zu gestaltenden und ansprechenden Oberfläche in Betrieb nehmen. Die Implementierung erfolgt mit AngularJS und JavaEE (JBoss Wildfly, Hibernate/JPA, MySQL bzw. Postgres). Kenntnisse in der Vorlesung AvID und/oder AngularJS sind hilfreich, können aber auch erarbeitet werden. Das Projekt kann mit 8LP oder 16LP belegt werden.
Seminaranteil: Das Seminar kann ausgewählte Aspekte von AngularJS betrachten (Modularisierung, Routing, Bedienelemente, client-seitige Validierung etc.).

Werkzeuge für kryptographische Operationen in Java

Betreuer: Franz J. Hauck

Projektanteil: In einer Bachelorarbeit wurden bereits einfache Werkzeuge für kryptographische Operationen in Java entwickelt. Dieses Projekt soll den Prototyp komplementieren und vor allem gängige Operationen wie Erstellen und Beantragen von Zertifikaten ermöglichen. Die Implementierung erfolgt mit Java und JavaFX.
Seminaranteil: Das Seminar kann die Java Krypto-API (JCA und JSSE) behandeln oder auch JavaFX.

Implementation of asynchronous request handling in the fault-tolerant Java library BFT-SMaRt

Betreuer: Gerhard Habiger

Project: The BFT-SMaRt library, written in Java, allows distributed systems to be reliable even when experiencing byzantine failures. Current research efforts of our institute aim to integrate our own work on deterministic scheduling of multithreaded applications with BFT-SMaRt. Currently, BFT-SMaRt only supports synchronous request-response patterns and singlethreaded execution, whereas our planned fault-tolerant platform would enable multithreading and asynchronous request handling. This could significantly improve throughput and latency of fault-tolerant systems. The goals of this lab project are (i) to analyze the existing BFT-SMaRt Java codebase, (ii) to implement the necessary interfaces for asynchronous request handling in Java and (iii) to integrate these changes into the existing BFT-SMaRt libraries.
This project has a length of 16 ECTS.
Seminar: The Seminar can summarize the concepts of our scheduling algorithm for multithreaded applications and the BFT-SMaRt library and should identify the problems of combining the two.

Design and Implementation of an Educational Distributed System

Betreuer: David Mödinger

Project: A course on foundations of distributed systems is usually accompanied by several programming exercises. The goal of this project is a coherent project with well defined modules, consisting of different aspects of a distributed system taught in a course on distributed systems (e.g., message passing or time synchronisation). These modules should be covered by unit tests, which ideally could be run automatically on student submissions. This project has a length of 8 or 16 ECTS.
Seminar: The Seminar can cover (automatic) unit tests in Java or aspects of educational software design.