Ein standortbasiertes Immobilien- Informationssystem für das mobile Internet Georg RAUSCHER Dieser Beitrag wurde nach Begutachtung durch das Programmkomitee als reviewed paper angenommen. Zusammenfassung Das mobile Internet der dritten Generation wird eine neue Dimension von Anwendungen möglich machen, die über das Telefonieren hinausgehen. Standortbasierte Dienste werden dabei eine wichtige Rolle spielen. Diese Arbeit entwickelt ein standortbasiertes Immobilien- Informationssystem, das auch für das statische Internet zu verwenden sein wird. Die zur Entwicklung notwendige Software wird ausschließlich aus der Open Source-Gemeinde entnommen. Das ermöglicht eine flexible Programmierung, die weder auf Betriebssysteme noch auf bestimmte Datenbankmanagementsysteme Rücksicht nehmen muss. 1 Die Einleitung Das Internet ist ein schnell wachsendes Informationsmedium. Die Empfangsgeräte für diese Informationen sind nicht nur mehr auf fixierte Computer beschränkt. Das mobile Internet und deren Endgeräte, wie Mobiltelefone und PDAs (Personal Digital Assistants) finden immer weitere Verbreitung. Methoden und Techniken der Darstellung von räumlichen Inhalten sind ebenfalls einem schnellen Wandel der Möglichkeiten unterworfen. Mobiltelefonie der dritten Generation (3G) bieten neue Darstellungsformen und Nutzungsmöglichkeiten für die Geowissenschaften und die Wirtschaft. Karten können mit dynamischen Inhalten für das mobile Internet verfügbar gemacht werden, wobei 3G-Telefone durch Farbdisplays und gesteigerte Datenübertragungsraten eine aussagekräftige Darstellung erlauben. Eine weitere Steigerung ist das Hinzufügen von standortbasierten Komponenten. Die bloße Darstellung von räumlichen Inhalten wird nun mit der augenblicklichen Position des Abfragers der Information verknüpft. Diese Arbeit verfolgt die Entwicklung eines standortbasierten Immobiliendienstes für 3G-Mobiltelefone. Die grundsätzlichen Anforderungen an das Informationssystem sind: Standortbasierte Informationsgewinnung, Verwendung einer reinen Open Source-Entwicklungsumgebung, Programmierung in Java, Plattformunabhängigkeit im Sinne der Endbenutzerschnittstellen, Datenbankunabhängigkeit im Sinne der vom Content Provider benutzten Datenbank- Systeme, Zugriff auf beliebig viele Immobiliendatenbanken.
Ein standortbasiertes Immobilien-Informationssystem für das mobile Internet 563 Der Sinn dieser Bedingungen liegt vor allem im Bemühen, ein Produkt zu schaffen, das möglichst flexibel ist und unabhängig von irgendwelchen Softwareherstellern bleiben kann. Das beste und teuerste Informationssystem nützt recht wenig, wenn es auf den meisten Internetservern gar nicht läuft. Die flexible Programmierung, durch die Verwendung der Programmiersprache Java gewährleistet, bezieht sich auch auf die Datenbankunabhängigkeit des Produkts. Nahezu jede relationale Datenbank wird unterstützt. In weiterer Folge wird das Produkt anhand eines Location Based Service der Immobilienbranche vorgestellt, wobei die verschiedenen Endgeräte austauschbar sind. Der Kern der Programmierung bleibt der gleiche, nur die Ausgabe der Ergebnisse muss an das jeweilige Gerät angepasst werden. 2 Die Software Das Zusammenspiel der verschiedenen Softwarekomponenten soll anhand der Architektur des Immobilien Informationssystems (IMIS) in Abbildung 1 vorgestellt werden: Abb. 1: Die Architektur des IMIS 2.1 Die Clientkomponente Der Client kann ein Mobiltelefon sein (WAP, GPRS, Java oder XHTML fähig) oder ein herkömmlicher Web Browser. Eine spezielle Programmierung des Clients ist nicht notwendig, da jede Funktionalität am Server implementiert ist. Allein die grafische Gestaltung der Benutzeroberfläche hat eine Bedeutung.
564 G. Rauscher 2.2 Die Serverkomponente Der erste Schritt der serverseitigen Aktivität ist das Lokalisieren des Benutzers. Das kann auf mehrere Arten geschehen. Der Kunde kann seine Adresse in einem Browser eingeben, und eine Adressdatenbank liefert die gewünschten Koordinaten, oder das Mobiltelefon wird mittels GPS oder anderer Verfahren geortet. Das Ergebnis ist eine Koordinate des Benutzers. Diese wird mit fachspezifischen Eingaben des Users (gewünschte Größe der Immobilie, Zimmeranzahl, Radius um den gegenwärtigen Standpunkt etc.) an den Server geschickt. Der Server ist ein Apache Web Server mit einem Apache Tomcat Java Applikationsserver. Auf diesem läuft ein Java Servlet (d.h. ein Programm, das Benutzereingaben verarbeitet und Datenbankabfragen durchführt), das aus den Eingaben SQL (Structured Query Language) Statements generiert. Diese Statements sind so flexibel und generisch geschrieben, dass sie sich an die verschiedenen Datenbanken und Zugangsdaten der verschiedenen Teilnehmer des IMIS (eine beliebige Anzahl von Immobilienbüros mit unterschiedlichsten Datenbanken) anpassen. Die Abfrage auf diese Datenbanken wird mit dem Java Framework JDBC (Java Database Connectivity) durchgeführt. Die passenden Immobilien der einzelnen Anbieter werden on-the-fly in XML transformiert und kommen unmittelbar in einem File zurück an den Server. 2.3 Die Präsentationskomponente XML (Extensible Markup Language) ist ein standardisiertes Datenbeschreibungsformat und somit existieren eine Vielzahl von Open Source-Projekten zur XML-Verarbeitung. Das IMIS verwendet zum Einlesen in Java das Framework JDOM (Java Document Object Model) und zur Transformation in präsentierbare Formate XSLT (Extensible Stylesheet Language Transformations). Beides sind Unterprojekte der XML-Open-Source-Unternehmungen von Apache. Erst an dieser Stelle beginnt sich die Programmierung für verschiedene Clientgeräte zu unterscheiden. Je nach Mobiltelefon oder Browser muss eine andere XSLT- Vorlage verwendet werden, um die gefundenen Immobilien zunächst einmal textuell darstellen zu können. 2.4 Die Mapserverkomponente Das Erstellen der Karte wird von einem Open Source-Mapserver der University of Minnesota übernommen. Dazu wird am Server, nach der Auswahl des anzuzeigenden Objektes, ein Mapserver-Konfigurationsfile aus Java erstellt. Dieses File informiert den Mapserver was genau er wie darzustellen hat. Die betreffende Datei ist für jeden Benutzer je nach Session-ID einzigartig und wird nach Beendigung der Session gelöscht bzw. historisiert. Der Mapserver schneidet nach den Vorgaben des Konfigurationsfiles einen Ausschnitt aus den Geodaten (Arc View Shape Files oder Oracle Spatial Daten), konvertiert diesen in eine GIF- oder PNG-Grafik und stellt sie dar. Zur Standardfunktionalität des Servers gehören: Zoom In und Zoom Out, Zoom Box, Pan, Interaktive Maßstabseingabe.
Ein standortbasiertes Immobilien-Informationssystem für das mobile Internet 565 Eine weitere Möglichkeit, die Mapserverkomponente im IMIS zu betreiben, ist die Verwendung des Open Source Java GIS Frameworks Geotools. Der Mapserver ist in diesem Fall in ein Java Servlet eingebettet und verarbeitet die Kartenausschnittsanfragen direkt im Java Code. Die oben genannte Standardfunktionalität wird ebenfalls unterstützt, darüber hinaus bietet dieses Framework weitreichende Möglichkeiten, wie etwa das Onlineeinzeichnen von Geometrien am Client. Das ist vor allem für die Browser Variante des IMIS interessant, da am Browser beispielsweise Einzugsbereiche oder Wegstrecken des Anwenders zur Visualisierung eingezeichnet werden können. 3 Der Prototyp Nachfolgend soll ein Prototyp des IMIS anhand der Benutzerführung eines Anwenders vorgestellt werden. Das Endgerät dieses Benutzers ist ein XHTML-fähiges UMTS Mobiltelefon. Dazu ein Beispiel: Ein Mobiltelefonkunde beschließt, eine Wohnung zu kaufen. Er sieht sich in der Stadt nach einer geeigneten Umgebung um. Um zu überprüfen, ob in den jeweiligen Gegenden freie Objekte zur Verfügung stehen, kann er das IMIS verwenden. In der Eingabemaske des Systems werden alle relevanten Daten zur gewünschten Immobilie eingegeben. Die Abbildungen 2 und 3 zeigen das Startinterface des Informationssystems. Nachdem der Benutzer mittels der Nummerntasten eingegeben hat, werden die Daten mit der augenblicklichen Position, die aus der davon unabhängigen Verortung des Users gewonnen wird, an den Server geschickt. Abb. 2 und 3: Die Eingabemaske des IMIS
566 G. Rauscher Abb. 4 und 5: Automatisch generierte Servlet-Antwortseite Der erste Schritt der Auswahl der Immobilie ist ein Schwachpunkt des IMIS. Grund dafür sind die unausgereiften Eingabemöglichkeiten auf Mobiltelefonen. Das Farbdisplay des Gerätes ist nicht sehr groß und die Tasten lassen außerdem keine schnelle Benutzerführung zu. Eine Lösung dieses Problems ist allerdings in Sicht, da alle führenden Hersteller von mobilen Endgeräten an diesem Problem arbeiten. Erste Typen mit aufklappbaren Tastaturen sind bereits seit längerem erhältlich. Die Übertragung der Daten an den Server erfolgt mit dem HTTP-Protokoll des Internets, was auch Fragen der Sicherheit dieser Anwendung beantwortet, da das Verwenden des verschlüsselten HTTPS-Protokoll auch in diesem Fall anwendbar ist und etwaige Eingaben von persönlichen Daten, Passwörtern oder Kreditkartennummern somit genauso sicher oder unsicher sind wie im normalen Internet. Der Server verarbeitet die erhaltenen Informationen und generiert über die bereits vorgestellten Wege eine textuelle Antwortseite, die alle Immobilien auflistet, welche den Kriterien entsprechen. Die Abbildungen 4 und 5 zeigten diese Antwortseiten. Nachdem der Benutzer sich für ein Objekt entschieden hat, werden die entsprechenden Daten an den Mapserver gesandt, der daraus eine Ergebnisseite generiert. Die Abbildungen 6 und 7 zeigen diese Antwortseite genauso wie eine ebenfalls servergenerierte Informationsseite, welche auf nun anfallende Kosten aufmerksam macht. Der Kunde hat nun den genauen Ort der gewünschten Immobilie relativ zu seiner augenblicklichen Position ausgewählt. Abschließend noch ein paar Worte zur Performance des Systems. Die meisten Teile der Applikation wurden mit dem Java Unit Testing Framework JUNIT hinsichtlich der Belastbarkeit der Serverkomponenten und der Robustheit des geschriebenen Codes getestet und haben dabei zufriedenstellend abgeschnitten. Das heißt, dass die serverseitigen Komponenten des IMIS während der Tests stets die erwarteten und vorher festgelegten Ergebnisse gebracht haben. Des Weiteren wurden Stresstests mit JMeter, einem Lastentesttool von Apache, durchgeführt. Die Serverkomponenten wurden hier mit 100-150 simulierten Benut-
Ein standortbasiertes Immobilien-Informationssystem für das mobile Internet 567 zerzugriffen belastet und haben trotzdem keine Abstürze oder Fehlleistungen produziert. Die Server von Apache, welche in dieser Applikation verwendet wurden, haben sich ohnehin schon weltweit bewährt. Abb. 6 und 7: Die Info und Ergebnisseite des IMIS Das Ziel der Diplomarbeit war es, ein standortbasiertes GIS für Mobiltelefone ausschließlich mit Open Source-Software und Java zu programmieren. Die dazu verwendete Software ist unter den folgenden Adressen verfügbar: Apache Web Server: http://www.apache.org Apache Tomcat: http://jakarta.apache.org Java 2 Standard Edition: http://java.sun.com/j2se Java 2 Enterprise Edition: http://java.sun.com/j2ee JDOM: http://www.jdom.org UMN Mapserver: http://umn.mapserver.edu XSLT: http://xml.apache.org Literatur RAUSCHER, G. (2003): Ein standortbasiertes Immobilien Informationssystem für das mobile Internet. Diplomarbeit, Abteilung für Wirtschaftsgeographie und Geoinformatik, Wirtschaftsuniversität Wien sowie Institut für Geographie und Regionalforschung, Universität Wien