Middlewaresystem-Entwicklung
Modulbeschreibung | |
Titel: | Middlewaresystem-Entwicklung |
Englischer Titel: | Development of Middleware Systems |
Typ: | Modul |
Kürzel / Modulnr: | MWE / 70521 |
SWS / LP: | 2S+3Pj / 16LP |
Vorbesprechung: | Vorstellung und Vergabe der Themen am Donnerstag, 17.10.2013, 10.15 Uhr - 11.45 Uhr, O27-341 |
Einordnung in die Studiengänge: | Informatik, M.Sc. (PO 2013): Projekt Informatik, Lehramt: Wahlfach Medieninformatik, M.Sc. (PO 2013): Projekt Informationssystemtechnik, M.Sc.: Wahlpflicht Informatik, Projekt Informatik, M.Sc. (PO 2010): Projektmodul Medieninformatik, M.Sc. (PO 2010): Projektmodul |
Verwantwortlich: | Prof. Dr.-Ing. Franz J. Hauck |
Unterrichtssprache: | Deutsch |
Turnus / Dauer: | jedes Semester / ein oder zwei Semester |
Vorraussetzungen (inhaltlich): | Programmiererfahrung in Java, Grundkenntnisse in Rechnernetzen und Verteilten Systemen |
Vorraussetzungen (formal): | keine |
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:
|
Literatur: | keine |
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: GUI-Komponenten für ein elektronisches Modulhandbuch Betreuer: Franz J. Hauck | Projektanteil: Für ein elektronisches Modulhandbuch und Vorlesungsverzeichnis soll eine erste Version für eine Benutzerführung weiterentwickelt werden. Dazu gehören der Entwurf der Benutzeroberfläche, der Navigation und Benutzerführung für Betrachtungs- und Editorfunktionen. Gemäß dem MVC-Muster soll vor allem View und Controller für einen abgegrenzten Aufgabenbereich erstellt werden. Ein lauffähiger Prototyp soll nach einer Konzeptphase mit JavaEE (genauer JSF und Servlets) entwickelt werden. Ideale Voraussetzung sind Studium der Medieninformatik und Kenntnise von JSF bzw. AvID Stoff. Seminaranteil: Im vorangehenden oder parallel zu besuchenden Seminar sind die Besonderheiten von JSF herauszuarbeiten. Neben den grundsätzlichen Fähigkeiten sind vor allem der mögliche Einsatz von Validatoren und Templates im Zusammenhang mit dem Projektanteil darzustellen. |
in.Crease: Datenmodellierung für ein elektronisches Modulhandbuch Betreuer: Franz J. Hauck | Projektanteil: Für ein ein elektronisches Modulhandbuch und Vorlesungsverzeichnis soll eine effiziente Datenmodellierung durchgeführt werden. Die Modellierung soll mittels JavaEE (genauer EJB und JPA, Java Persistence API erfolgen). Die notwendigen Entitäten und Attribute müssen auf ein geeignetes relationales Schema umgesetzt werden. Dabei ist die Herausforderung, dass alle Datenänderungen einzeln persistiert werden müssen, um Änderungen nachträglich nach zu verfolgen. Hierzu sollen verschiedene Schemata erstellt und deren Abfrageeffizienz bei großen Datenmengen evaluiert werden. Ideale Voraussetzung sind Kenntnisse von JPA bzw. AvID Stoff. Seminaranteil: Im vorangehenden oder parallel zu besuchenden Seminar sind die Besonderheiten von JPA herauszuarbeiten. Neben der grundsätzlichen Funktion sind vor allem die Besonderheiten des objektrelationalen Mappings von JPA im Zusammenhang mit dem Projektanteil darzustellen. |
Orchestrierte Topologieerfassung Betreuer: Sven Schober | Wissen über die Netzwerktopologie kann Helfen die Quality-of-Service verteilter Multimedia-Anwendungen zu verbessern. So können z.B. Cluster innerhalb der Teilnehmer von Videokonferenzen erkannt werden und gezielt Proxy-Server platziert werden, die die Netzwerklast verringern. Ein bekanntes Werkzeug zur Topologieerfassung ist traceroute, welches die einzelnen "Hops" einer Internet-Route von Quell- zu Zielhost sichtbar machen kann. Um ein umfassendes Bild der Topologie zwischen mehreren Teilnehmern zu erhalten müssen jedoch einige Herausforderungen angegangen werden: Zum einen existiert mit Load-Balancern eine starke Quelle von Ungenauigkeiten, zum anderen sind die Routen der Hin- und Rückrichtung im Allgemeinen nicht identisch und selbst wenn ist dies nicht immer ohne weiteres Erkennbar. Am Lehrstuhl für Verteilte Systeme entstand u.a. bereits eine Traceroute- Implementierung, welche es erlaubt aus Java heraus Traces zu starten und umfassenden Einfluss auf die versendeten Pakete zunehmen. In diesem Thema soll der Stand der Technik bei der Topologieerkennung aufgearbeitet (Seminaranteil) werden und aufbauend auf den existierenden Vorarbeiten eine Implementierung angefertigt (Projektanteil) werden. |
Kombinierte Bandbreiten- und Topologieerfassung Betreuer: Sven Schober | Verteilte Anwendungen können von Wissen über Bandbreite und Topoligie des Netzwerks zwischen Hosts profitieren. So können z.B. Proxy-Server an "günstigen" Stellen platziert werden, um Flaschenhälse weniger zu belasten. Bisher gibt es für beide Einsatzfälle separate Werkzeuge, für Topologieerkennung z.B. traceroute, für Bandbreitenmessung z.B. tcpperf. Gerade letztere Kategorie belastet den Netzwerkpfad zwischen Quell- und Zielhost jedoch stark, weshalb in der Forschung einige Ansätze entwickelt wurden die Belastung zu reduzieren. Weiterhin messen die vorhandenen Ansätze meist nur die Ende-zu-Ende-Bandbreite, Informationen darüber, wo der Flaschenhals entlang des Pfades liegt bleibt verborgen. Am Lehrstuhl für Verteilte Systeme entstand ein Werkzeug mit dem aus Java heraus Pakete versendet werden können, auf deren Aufbau umfassend Einfluß genommen werden kann. So kann damit z.B. traceroute sehr einfach implementiert werden, aber auch die erwähnten modernen Bandbreitenmesstechniken. Ziel dieses Themas soll die Aufarbeitung der Literatur (Seminaranteil) und die Erarbeitung eines Ansatzes zur kombinierten Toplogie-, Latenz- und Bandbreitenmessung entlang eines Pfades sein, sowie eine Implementierung aufbauend auf den vorhandenen Vorarbeiten (Projektanteil). |
Effizientes Checkpointing in Byzantinisch Fehlertoleranten Bibliotheken Betreuer: Christian Spann | Verteilte Anwendungen sehen sich in der Realität mit verschiedenen Ausfall- bzw. Angriffsszenarien konfrontiert. Der Rechner auf dem die Anwendung ausgeführt wird kann ausfallen oder von Hackern übernommen werden. Byzantinisch Fehlertoleranten Systeme versuchen dies durch eine Replikation der Anwendung auf mehrere Rechner zu verhindern. Dabei ist die Logik für eine solche Verteilung unter anderem darauf angewiesen, periodisch den Zustand der Anwendung zum gleichen logischen Zeitpunkt auf allen Replikaten zu sichern. Denn erst nach dieser Sicherung kann die Anfragehistorie der Anwendung gelöscht werden. Die Notwendigkeit dieser Historie ergibt sich aus der durchzuführenden Fehlererholung beim Ausfall bzw. einer übernahme eines Replikats. Projektanteil: Design und Implementierung eines Moduls zur verteilten Erstellung und Verifikation von Zustandsschnappschüssen. Seminaranteil: Untersuchung verschiedener Ansätze zur Erstellung solcher Schnappschüsse und Identifikation der notwendigen Komponenten und Methoden. |