Projekt: Systementwicklung -- Datenbankunterstützung für Web 2.0 Anwendungen
Der Begriff Web 2.0 beschreibt eher vage eine veränderte Wahrnehmung und Benutzung des WWW. Hauptaspekt aus organisatorischer Sicht: Benutzer erstellen und/oder bearbeiten im Internet bereitgestellte Inhalte in zunehmendem Maße selbst. Typische Beispiele hierfür sind Wikis, Weblogs sowie Bild- und Video- Sharing-Portale.
Der zunächst als Marketing-Instrument eingeführte Begriff hatte relativ großen Widerhall in der Öffentlichkeit. Das kann belegen: Eine größere Gruppe von Menschen empfindet das damit verbundene Gefühl einer einschneidenden Veränderung ebenso, ohne sie auf eine bestimmte Technologie oder eine einzelne Entwicklung zurückführen zu können. Web 2.0 ist ein beschreibender Begriff für bestimmte Entwicklungen. Er existiert nicht wirklich (anders als z. B. eine bestimmte Software-Version). Er ist das Ergebnis eines Synergieeffektes. Die beteiligten technischen Mittel können im Einzelnen oft verhältnismäßig unbedeutend erscheinen. Daher wird auch kritisiert, der Begriff wäre unscharf und nahezu beliebig verwendet ("Schlagwort"), um die Popularität von Angeboten oder Techniken zu fördern oder vielleicht nur vorübergehende Trends wichtiger erscheinen zu lassen.
Aus technischer Sicht bezeichnet der Begriff Web 2.0 oft eine Kombination von bereits Ende der 1990er Jahre entwickelten Technologien, die die große Zahl an breitbandigen Internetzugängen erst jetzt großflächig verfügbar macht.
Anwendungen, die Web 2.0 zugerechnet werden, verwenden oft Web Service APIs (ca. 1998), Ajax (1998 - Asynchronous Javascript and XML, bis 2005 XmlHttpRequest genannt) und Abonnement-Dienste wie RSS (1997). Die Integration von so genannter sozialer Software wie Blogs und Wikis wird ebenso im Zusammenhang mit Web 2.0 genannt. Wegen der per Definition unscharfen Trennung zwischen tatsächlich fundamentalen Techniken und Entwicklungen des Web 2.0, Rand- und Sekundärerscheinungen und zu Privatzwecken gehypten Spielereien ist die tatsächliche Bedeutung einzelner Entwicklungen immer wieder Anlass zu Diskussionen.
(Entnommen aus Wikipedia: Web 2.0)Im Verlauf des Projektes soll ein Online-Auktionssystem aufgebaut werden. Ein Besucher meldet sich am Portal an, um bei Auktionen zu bieten oder Angebote einstellen zu können. Zusätzlich soll er die Möglichkeit erhalten, Kommentare für einzelne Artikel abgeben zu können. Diese Kommentare können von anderen Besuchern bewertet werden oder aber vom Anbieter ausgeblendet werden. Artikel können zudem mit Tags versehen werden, damit sie leichter auffindbar sind.
Das Einstellen eines Artikels kann auf zwei Weisen funktionieren. Zunächst gibt es eine browser-basierte AJAX-Oberfläche, die ein Formular zur Erfassung der Daten beinhaltet und eine Möglichkeit, Bilder hochzuladen. Ein Editor, der die Wiki-Syntax versteht, dient zur Eingabe von Freitext. Darüber hinaus bietet das Portal einen WebService zur Erzeugung von Angeboten an.
Auf der personalisierbaren Homepage des Portals werden die laufenden Aktionen angezeigt. Diese Liste soll ebenfalls als RSS- und als ATOM-Feed verfügbar sein.
Haben Sie keine Angst. In diesem Praktikum geht es darum, dass Sie diese Techniken kennenlernen. Vorbildung ist natürlich nicht hinderlich, aber das benötigte Wissen erhalten Sie in der Vorbesprechung. Zudem finden sich viele hilfreiche Tutorials und Beispiele im Netz.
Weitere Materialien zur Veranstaltung finden Sie in diesem Ordner.
Das Projekt findet in Gruppenarbeit zu je 4-5 Studenten statt. In Anlehnung an ein Industrieprojekt kommen auch hier die Phasen Pflichtenheft - Entwurf - Spezifikation - Implementierung - Test zum Einsatz.
Für jede der Phasen Pflichtenheft - Entwurf - Spezifikation - Implementierung - Test muss ein Phasenverantwortlicher benannt werden. Darüber hinaus sollten Sie sich im Klaren sein, dass jeder Teilnehmer seinen Anteil am Projekt seiner Gruppe nachweisen können muss.
Jeder Teilnehmer muss während der vorlesungsfreien Zeit eine Einführungsaufgabe (s.u.) bearbeiten, um sich mit den verwendeten Technologien vertraut zu machen.
Für den Verlauf ergeben sich folgende Termine:
| Datum | Termin | Umfang |
|---|---|---|
| 30.03.2007 | Abgabe Vorbereitungsaufgabe | |
| 20.04.2007 | Abgabe vorläufiges Pflichtenheft | |
| 27.04.2007 | Abgabe endgültiges Pflichtenheft | 20 Seiten |
| 04.05.2007 | Abgabe vorläufiger Entwurf | |
| 11.05.2007 | Abgabe endgültiger Entwurf | 20 Seiten |
| 18.05.2007 | Abgabe vorläufige Spezifikation | |
| 25.05.2007 | Abgabe endgültige Spezifikation | |
| 01.06.2007 | Abgabe Implementierungsplan | 10 Seiten |
| 08.06.2007 | Abgabe Milestone 1 | |
| 15.06.2007 | Abgabe Milestone 2 | |
| 22.06.2007 | Abgabe Milestone 3 | |
| 29.06.2007 | Abgabe Milestone 4 | |
| 06.07.2007 | Abgabe vorläufige Implementierung | 15.000 Zeilen |
| 13.07.2007 | Abgabe Testbericht | 20 Seiten |
| 20.07.2007 | Abgabe engültige Implementierung und Implementierungsbericht | 15 Seiten |
Anmeldung per Email an , Anmeldeschluss ist am 19.01.2007 um 12.00h!
Bitte folgendes angeben:
In der letzten Vorlesungswoche findet eine kurze Einführungsveranstaltung mit Teameinteilung statt. In dieser Veranstaltung können Sie auch Fragen zur Einführungsaufgabe stellen. Näheres erfahren Sie in Kürze.
Ziel der Vorbereitungsaufgabe ist es, Sie mit den verwendeten Technologien in Kontakt zu bringen. Es wäre sinnvoll, wenn Sie die erforderliche Software auf Ihrem Rechner selbst installieren könnten. Sollte es hierzu Probleme und Schwierigkeiten geben, so können Sie sich gerne melden. Darüberhinaus besteht die Möglichkeit, den Praktikumsraum des Lehrstuhls zu benutzen.
In der Auftaktveranstaltung werden wir Ihnen die Vorbereitungsaufgabe genauer vorstellen und erläutern. Die Aufgabenstellung lautet in etwa:
Entwickeln Sie eine Java - Webanwendung gemäß des MVC - Patterns, die mehrere ATOM News Feeds von benutzerdefinierten Webservern abruft, und sie nach Datum sortiert als neues RSS-Dokument ausgibt. Der Benutzer bekommt eine AJAX- Schnittstelle zu sehen, in die er die gewünschten URLs der ATOM Feeds einträgt. Sobald ein Eintrag eingefügt wurde, schreibt die Oberfläche den Titel des Feeds unter/über/neben den URL. Zum Schluss bekommt der Benutzer einen URL generiert, unter dem er den soeben generierten Feed im RSS-Format abrufen kann. Dieser URL soll persistent mit den ursprünglichen Feeds verknüpft sein, damit die umständliche Neueingabe bei jedem Aufruf entfällt. Setzen Sie hierzu bitte eine relationale Datenbank ein. Achtung, es soll nur die Konfiguration der einzelnen Feeds gespeichert werden, nicht deren Inhalt! Dieser wird bei jedem Aufruf neu zusammengesetzt!
Verwenden Sie Apache Ant oder das Eclipse WTP-Plugin zur Steuerung Ihres Build-Prozesses!