Prof. Dr. M. Kaul
Systementwicklung und Datenbanksysteme
FB 02 Informatik

Web Engineering

Portal für Systementwicklung und Datenbanksysteme
an der Hochschule Bonn-Rhein-Sieg
Google this site:

Ankündigung Vergabe von Themen Moodle Kurs 481 Trac Project "Web Engineering 2010" Wiki

Life is a distributed object system.
However, communication among humans is a distributed hypermedia system,
where the mind's intellect, voice+gestures, eyes+ears, and imagination
are all components. --- Roy T. Fielding, 1998.

Aktuelles (News)
  • [29.03.2010 14:00]: Beginn der Lehrveranstaltung in C.063
  • [12.04.2010 19:42]: trac-svn freigeschaltet. Bitte ausprobieren.
  • [13.04.2010 09:30]: Neue Version der Aufgabe 2.5 freigeschaltet. Bitte beachten Sie die Änderung!
  • [22.04.2010] Hinweis: Telekom meets Talent 2010 am 22. April 2010 in Bonn. Anmeldung erforderlich.
  • [10.05.2010]: Projekttag am 10. Mai: Organisieren Sie Ihre Projektarbeiten selbstständig. (Dafür keine Präsenz-Lehrveranstaltung am 10. Mai in C.063.)
  • [19.05.2010]: FAQ zum Projekt:
    F: Muss die GUI so aussehen, wie in der Aufgabenstellung Aufgabe 1.5 dargestellt?
    A: Nein. Dies ist nur ein Beispiel.
    F: Muss die GUI Bäume enthalten?
    A: Nein. Auch wenn Aufgabenbäume verwaltet werden, so kann es aus Usability-Gründen doch vorteilhaft sein, in der GUI nur Listen zu verwenden. Dies zeigen auch eindrucksvoll viele iPhone-Apps, die ToDo-Listen-Verwaltung anbieten. Sichtbar ist darin immer nur eine Liste. Verzweigung in Unterpunkte ist möglich. Die Hierarchie selber wird jedoch nicht angezeigt. Es ist der Entscheidung der einzelnen Teams überlassen, welche Form der Darstellung in der GUI es wählt.
  Web Engineering Vorlesungen, Übungen und Praktikum im Überblick
Zusätzlich zu den Vorlesungsfolien werden unter Pflichtlektüre auch Texte und Folien zur Verfügung gestellt, deren Inhalt ebenfalls Prüfungsstoff ist und die Vorlesung ergänzt. Bitte lesen Sie parallel zu den Veranstaltungen auch diese Texte. Falls Sie Fragen dazu haben, stellen Sie diese bitte in den Lehrveranstaltungen in den jeweils dafür vorgesehenen Wochen.
Vorlesungswochen
Nr Datum Themen Folien Pflichtlektüre Praktikum:
Aufgaben
129.03.2010Einführung 01_intro.pdf Wikipedia-Artikel zu Web Engineering in Deutsch
Wikipedia-Artikel zu Web Engineering in Englisch
World Wide Web
Webwissenschaft
LE1
212.04.2010Grundlagen 1 02_grundlagen.pdf
02_http.pdf
02_javascript.pdf
Dissertation von Roy Fielding
LE2
319.04.2010Grundlagen 2 03_ajax.pdf
03_html5.pdf
AJAX-enabled Java-based Web Application Frameworks
LE3
426.04.2010Servlets 04_servlets.pdf The Java EE 6 Tutorial, Chapter 10: Java Servlet Technology
LE4
503.05.2010JSP 05_jsp.pdf Wikipedia
The Java EE 5 Tutorial: Chapter 5 bis 9: JavaServer Pages Technology
LE5
617.05.2010Web Security 06_Websecurity2010.pdf Sicherheit von Webanwendungen - Maßnahmenkatalog und Best Practices
LE6
731.05.2010JSF 07_jsf_1.pdf
07_jsf_2.pdf
Wikipedia
JSF Online Buch
LE7
807.06.2010Patterns of Enterprise Application Architecture 08_1_eaa.pdf
08_2_eaa.pdf
Martin Fowler: EAA Catalog
LE8
914.06.2010Clean Code Development  Clean Code Development
LE9
1021.06.2010Projektpräsentation  LE10
1128.06.2010Projektpräsentation  LE11
Wochenplan Web Engineering
  • [28.06.10] Projektpräsentation
    Planen Sie 20 Minuten Präsentation (Wiki+Demo+Quellcode), 5 Minuten Diskussion. Bitte melden Sie sich beim Dozenten so schnell wie möglich, falls Sie den vorgesehenen Termin nicht wahrnehmen können. Die erfolgreichen Präsentationen sind Voraussetzung für die Teilnahme an den Prüfungen, wie bereits zu Beginn des Semesters angekündigt.
    • 10 14:00 Spring Wittersheim Schmidt
    • 11 14:25 Spring MVC Lucas Soencksen
    • 12 14:50 Grails Neumann Siebigteroth
    • 13 15:15 Echo Schubert Schmitz
    • 14 15:40 JBoss Seam Müller Dames
    • 15 16:05 Jboss AS Ngassa Kasabov
    • 16 16:30 Struts 2 Teil 1 Nicpon Dieter
    • 17 16:55 Struts 2 Teil 2 Schaden Ajwani
  • [21.06.10] Projektpräsentation
    Planen Sie 20 Minuten Präsentation (Wiki+Demo+Quellcode), 5 Minuten Diskussion. Bitte melden Sie sich beim Dozenten so schnell wie möglich, falls Sie den vorgesehenen Termin nicht wahrnehmen können. Die erfolgreichen Präsentationen sind Voraussetzung für die Teilnahme an den Prüfungen, wie bereits zu Beginn des Semesters angekündigt.
    • 1 14:00 Apache Click Cramer Millberg
    • 2 14:25 Direct Web Remoting Vakilpour Fiala
    • 3 14:50 Jquery Boeckhorst Utsch
    • 4 15:15 Ajax mit GWT Bluhm Smolarek
    • 5 15:40 Ajax mit GWT Klein Buschulte Dopplung bitte melden
    • 6 16:05 SweetDEV RIA Nikiforov Sigitov
    • 7 16:30 Glassfish Gosselin Wielpütz
    • 8 16:55 Primefaces Glowinski Effer
    • 9 17:20 ICEfaces Pochert Sponer
  • [14.06.10] Stefan Lieser: Clean Code Development (CCD)
    • www.clean-code-developer.de
    • Stefan Lieser würde gerne Code reviewen, der von den Studierenden stammt. Prima wäre, Code an dem mehrere Studierende gearbeitet haben. Ermunterung im Vorfeld, die Chance zu nutzen, Feedback zum eigenen Code zu erhalten!
  • [07.06.10] Enterprise Application Architecture Patterns
  • [31.05.10] JavaServer Faces (JSF)
    • Vorbereitung auf den 14.06.: Bereitstellung von Quellcode für Review
    • Nachbereitung der Lehrveranstaltung am [03.05.10] Java Server Pages (JSP): Nachtrag Simple Tag Handlers
    • 14:00 [20 Min.] Einführung JSF aufgrund des Buches Java Server Faces 2.0



    • 14:20 [30 Min.] Methode Pair Programming: Suchen Sie sich eine Partnerin/einen Partner, mit der/dem Sie noch nie zusammen gearbeitet haben. Wechseln Sie Partnerin/Partner für jede Übung. (So wird das Wissen breiter verteilt.) Wechseln Sie Fahrer/Beifahrer-Rolle alle 30 Minuten.

      Lesen Sie Einführung in Java Server Faces. (Wenn man Netbeans gewählt hat, ist Maven bereits installiert und man kann die Anweisungen zu Maven in JSFatWork überspringen.)
      Die Beispiele sind als Maven2-Projekte in einem ZIP-Archiv verpackt. Diese herunter laden von http://jsfatwork.irian.at/downloads/examples.zip und auspacken (unzip).
      Öffnen Sie das Maven2-Projekt "Hello World" in der eigenen IDE und führen Sie es aus, z.B. in Netbeans mit dem Glassfish Server 3:
      Probieren Sie dynamisches Laden geänderter XHTML-Seiten im Browser aus. Wenn man die Texte in der XHTML-Seite hello.xhtml verändert, reicht ein Reload im Browser.
      Kapitel 1.4: MyGourmet 1: Einführung anhand eines Beispiels: Öffnen Sie das Maven2-Projekt MyGourmet 1 in der eigenen IDE und führen Sie es aus.
      Aufgabe 7.1: Fügen Sie ein weiteres Feld "Matrikel" und ein weiteres Feld "Account" ein. Es kann sein, dass ein Redeploy/Restart des Application-Servers erforderlich wird.
      Reichen Sie als Lösung die ManagedBean und die XHTML-Seite ein.



    • 14:50 [40 Min.] JSF Teil 2 aufgrund des Buches Java Server Faces 2.0



    • 15:30 [30 Min.] Aufgabe 7.2

    • 16:00 [15 Min.] Pause
    • 16:15 [30 Min.] Aufgabe 7.3
    • 16:45 [30 Min.] Aufgabe 7.4
    • Ende: 17:15

    Weitere Hinweise

  • [17.05.10] Fukami: Web Security
    • Bitte eigenes Notebook mitbringen. Es wird ein Image verteilt, zu dessen Installation Sie Admin-Rechte benötigen.
    • Folien Fukami 2010
  • [10.05.10] Projekttag
    • Keine Präsenzveranstaltung am 10.05.2010
    • Organisieren Sie Ihre Projektarbeiten selbstständig.
  • [03.05.10] Java Server Pages (JSP)
  • [26.04.10] Servlets
    • 14:00 [40 Min.]Bericht von "Technology meets Talent (TMT)"
    • 14:40 [20 Min.][Lösungen]
    • 15:00 [40 Min.] Folien Servlets
    • 15:40 [15 Min.] Pause
    • 15:55 [20 Min.][Green IT]
      Rasmus Lerdorf hielt auf der Froscon 2008 den Keynote-Vortrag, siehe Folien unter talks.php.net/show/froscon08. Absolut lohnenswert ab Folie 8. Darin hat Rasmus Lerdorf einige große PHP-Frameworks einem Performance-Test unterzogen und dabei herausgefunden, wie viel Überflüssiges zur Laufzeit passiert, meistens mit der Rechtfertigung einer besseren Struktur des Frameworks (Klassen- und include-Hierarchien). D.h. Programmierer legen großen Wert auf die schöne Struktur in den Klassen- und include-Hierarchien, ignorieren die Laufzeit jedoch vollständig. Schönheit und Struktur haben einen Preis, die schlechte Performance. Warum wurde das so wenig beachtet? Woran liegt das? Rasmus Lerdorf argumentiert: Nun haben viele kluge Köpfe viel Zeit in diese Struktur investiert und wollen diese daher in möglichst vielen Projekten der Welt wiedersehen. Sie wollen ihre eigenen Ideen in der Welt wiedersehen. Das kostet jede Menge Server-Leistung und damit Strom und wertvolle Ressourcen. (Als Beispiel nannte er Yahoo mit Server-Farmen in der 100.000-er Region.) Daher sei jedes Prozent Performance-Gewinn wichtig. Er propagierte eine "grüne Informatik" (Green IT), d.h. Server und Energie sparen durch Laufzeit-Optimierung.
    • 16:15 [30 Min.] Aufgaben nächsten Wochen
    • 16:45 [30 Min.] Projekt
    • Ende: 17:15
  • [19.04.10] Grundlagen 2
  • [12.04.10] Grundlagen 1
    • Begrüßung
      • Namensschild: Bitte jede Woche mitbringen!!!
    • 14:00 [30 Min.][Web-Grundlagen]
      Teil 2: Grundlagen
    • Ein gewählter Repräsentant jeder Reihen-Gruppe präsentiert im Plenum den überarbeiteten Wiki-Artikel. (Vortrag ohne Powerpoint, aber mit Wiki-Artikel.) Die anderen Teilnehmer der Reihen-Gruppe nutzen auch diese Gelegenheit, Ihren Wiki-Artikel (Verständlichkeit, Vollständigkeit, Widerspruchsfreiheit, ...) zu überarbeiten und zu verbessern.
    • 14:30 [30 Min.][HTTP]
    • 15:00 [30 Min.][JavaScript]
    • 15:30 [15 Min.][XML]
    • 15:45 [15 Min.][RSS]
    • 16:00 [5 Min.][Schock-Memory]
    • 16:05 [20 Min.]Fragen zur Themenverteilung, siehe Ergebnis der Themenwahl
      Wahl (a) Absprache aller Teams mit gleichem Thema oder (b) Wahl disjunkter Themen
    • Meilensteine des Projekts, siehe Trac Roadmap
    • 16:25 [5 Min.] Pause
    • 16:30 [45 Min.] Fachliche WWW-Grundlagen (Gruppenarbeit: Jede der 5 Reihen ist eine Gruppe, genannt Reihen-Gruppe. Alle Mitglieder einer Reihen-Gruppe sitzen jeweils nebeneinander in einer Reihe.) Jede Reihen-Gruppe bekommt eines der folgenden Themen zugewiesen. Die Themen sind folgende:
    • Aufgaben nächste Woche
    • Ende: 17:15
  • [29.03.10] Einführung
    • 14:00 [30 Min.] Begrüßung und kennen lernen
    • 14:30 [5 Min.] Pause
    • 14:35 [20 Min.] Vorkenntnisse Software Engineering
    • 14:55 [5 Min.] Pause
    • 15:00 [20 Min.] Priorisierung der Themen im Web Engineering
    • 15:20 [5 Min.] Pause
    • 15:25 [40 Min.] Impuls-Referat
    • 16:05 [20 Min.] Paarweise Themenwahl "Web Engineering"
    • 16:25 [5 Min.] Pause
    • 16:30 [45 Min.] Fachliche WWW-Grundlagen (Gruppenarbeit: Jede der 5 Reihen ist eine Gruppe, genannt Reihen-Gruppe. Alle Mitglieder einer Reihen-Gruppe sitzen jeweils nebeneinander in einer Reihe.) Jede Reihen-Gruppe bekommt eines der folgenden Themen zugewiesen. Dann hat die Reihen-Gruppe jeweils 40 Min. Zeit,
      • [20 Min] sich über die eigenen Vorkenntnisse zu diesem Thema untereinander auszutauschen, dann im Internet über das Thema zu recherchieren, die besten Links zu sammeln und
      • [20 Min] gemeinsam einen Wiki-Artikel zu diesem Thema zu schreiben. Schreiben Sie darin die wichtigsten Konzepte, Begriffe, Fakten und Verweise auf Internet-Quellen in Ihren Artikel, so dass alle etwas davon haben. Keine Kopien, keine Plagiate! Betonen Sie dabei besonders die 3 wichtigsten Konzepte des Themas, und die 3 wichtigsten Erkenntnisse oder Erfolgsrezepte, wie man dieses Thema am besten beherrscht.
      • [5 Min.] Bestimmen Sie aus Ihrer Gruppe eine/n Vortragende/n für die Präsentation Ihrer Team-Leistung in der nächsten Woche.
      Die Themen sind folgende:
    • Hinweise auf die nächste Woche
      • Paarweise Themenwahl "Web Engineering"
      • Wiki-Artikel zu Ende schreiben und bestimmen, wer in der nächsten Woche vorträgt
      • Pflichtlektüre Wiki-Artikel lesen
      • Aufgaben lösen
      • Namensschild: Bitte jede Woche mitbringen!!!
    • Ende: 17:15
Last modified: June 07 2010 15:51:41.© 2004 Manfred.Kaul(at)h-bonn-rhein-sieg(dot)de