Projekt Web Engineering Projektarbeit des Fachgebiet Software Engineering Nina Aschenbrenner, Ruben Jubeh
Web-Applikationen Client Server Schnittstellen- techniken HTML, XML, Javascript, Flash, Silverlight Java, C#, PHP, Python, Ruby… Schnittstellen- techniken User Interface Business-Logic Controller Datenmodell Data- binding Persistenz-Frameworks DB
Ajax Client Server User Interface Business-Logic Controller HTML, XML, Javascript, Java, C#, PHP, Python, Ruby… User Interface Business-Logic Controller Datenmodell
AJaX Asynchronous JavaScript and XML Asynchrone Kommunikation mit dem Server Benutzer kann nach dem Start der Anfrage weiterhin mit der Applikation interagieren Nur benötigte Teile der Anwendung oder reine Nutzdaten werden nachgeladen Schlüsseltechnik für Web 2.0 Vergleich Ajax – klassischer Ansatz Der Begriff Ajax stellt ein Akronym for Asynchronous JavaScript and XML dar und worde in dieser Form von Jesse James Garrett im Jahr 2005 maßgeblich geprägt. Die eigentlich dahinter befindliche Technik war jedoch bereits vorher unter dem Begriff XMLHttpRequest bekannt.. Die große Neuerung bei Ajax besteht darin, dass anders als bei altbekannten Webanwendungen nicht mehr nach jeder Benutzerinteraktion eine neue Seite vom Server geladen werden muss. Der Nutzer wird nicht mehr mit Formularen die er ausfüllen muss und anschließend an den Server senden kann abgespeist, er kann während er die Daten mit seiner Anfrage an den Server sendet weiterhin mit der Anwendung interagieren. Diese Tatsachen machen Ajax zu einer der Schlüsseltechniken zum Web 2.0
Ziele Praktische Realisierung einer Webanwendung Vorlesungsverwaltung Programmiermethodik Hausaufgaben “online“ Universell einsetzbar für andere Vorlesungen Schwerpunkt: Programmieren Im klassischen Entwicklungsprozess: Anforderungen, Analyse, Design, Tests, Implementieren Arbeit in Kleingruppen oder gemeinsam Verteilte Aufgaben 4 oder 8 SWS nach Absprache!
Ablauf Wöchentliche Treffen Ca. alle drei Wochen ein Sprint Austausch, Diskussion Ca. alle drei Wochen ein Sprint 2 Tage gemeinsam ‚hacken‘ Möglichst viel Funktionalität schaffen XP - Pair Programming Abschluss-Sprint mit ‚Konferenzbeitrag‘ Passend zum Seminar des Fachgebiets Zwischen den Sprints selbstständig arbeiten
Existierendes System
„Hausaufgabensystem“ Online Abgabe der Hausaufgaben Text-Fragen, Multiple Choice, ... Diagramm-Fragen Programmierte Beispiele u/o Fujaba-Modelle Können auf dem Server ausgeführt werden Automatisch Testen? Sicherheit? Benutzerverwaltung: Anbindung ans HRZ Export, PDF zur Archivierung
Beteiligte Techniken Verteilte Web-Anwendung User Interface Google Web Toolkit, SmartGWT Applikationsmodell Fujaba Persistenz Coobra Web-Server / Integration Apache Tomcat
Persistenz: CoObRA2 Speichermechanismus von Fujaba Change-basiert Wiederverwendbar für Laufzeit-Daten speichern Change-basiert Undo/Redo Funktionalität enthalten Server speichert Datei zentral, Zugriff über Netzwerk Läuft teilweise auch im Browser Im Moment nur unidirektionale Updates
Aufgabenteilung Einarbeitung in beteiligte Techniken (1 Woche) GWT/SmartGWT: Hello World und Login-Fenster (CC, CK) - zeige Datenbindung Coobra - Persistenz: Lade Laufzeitdaten in Server, dann programmatisch Checkout und im eDOBS live verändern (2-3P) Codegenerator für GWT - Reflektive Assoc-Zugriffe generieren (TG,DK) Aktivitätsdiagramm-Methode schreiben: kopiere Hausaufgabe mit zugehörigem Dokument, aber ohne Antworten... (OB, SK) Authentifizierung in Betrieb nehmen (1P) Danach Spezialisierung der Kleingruppen: Siehe Aufgabenstellung im CVS
Weitere Informationen