Supervisor(s)

Student

Finished

2011-05

Task description

Hintergrund der Arbeit

Das Portal platinnetz.de (im folgenden "Platinnetz") ist eine klassische Web-Applikation: Über einen Web-Browser greifen Nutzer auf Web-Seiten zu, die Seiten werden dynamisch aus Seitenvorlagen, Datenbankinhalten und Informationen in der laufenden Sitzung des Nutzers ("Session") zusammengestellt und im Web-Browser des Nutzers angezeigt. Die Software-Architektur von Platinnetz folgt dem Model-/View-/Controller-Entwurfsmuster. Einige Funktionen werden über asynchrone Server-Aufrufe per Javascript aus dem Browser realisiert, um unnötige Aufrufe kompletter Seiten zu vermeiden und so Funktionen für den Nutzer besser zugänglich zu machen.

Viele der Dienste in Platinnetz können nur angemeldet genutzt werden. Nutzer registrieren sich hierzu einmalig mit ihrer E-Mail-Adresse und einem Kennwort und melden sich dann mit diesen Daten bei der Web-Anwendung an. Einmal angemeldet können sie selber Artikel schreiben, Bilder hochladen, mit anderen Nutzern Freundschaften schließen und private Nachrichten über eine Web-Oberfläche austauschen. Änderungen im Platinnetz - also etwa, ob für sie neue Nachrichten eingegangen sind oder ob ihre Artikel kommentiert wurden - erfahren Nutzer nur beim Laden einer neuen Seite. Dies führt z.B. im Bereich "Fragen" dazu, dass Nutzer alle paar Sekunden die aktuelle Seite neu laden, um neue Antworten auf ihre eingestellten Fragen zu sehen.

Das integrierte Chat-System verfügt bereits über einen Mechanismus, um aktuelle Textnachrichten an alle angemeldeten Nutzer in einem Chat-Raum zu verteilen, ohne dass die Nutzer die Seite des Raumes ständig neu laden müssen. Für die Realisierung dieses Dienstes bediente sich das Platinnetz-Team der XMPP-Technologie, welche Nachrichten vom Browser des Autors einer Nachricht an alle angemeldeten Browser verteilen kann. Das Verteilen erfolgt über den Push-Dienst eines speziellen Servers an eine Javascript-Bibliothek im Browser der Empfänger.

Ziel der Arbeit

In dieser Arbeit soll untersucht werden, welche Dienste sich in einem sozialen Netzwerk wie Platinnetz für die Unterstützung durch Push-Dienste eignen. Kandidaten sind

Eine Technologie-Recherche soll verfügbare Technologien für Server-Push vergleichen. Für eine anschließende Implementierung in Platinnetz soll eine geeignete Technologie ausgewählt werden. Wichtige Kriterien sind Zukunftssicherheit, Robust- und Einfachheit sowie Kompatibilität mit der Platinnetz-Technologie basierend auf Linux, Apache, MySQL, PHP und jQuery.