Middlewaresystem-Entwicklung - MWE

Wintersemester 2016/2017

Modulbeschreibung

Titel:Middlewaresystem-Entwicklung
Englischer Titel:Development of Middleware Systems
Typ:Modul
Kürzel / Modulnr:MWE / 70521
SWS / LP:2S+3Pj / 16LP
Vorbesprechung und Themenvergabe:Montag 17.10.2015, 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

Informatik, M.Sc. (PO 2010): Projektmodul
Medieninformatik, M.Sc. (PO 2010): Projektmodul
Verantwortlich:Prof. Dr.-Ing. Franz J. Hauck
Unterrichtssprache:Deutsch
Turnus / Dauer:jedes Semester / ein oder zwei Semester
Voraussetzungen (inhaltlich):Programmiererfahrung in Java, Grundkenntnisse in Rechnernetzen und Verteilten Systemen
Voraussetzungen (formal):-
Grundlage für (inhaltlich):Masterarbeit
Lernergebnisse:Die Studierenden sollen im Bereich Middleware-Systeme in das selbständige wissenschaftliche Arbeiten eingeführt werden. Ein jeweils semesteraktuelles Themengebiet wird theoretisch und 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 wissenschaftlicher Memoranden, die Evaluation von Messergebnissen, 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 durch ein einführendes Seminar erschlossen. 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:Multimedia- und Internetsysteme, 2S, 4 LP, Pflicht, jedes Semester
Multimedia- und Internetsysteme im Eigenbau, 3Pj, 12 LP, Pflicht, jedes Semester
Seminar und Projektseminar können parallel oder hintereinander abgelegt werden. Vereinzelte Themen erfordern den Beginn mit dem Seminar.
Bewertungsmethode:Die Vergabe der Leistungspunkte erfolgt für je eine Modulteilprüfung im Seminar und Projektseminar.
Die Modulteilprüfung Seminar erfordert Anwesenheit und enthält Ausarbeitung, Vortrag und Mitarbeit (Gewichung wird zu Beginn jeweils bekannt gegeben).
Die Modulteilprüfung Projektseminar erfordert Anwesenheit und Mitarbeit und enthält Ausarbeitung und Abschlusspräsentation sowie eine Bewertung der praktischen Problemlösung (Gewichtung jeweils abhängig vom Thema und wird zu Beginn bekannt gegeben).
Notenbildung:nach Leistungspunkten gewichtete Note der Modulteilprüfungen
Arbeitsaufwand:Präsenzzeit Seminar, Projektseminar: 75h
Vortrag, Ausarbeitung im Seminar: 90h
Selbststudium, Projektarbeit, Abschlusspräsentation und Ausarbeitung im Projektseminar: 315h
Summe: 480h

Themen

in.Crease: ein Informationsdienst für Prüfungsordnungen

Betreuer: Franz J. Hauck

Projektanteil: In vorherigen Projekten 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 zur "Produktionsreife" bringen, so dass er für Studierende angeboten werden kann. Insbesondere sollen die Funktionen und die verwendete Oberfläche angepasst werden. Falls als 16 LP Projekt gewählt, soll das Einloggen mit KIZ-Login und der Zugriff auf Präferenzen realisiert werden. Die Implementierung erfolgt mit AngularJS und JavaEE (JBoss Wildfly, Hibernate/JPA, 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 (z.B. Angular2).

in.Crease Datenmodell für ein Studieninformationssystem

Betreuer: Franz J. Hauck

Projektanteil: Der in.Crease Informationsdienst soll auch das Modulhandbuch und das Vorlesungsverzeichnis zusammenfassen. In mehreren Projekten wurden schon Prototypen erstellt. Es hat sich jedoch herausgestellt, dass das Datenmodell noch unzureichend ist. In diesem Projekt soll das Datenmodell verbessert werden (semesterweise Historie der Änderungen, individuelle Versionen). Als Technologien kommen Wildfly, JPA, Envers und Postgres zum Einsatz. Zum Projekt gehört ein abgeschlossener Data Access Layer sowie die dazugehörige Dokumentation des Modells.  Das Thema kann mit 8 oder 16 LP bearbeitet werden.
Seminaranteil: Als Seminar könnten je nach Vorkenntnissen Aspekte von JPA und Envers behandelt werden.

OpenStack-Anbindung für EmuSphere

Betreuer: Gerhard Habiger

Projektanteil: EmuSphere ist eine Plattform, mit der sich verteilte Serverlandschaften simulieren lassen, die dann z.B. verteilte Tests ausführen. Dabei werden unter anderem auch die Netzwerkeigenschaften zwischen den Knoten des verteilten Systems beeinflusst (z.B. Latenz, Jitter), um beispielsweise die Auswirkung globaler Verteilung eines Systems zu testen. EmuSphere wird zur Zeit an der Universität Passau in Kooperation mit dem Institut Verteilte Systeme entwickelt. Momentan benötigt EmuSphere zum Deployment der Testinstanzen die Cloud-Plattform OpenNebula. In diesem Projekt soll EmuSphere erweitert werden um das Deployment der Instanzen auch mit OpenStack zu ermöglichen.
Das Projekt kann mit 8 oder 16 LP abgelegt werden.
Seminar: Der Seminaranteil soll EmuSphere und seinen Einsatzzweck präsentieren.

Benchmarking Implementierung für PriCloud

Betreuer: David Mödinger

Projektanteil: PriCloud beschäftigt sich mit der Schaffung eines Privatsphäre erhaltenden Cloud Speichers. Eines der betrachteten Szenarien baut auf ein Peer-to-peer Netz auf. Die Aufgabe dieses Projektes ist es, einen Teil der aktuellen PriCloud Spezifikation zu implementieren. Diese Implementierung kann als Baislinie für einen Benchmark von weitergehenden Technologien dienen. Das Projekt kann als 8 oder 16 LP Projekt gewählt werden.
Seminar: Der Seminaranteil könnte sich mit dem Projekt PriCloud beschäftigen und dieses präsentieren, da eine Einarbeitung in dieses notwendig ist.