Mitarbeiter
Softwareprojekt Web Services für ein Touristeninformationssystem
Bearbeitungszeitraum: WS 2006/2007
Projekt im Bachelorstudium
2 parallele Projektgruppen für je 3 Teilaufgaben (insgesamt 16 Teilnehmer)
Aufgabenstellung
Ziel war es, die Basisfunktionalität eines Touristeninformationssystems gemäß der Beschreibung des Forschungsgebiets herzustellen. Im Vordergrund stand die Implementierung einer SOA mit Hilfe von Web-Service-Standards. Die flexible Einbindung von Informationsanbietern wie in der Beschreibung des Forschungsgebiets gefordert war nicht Realisierungsgegenstand.
Grundlage dieses Projekts war das Grobkonzept für den Tourenplaner eines Touristeninformationssystems, das in den Jahren 1999 - 2001
bei DaimlerChrysler durch eine Implementierung auf dem damaligen Stand der Technik realisiert wurde.
Das Grobkonzept und eine dazugehörige XML-Spezifikation der Ontologien sind auf dem Handout-Server erhältlich (nur für Studierende und Mitarbeiter der FH Wedel). Im Unterschied zu den damaligen Projekt waren wesentliche Teile dieses Grobkonzepts mit Hilfe von Web Services zu realisieren.
Im einzelnen gab es drei voneinander unabhängige Teilprojekte:
Teilprojekt 1: Routing (Realisierung eines TourScheduling- und TripPlanning-Agenten mit Routeninformationsanbindung)
Teilprojekt 2: Tourist-GUI (Bedienungsoberfläche für Touristen)
Teilprojekt 3: Bereitstellung der touristischen Information (Realisierung eines vermittelnden Recommendation-Agenten mit einigen (mindestens 2 verschiedenen) daran angebundenen Content-Agenten, die unterschiedliche Ontologien benutzten. Auch ein zugehöriger Ontologieagent musste erstellt werden.)
Für alle Teilprojekte galt:
1) Die Anwendungsdomäne für die tatsächlich realisierten touristischen Inhalte war die Stadt Hamburg.
2) Die Schnittstellen zu den Agenten anderer Teilprojekte mussten gemäß der Spezifikation des Grobkonzepts realisiert werden (als WebServices).
3) Die im Grobkonzept definierte Ontologie war syntaktisch (in der XML-Variante) und semantisch strikt einzuhalten, ebenso die Web-Service-Standards.
Zulässige Vereinfachungen der Aufgabenstellung aus Gründen der Machbarkeit:
1) Die Anbindung an ein mobiles Gerät (PDA) wurde nicht berücksichtigt (auch nicht die Schnittstellen).
2) Die konkreten Content-Provider lieferten eine stark eingeschränkte Information: Der Tripplaner beschränkte sich auf die Webanbindung des HVV durch Geofox, und für die Content-Server gab es per Hand editierte Datenbanken oder Dateien, die eine Web-Service-Schnittstelle hatten.
3) Die Tourist-GUI hatte keine direkte Verbindung zum Ontologie-Agenten und konnte daher nicht individuell konfiguriert werden.
4) Die Erstellung von einem Mehrwertdienst durch den vermittelnden Recommendation-Agenten war nicht erforderlich. Der Recommendation-Agent musste aber in der Lage sein, Dienste beliebiger Content-Agenten zu vermitteln.
5) Die Ontologien wurden nur durch eine Sprache (Deutsch) unterstützt. Mehrsprachigkeit gemäß dem Konzept war aber vorzusehen.
Ergebnisse
Es wurden 2 verschiedene Lösungen realisiert, wobei Teilprojekt 1 jeweils zweifach mit verschiedenen Teillösungen realisiert wurden, die vom Benutzer ausgewählt werden konnte.
Die erste Lösung arbeitete mit derselben Programmiersprache Java und setzte größtenteils Axis als Web-Service-Generierer ein. Die zweite Lösung arbeitete mit verschiedenen Programmiersprachen und setzte größtenteils proprietäre Schnittstellen ein. Beide Lösungen konnten erfolgreich vorgeführt werden. Sie liefen aber nur auf speziell konfigurierten Servern und können der Nachwelt daher nicht im Web angeboten werden.
Die jeweils vorgeführte Lösung ermöglichte es für einen Anwender, sich eine Tour aus angebotenen Besichtigungszielen zusammenzustellen und zu einer Gesamtfahrt verbinden zu lassen.
Projektgruppe 1:
Teilprojekt 1: Benedikt Westphal, Slah Garbi (Java)
Teilprojekt 1: Sven Urbanski, Melanie Storm (Java)
Teilprojekt 2: Kai Burjack, Martin Stoev (Java)
Teilprojekt 3: Patrick Kamin, Matthias Kleinschmidt (Java)
Projektgruppe 2:
Teilprojekt 1: Martin Vollsen, Mirco Schenkel (PHP)
Teilprojekt 1: Sebastian Schröder, Tobias Baumann (PHP)
Teilprojekt 2: Nikolaus Stoll, Daniel Jarosch (Java)
Teilprojekt 3: Arne Mohr, Steffen Rüther (C#)