Hasso-Plattner-Institut
 
    • de
 

Web-Frameworks (SS 07)

Dozent: Prof. Dr. Christoph Meinel (Internet-Technologien und -Systeme)
Tutor: Christian Willems, Katrin Krieger


Beschreibung

Mit der steigenden Verbreitung und Komplexität von webbasierten Anwendungen haben sich auch die Anforderungen an die zugrundeliegenden Technologien der Webprogrammierung drastisch geändert. Große Web-Applikationen, die unter Umständen ganze Geschäftsmodelle abbilden, lassen sich nicht mehr als "Skript-durchsetzte HTML-Seiten implementieren - wie in den Anfangszeiten von ASP und PHP üblich.
Heute existiert eine unüberschaubare Vielfalt an Frameworks speziell für die Webprogrammierung. Diese bieten für gewöhnlich eine Menge an vorgefertigten Bausteinen, realisieren eine klare Trennung von Code (Business Logic) und Darstellung und erlauben sauberen Programmierstil.

Liste möglicher Webframeworks

  • ASP.net
  • Borges - auf Ruby basierendes Webframework
  • Catalyst - in Perl geschriebenes MVC-Framework
  • ClawPHP - auf PHP basierendes HMVC-Framework
  • Django - auf Python basierendes MVC-Webframework
  • IOWA - ein auf Ruby basierendes Webframework
  • jACOB - ein auf Java basierendes Webframework
  • Nitro - ein auf Ruby basierendes Webframework
  • PRADO - auf Komponenten basierendes, eventgesteuertes Framework für Webapplikationen in PHP5
  • SeaGull - ein auf PHP und PEAR basierendes Open-Source Webframework
  • Solar - Web-Framework für PHP5 und PEAR, angelehnt an Ruby on Rails
  • Spring - ein auf J2EE basierendes Anwendungsframework, unterstützt JSP und JSF u. a.
  • Struts - ein auf Java basierendes Open-Source Webframework
  • struts4php - ein auf PHP basierendes MVC Open-Source Webframework
  • Apache Tapestry - auf Java und XML basierendes MVC Webframework
  • TurboGears - auf Python basierendes Webframework
  • WebWork - auf Java basierenes Webframework
  • Wee - ein auf Ruby basierendes Webframework
  • WINGS - Web Application Framework das auf Java Servlets basiert und SWING ähnlich ist
  • ...

Bereits vergebene Frameworks

  • Grails
  • Ruby on Rails
  • Java Server Faces

Anforderungen

  • Grundkenntnisse der Webprogrammierung hilfreich
  • je nach Framework: Kenntnisse in der zugrundeliegenden Programmier-/Scriptsprache (z.B. C#/ASP, Java, PHP, Perl, Python, Ruby, ...)
  • je nach Framework: Grundkenntnisse der Windows-/Linux-Konfiguration

Leistungserfassungsprozess

  • ein Framework auswählen und evaluieren - Kriterien können dabei sein:
    • Architektur und Komponenten
    • Installation und Konfiguration
    • benutzte Programmier- bzw. Script-Sprache
    • Workflow
    • Template Engine und TagLibs
    • Internationalisierung von Applikationen
    • User Handling / Authorisation
    • Support / Dokumentation
    • Verschlüsselung (https)
    • Ajax-Funktionalität
    • Validation von Daten und Error Handling
    • Data Bindings
    • ...
  • zur besseren Vergleichbarkeit der verschiedenen Frameworks soll jeweils eine exemplarische Web-Applikation mit Hilfe des Frameworks implementiert werden, z.B.
    • Newsletter-System - Implementiert werden soll ein Newsletter-System, über das Empfänger für den Newsletter verwaltet (Anmeldung, Abmeldung, Änderung von Daten), Newsletter- Content erstellt und der Newsletter selbst verschickt werden kann
    • Multi-User RSS-Syndikator - Implementiert werden soll ein RSS-Syndikator, bei dem sich ein Nutzer anmelden, seine Feeds verwalten, in ihnen suchen, Feed-Einträge taggen/ bewerten kann etc.
    • ...
  • Präsentation in Form eines Tutorials

Termine

  • montags, 13:30-15:00 Uhr A-1.1
  • Die Vorträge werden am Ende des Sommersemesters gehalten.
Allgemeine Informationen

ID:

10 L 689

SWS:

2

ECTS Credit Points:

3 (benotet)

Einschreibefrist:

4.5.2007

Belegungsart:

Wahlfach

Studiengang:

IT Systems Engineering (Bachelor)

Themenkomplex:

Anwendungssysteme (Bachelor), Angewandte Softwaresystemtechnik (Bachelor)

Vertiefungsgebiet:

Internet-Technologien, Business Computing, Verteiles Rechnen