Enterprise Data Distribution Solution


Problem

Für viele Unternehmen, vorallem kleinere, ist die Verteilung von Software über das Internet oft mit hohen Kosten für die benötigten Datenmengen verbunden. Abhilfe schaffen hier oft fremde Server, die als Mirror tätig sind. Das Problem ist jedoch die Verifikation der auf den fremden Servern. Vorallem für technisch unversierte Benutzer ist z.b. ein md5-hashcheck ohne Bedeutung. Größere Unternehmen verzichten daher meistens auf diese Hilfe, um die Integrität und Unversehrtheit ihrere Software zu garantieren.

Lösung

Bei diesen beiden Problemen setzt das Bittorrent Protocol ein (http://bittorrent.org). Es ermöglicht die verteilte Datenverteilung über ein Peer-to-Peer Konzept, sowie ausführliche Datei-Integritätsüberprüfungen.

Aufgabe (Enterprise Data Distribution Solution)

Diese Lösung soll sämtliche Komponenten implementieren, die für einen Bittorrent-Server ("Tracker") benötigt werden, sowie ein Webfrontend für die Auflistung der Dateien und deren Statistiken.

Die Implementierung soll in Java EE 5 gelöst werden, und auf miteinander verbundenen SOAP-Webservice-Komponenten basieren, wobei bei besonderer Wert auf cluster-Fähigkeiten gelegt werden soll.

Es können folgende APIs verwendet werden:

  • Webservices, JAX-WS 2.0
  • JSF/JSP (inklusive JSTL) sowie Servlets, auf Client-Seite auch AJAX-Elemente (Frontend)
  • Java Objekte, sowie EJB 3.0, Webservices (Backend)
  • Java Persistance (zB: Datebankanbindung)
  • MBeans (zB: Monitoring, Kontrolle)

Hinweise: Das Projekt soll in einzelnen Stufen bearbeitet werden:

  • Die Problemanalyse soll mit einem kurzen Pflichtenheft (2-4 Seiten) abgeschlossen werden.
  • An die Analyse soll sich die Implementierung anschließen.
  • Als Abschluss des Bakkalaureatsprojekts ist ein schriftlicher Bericht von 30-40 Seiten abzugeben, der zumindest die folgenden Kapitel enthalten soll: Beschreibung der Aufgabe und ihres Umfeldes (d.h. wichtige Begriffe, bestehende Lösungen, etc.), Benutzerdokumentation, Implementierungsbeschreibung, Kritische Beurteilung und Ausblick.

Betreuung: Nach der intensiveren Anfangsphase (kurze Besprechungen im Wochenabstand), die zur Absteckung des Problemfeldes und zur Klärung von Problemen dient, sollen im Zweiwochen-Rhythmus kurze Besprechungen stattfinden, um einen zügigen Fortgang des Projekts zu gewährleisten.

Programmiersprache: Java (Java EE 5)
Betreuer: DI Markus Löberbauer
Bearbeiter: Michael Aspetsberger