Hasso-Plattner-Institut25 Jahre HPI
Hasso-Plattner-Institut25 Jahre HPI
Login
 

Webprogrammierung/ Web 2.0 Technologien (Sommersemester 2008)

Dozent: Prof. Dr. Christoph Meinel (Internet-Technologien und -Systeme)
Tutoren: Christian Willems

Allgemeine Information

  • Semesterwochenstunden: 4
  • ECTS: 6
  • Benotet: Ja
  • Einschreibefrist: 02.05.2008
  • Lehrform:
  • Belegungsart: Wahlpflichtmodul

Studiengänge

  • IT-Systems Engineering BA

Beschreibung

Mashups und Web-Anwendungen im Stil von Desktop-Applikationen prägen seit der Web 2.0-Ära das Erscheinungsbild des Internets. Einfach wird die Realisierung solcher Web-Apps dank moderner Frameworks und Konzepten wie

  • MVC (Model-View-Controller),
  • Scaffolding und ORM (Object-Relational Mapping),
  • DRY (Don't repeat yourself),
  • KISS (Keep it simple, stupid) oder
  • Convention over Configuration

In diesem Seminar wird der Umgang mit Web 2.0-Technologien (AJAX, Mashups, Feeds, ...) anhand folgender Projektaufgaben erlernt:

  • Feed me
    RSS- und ATOM-Newsfeeds, aber auch andere maschinenlesbare Formate wie iCal bilden das Rückgrat vernetzter Web 2.0-Anwendungen. Erweitern Sie eine gegebene Social Web-Plattform um die Möglichkeit, beliebige Suchanfragen zu speichern und als Feeds in verschiedenen Formaten anzubieten.
  • User-generated Content
    Ein Aspekt von Web 2.0-Anwendungen ist, automatisch schwer zu lösende Aufgaben durch Benutzer mit geringem Aufwand lösen zu lassen. Entwickeln Sie eine Web-basierte Lösung, die den folgenden Ablauf unterstüzt: Unstrukturierte ASCII-Texte werden automatisch nach Datumsangaben, Überschriften und ähnlichem durchsucht. Anschließend können Benutzer die vorgeschlagenen Fundstellen bestätigen, korrigieren oder verwerfen, also den semi-automatischen Suchvorgang unterstützen.
  • Mashup: Cocato/Bibsonomy
    Interoperabilität wird im Social Web groß geschrieben. Für das Zusammenwirken zweier Web Sites existieren verschiedene Ad-Hoc-Lösungen und Standards von Feeds über XML-RPC und SOAP bis hin zu semantischen Informationen. Aufgabe im Seminar ist, ein Mash-up auf strukturierten Daten selbst zu entwickeln. Dazu soll die Social Bookmarking Site bibsonomy.org mit einem am Lehrstuhl entwickelten Social Network Prototypen verknüpft werden.
  • Speech Recognition Workflow
    Die Suche in den Audioinformationen von Videoaufzeichnungen ist eine mögliche Variante multimediale Daten zu finden. Auf Basis der Texttranskripte eines Spracherkenners soll für ein definiertes Datenmodell die Implementierung des Datenflusses realisiert werden. Weiterhin sollen im Rahmen der Implementierung qualitative Verbesserungen der Daten durch Austausch einzelner Module (Stemmer-Algorithmus etc.) erreicht werden.
  • AJAX-Editor für Ergebnisse aus Audiosuche
    Die auf Basis der Spracherkennung entstandenen Ergebnisbereiche (Chains) können im Detail qualitative Fehler aufweisen. Zum Beispiel wurden Wörter falsch erkannt oder Zeitmarken sind ungenau positioniert. Entwickeln Sie einen Editor zur Bereinung derartiger Fehler. Hierbei sollen aktuelle GUI-Techniken zum Einsatz kommen. Die qualitativen Änderungen sollen anhand ausführlicher Testreihen dokumentiert werden.

Weitere Themen im Bereich Unified Messaging und Mashup-Erstellung sind bei entsprechender Nachfrage verfügbar.

Die Implementierung erfolgt jeweils mit dem Groovy- und Java-basierten Framework "Grails" (Ähnlichkeiten mit Ruby on Rails in der Namensgebung sind durchaus beabsichtigt).

Ein weiterer Teil der Arbeiten (Projektthemen) wird mit dem Framework Django (Python-basiert) realisiert.

Voraussetzungen

  • Grundkenntnisse in HTML und CSS wünschenswert
  • Kenntnisse in Groovy/Java oder Django/Python hilfreich

Literatur

Zu Grails:

Zu Django:

  • Adrian Holovaty, Jacob Kaplan-Moss: The Definitve Guide to Django - Web Development Done Right, APRESS, ISBN 1-59059-725-7, http://www.djangobook.com
  • Dana Moore, Raymond Budd, William Wright: Python Frameworks - Web 2.0 Programming with Django and TurboGears, ISBN 978-0-470-13809-0
  • Peter Kaiser,Johannes Ernesti: Python, ISBN 978-3-8362-1110-9, http://www.galileocomputing.de/openbook/python/index.htm

Leistungserfassung

  • Implementierung der gestellten Projektaufgabe in Arbeitsgruppen
  • schriftliche Ausarbeitung der Dokumentation
  • Präsentation der Ergebnisse im Seminar

Termine

  • Montag, 13:30-15:00 Uhr A-1.2
  • An den ersten beiden Terminen werden die zu verwendenden Technologien vorgestellt.
  • Die Vorträge werden am Ende des Sommersemesters gehalten.

Zurück