Seminar:mobileGIS Verteilte Geoinformationssysteme Milan Jakesevic Betreuer: Dipl.Infor.Florian Wenzel Zusammenfassung Die rasante Entwicklung des Internets und deren Technologien hat es ermöglicht GIS für die Benutzer durch das Internet bereitzustellen. Der Benutzer ist in der Lage von seinem Client (Webbrowser) aus, auf Anfrage, unterschiedliche GIS Funktionalitäten die sich auf verschiednen Servern weltweit befinden, zu nutzen. In dieser Seminararbeit werden die unterschiede der traditionellen GIS zu den verteilten GIS erläutert. Es wird die Funktionalität der einzelnen Komponenten in der heterogenen Systemlandschaft beschrieben und verschiedene Architekturmodelle in den verteilten GIS vorgestellt. 1 Einführung Das Internet hat die Verbreitung und die Bereitstellung verschiedener Informationen in unserem alltäglichen Leben wesentlich erleichtert. Wo das Internet in seiner frühen Ära die Entstehung verschiedener Applikationen wie das Telnet, Newsgroup, E-mail und andere ermöglicht hat, erkannte auch die GIS Community die Vorteile des Internets und begann somit dieses für die Entwicklung des Internet – GIS zu nutzen (im weiteren wird die Bedeutung „verteilte GIS “ verwendet). Der Bedarf an raumbezogenen Daten ist in der letzen Zeit exponentiell gestiegen. Ziel und Sinn der verteilten GIS ist die Bereitstellung einer gemeinsamen Platform für Geodaten, Geoinformationen und Geodienste auf welche Benutzer von überall, wo es auch einen Internetzugriff gibt, zugreifen können. In der Literatur werden zum Begriff verteilte GIS als Synonym auch die Begriffe InternetGIS, Web GIS, Online GIS und andere verwendet. Kleine Unterschiede in den Begrifflichkeiten exisitieren. Der Begriff Internet GIS bezieht sich allgemein auf den Gebrauch des Internets und seiner Dienste um mit Geodaten zu interagieren, wobei der Begriff WebGIS auf die Nutzung der GIS die als einen Client den Webbrowser benutzen beschränkt ist. Das Web ist eines von vielen anderen Applikationen das auf dem Internet basiert. Dem GIS Benutzer wird es ermöglicht durch seinen Internet Browser auf Geoinformationsdaten zuzugreifen und verschiedene Funktionalitäten zu nutzen (z.b. räumliche Analysen), wobei diese bei unterschiedlichen Anbietern weltweit untergebracht sind. Im Unterschied zu klassichen GIS wo alle Daten, Software und die Anwendungen zentralisiert platziert sind, befinden sich diese bei den verteilten GIS heterogen auf verschiedenen Servern die miteinander interagieren. Der Nutzer muss nicht aktuallisierte Daten nachkaufen, wie es der Fall bei den klassichen GIS ist, da diese automatisch immer auf dem neusten Stand sind. Zudem ist auch der Auwand für das Bedienen und das Erlernen der Software viel geringer im Gegensatz zu den traditionellen GIS. 2 Bedeutung verteilter GIS Ein Verteiltes GIS ist ein heterogenes System bestehend aus unterschiedlichen Servern die miteinander mittels dem Internet kommunizieren und somit der Austausch von Geodaten, räumlicher Informationsverbreitung, verschiedener GIS Funktionalitäten und Analysen ermöglichen. Die Übertragung der Daten ist entweder über das Festnetz Internet oder dem mobilen (Wireless) Internet möglich. Verteilte GIS basieren allgemein auf dem Client/Server Prinzip die mittels dem TCP/IP Protokoll kommunizieren. Der Client sendet Anfragen an den Server, dieser bearbeitet diese und sendet die Ausgabe an den Client zurück. Die Clients können verschiedene Geräte sein wie Desktop PCs, Laptops, Handys oder PDAs und können, jenachdem welcher Client verwendet wird, mit verschiedenen Internet Protokollen interagieren wie z.b. FTP, HTTP , WAP und andere. Im Unterschied zu den klasisschen GIS, bei welchem der Benutzer mit der GIS Software über graphische Benutzerschnitstellen interagiert, wird dieses bei den verteilten GIS mittels dem „World Wide Web” realisiert. Die Hauptidee verteilter GIS besteht darin, dass der Benutzer mittels seinem Client (Web Browser) auf die verschiedenen Ressourcen durch das Internet zugreiffen kann. Mit den Ressourcen werden hierbei verschiedene Geodaten und Funktionskomponenten gemeint. Die Geodaten und Funktionen müssen nicht auf dem selben Server platziert sein, sie können sich unabhängig voneinander überall im Internet befinden. Sie müssen in der Lage sein miteinander zu kooperieren um auf Anfrage eine sinnvolle Aufgabe erfüllen zu können. Um die reibungslose Zusammenarbeit zwischen den verschiedenen Systemen und der einheitlichen Abspeicherung von geographischen Daten zu ermöglichen wurde von der OGC der GML (Geography Markup Language) Standard vorgeschlagen. Eines der grossen Vorteile verteilter GIS ist die Platformunabhängigkeit und Interporabilität [1]. Unterschiedliche Clients können, unabhängig von dem Betriebsystem und Hardwareplattform, auf verschiedene Ressourcen und Daten im verteilten GIS zugreifen. Ein besonderes Merkmal verteilter GIS ist die Ausführung von Operationen wie z.b. die Verschneidung verschiedener Informationsebenen. Da die verteilten GIS aus unterschiedlichen Komponenten bestehen, hat jede Komponente Ihre eigene Funktion. So kann beispielsweise ein Satelitenbild einer Strassenroute von einer Komponente aus den verteilten GIS entnommen werden und die Operation zur Überschneidung der Strassenroute mit Informationen zu Hotels und Restaurants, von einer anderen Komnponente[1]. Nach der allgemeinen Funktionsweise verteilter GIS wird hauptsätzlich zwischen der serverseitigen und clientseitigen Strategie unterschieden[2] . Bei der serverseitigen Strategie werden alle Anfragen und Operationen durch den Server bearbeitet. Die clientseitige Strategie gibt den Benutzer die Möglichkeit manche Operationen und Datenmanipulationen auf den eigenen Rechner auszuführen. 3 Zentralisierte GIS vs. Verteilte GIS Die GIS entwickelten sich parallel mit dem Fortschritt der Computer - und Internetechnologien. Somit wird heutzutage zwischen 3 unterschiedlichen GIS Technologien unterschieden: Mainframe (Grossrechner) GIS, Desktop GIS und verteilte GIS.[1] 2 Mainframe GIS Hierbei handelt es sich um GIS Anwendungen und Daten die alle auf einem Grossrechner untergebracht sind (Monolithisches System). Die Nutzer können auf diese per Dumb Terminal über das LAN zugreifen. Desktop GIS Die GIS Anwendung mit einer Benutzerschnitstelle ist auf dem Desktop PC installiert. Bei den Desktop GIS wird unterschieden zwischen: Stand Alone Desktop GIS: Alle GIS Daten und Funktionen befinden sich auf einem Rechner und es findet keine Kommunikation mit anderen Computern statt. LAN basiertes GIS: Im Unterschied zu den Stand-Alone Systemen, kommunizieren die Desktop PC’s bei dem LAN basierten GIS mit den Servern durch das LAN, die dann bestimmte Anfragen der Clients bearbeiten. Hierbei wird das Prinzip der zwei-Schichten Architektur verwendet. Verteilte GIS: Hauptunterschied zu den oben erwähnten GIS Systemen ist der, das die Benutzer keine GIS Software auf Ihren Computer installieren müssen. Die Benutzerschnitstelle wird durch den Web Browser repräsentiert wobei sich die Geodaten und Funktionen weltweit auf vernetzten Servern befinden. In diesem Sinne besteht in der Architektur verteilter GIS kein Unterschied zwischen einem Client und einem Server. Jeder GIS Knoten der Anfragen sendet um diese zu bearbeiten kann ein Client sein. So kann beispielsweise ein Server A eine Anfrage an einen anderen Servern B übergeben um diese für Ihn zu behandeln. Somit ist in diesen Fall der Server A der Client für den Server B. Es gibt zwei Typen von verteilten GIS: Internet GIS: Basiert auf dem Festnetz - Internet und die Clients sind üblicherweise Desktop und Laptop PC’s Mobiles GIS: Basiert auf dem drahtlosen Telekomunikationsnetz wobei die Clients durch Handys, Laptops oder PDA’s räpresentiert werden. In der Tabelle 1 wird der Vergleich der einzelnen GIS Typen dargestellt. GIS Systeme Architektur Modelle Clients Mainframe GIS Desktop GIS Verteilte GIS Internet GIS Mobiles GIS Monolitisch Client/Server (zwei-Schichten) Dumb Terminale Desktop PCs Web Client/Server (drei oder nSchichten ) Web Client Web Browswer, Java Beans und ActiveX controls GUI Client – Benutzerschnitstelle Netzwerk LAN LAN oder WAN Mainframe Applikations und Daten Server Einer Einer oder wenige Server Anzahl der Erreichbaren Server Internet Web Server, Applikations Server, GIS Server und Daten Server Tausend oder mehrere Wireless Client/Server (drei oder nSchichten) Wireless Geräte Minibrowser Wireless Netzwerk und das Internet Gateway Server, Web Server und GIS Server Tausend oder mehrere Tabelle 1: Vergleich der einzelnen GIS Typen [1] Anhand dieser Aufteilungen werden drei verschiedene Typen der GIS Architektur unterschieden[1]: Traditionelle GIS Systeme sind geschlossene und zentralisierte Systeme mit integriertem Interface, Logik und den Daten. Diese beziehen sich auf die Mainframe GIS und standalone Desktop GIS. Client/Server GIS Systeme basieren auf der Client/Server Architektur. Die Client Komponente ist getrennt von der Server Komponente und jeder Client kann zu einem bestimmten Zeitpunkt nur auf einen bestimmten Server zugreifen. Diese sind die LAN basierten Desktop GIS. Verteilte GIS Systeme basieren auf einem heterogenen Netzwerkshema ohne den Einschränkungen der traditionellen Client/Server Architektur. Wobei in der Client/Server GIS Architektur nur ein Client mit einem Server zur selben Zeit kommunizieren kann, ist bei der verteilten GIS Architektur eine mehrfach (many – to many ) Kommunikation zwischen den Servern zur selben Zeit möglich. Abb 1: 3 Typen der GIS Architekturen [1] 4 4 Haupkomponenten im Client/Server Architektur Modell verteilter GIS Generell gesehen, bestehen verteilte GIS, wie auch alle anderen Applikationen, aus 3 Hauptelementen und basieren auf der drei Schichten Architektur: Präsentation (Client Komponente), der Logik (Web und Applikationsserver, Mapserver und die verschiedenen Geodienste) und den Daten (SQL Datenbank). In der Abbildung 1 sind die Hauptkomponenten eines verteilten GIS dargestellt. Deren Funktionen wird in den folgenden Abschnitten näher erläutert [1]. Präsentation Logik Daten Client HTTP Client Web Server Aplication Server HTML, Images, Maps Map Server Data Server CGI Client Abb 2: Hauptkomponenten verteilter GIS [3] 4.1 Präsentationsebene Die Hauptfunktion der Präsentationsebene ist es dem Nutzer eine Interaktionsmöglichkeit bereitzustellen damit dieser mit den GIS entsprechende Funktionalitäten ausführen kann. Die wichtigsten sind [1]: Darstellung und die Visualisierung von Informationen (Karten, Tabellen, Texte u.s.w.) Rendern von Karten Informationsanfragen auf den Karten und Auswahl von features Bearbeiten von Geodaten auf dem Datenserver Der Client Der Client ist das Benutzerfrontend und reflektiert die bearbeiteten Geoinformationen die von entsprechnden Servern durch die Client - Anfragen (per HTTP Protokoll) generiert werden. Bei den verteilten GIS wird der Client durch einen Webbrowser mit den entsprechenden Add – Ons vertreten. Das Ergebniss einer Anfrage ist meistens eine automatisch fertig erstellte Karte. Die von den Nutzeranfragen generierten Karten können statisch und interaktiv sein . Die statischen Karten bestehen aus einfachen Graphiken im Rasterdatenformat (GIF,JPG,JPEG, PNG u.s.w.) und HTML verlinkten Karten wobei der Benutzer keine Möglichkeit hat mit diesen zu interagieren. Die interaktiven bieten dem Benutzer die Möglichkeit mit den Karten zu interagieren und diese zu beeinflussen (zoomen, auswahl von fetaures u.s.w.). Diese Form von Karten wird auch als clickable Maps genannt[1]. Um die Interaktivität ermöglichen zu können, müssen die Browser mit weiteren Funktionalitäten ausgestattet werden, den sogenannten interaktiven Clients [1]: Dynamisches HTML Ist eine clientseitige Scriptsprache wie JavaScript und ermöglicht beispielsweise das verändern von Farben und das Auftauchen von Texten wenn mit der Maus über ein bestimmtes Objekt gezeigt wird. Plug-ins Erweitern die Funktionalitäten im Web Browser so das der Nutzer Objekte selektieren kann um Anfragen durchzuführen wie z.b. Distanzmessungen, Map Rendering u.s.w.. Browser Plug-ins sind Platformabhängig. Java Applets Werden direkt vom Web Server heruntergeladen und zur Laufzeit auf dem Client Rechner ausgeführt. Java Applets sind ein alternativer Client im Webbrowser um die Interaktion mit den Karten zu erweitern (räumliche Anfragen, Map Rendering u.s.w.). Grosser Vorteil von Java Applets im Gegensatz zu den Browser Plug-ins ist die Platformunabhängigkeit. Active X Controls Können ähnliche Aufgaben wie Java Applets ausführen, sind jedoch stärker in den Anwendungen der Microsoft Umgebung verankert welche den Microsoft Object Linking und Embedding (OLE) standard unterstützen. 4.2 Logik - Ebene Die Hauptaufgabe der logischen Komponenten ist die Bearbeitung der Anfragen die vom Client definiert werden. Der Webserver, Applikationsserver (middleware Dienst) und der Mapserver sind die drei logischen Hauptkomponenten der verteilten GIS [1]. Webserver Dessen Hauptaufgabe ist es Client Anfragen entgegen zu nehmen um Sie dann eventuell an andere Server weiterzuleiten. Zudem muss er auch die Übertragung der HTML Dateien, Graphiken oder Programmiersprachen wie Javascript an den Browser des Clients gewährleisten. Die Kommunikation mit dem Client findet per HTTP Protokoll statt, weshalb der Webserver auch HTTP Server genannt wird. Der Webserver hat die Möglichkeit auf die Anfragen aus erster Quelle an den Client zurückzusenden oder die Anfragen an weitere Komponenten, wie den Mapserver, weiterzuleiten. Bezieht sich die Anfrage zu einem schon bestehenden HTML Dokument oder einer vorgefertigten Karte, so kann der Webserver diese direkt an den Client zurücksenden. Dies gilt auch für mobile Komponenten, wie Java Applets oder Active X Controls: 6 Anfragen über räumliche Daten oder Karten die der Webserver nicht bearbeiten kann, werden direkt an den Mapserver weitergegeben. Nachdem der Mapserver die Anfrage behandelt hat, wird das Resultat an den Webserver zurückgegeben. Dieser leitet das Resultat in einem angemessenen Format an den Client zurück. Mapserver Der Mapserver ist das Kernstück in den verteilten GIS und ist darauf spezialisiert Geodienste bereitzustellen wie die Ausführung von räumlichen Analysen (Pufferung, Verschneidung u.s.w.), interaktive und dynamische Visualisierung von Karten und andere wichtigen Geoinformationen und Funktionen. Die generierten Karten des Mapserver können auf dem Client entweder in Form eines Bildes (z.b. GIF, JPEG, PNG, TIG u.s.w. ) oder auf graphische Elemente basierende Karten wie z.b. skalierbare Vektorgrafiken, räpresentiert werden [1]. Wenn eine Anfrage an einen Webserver gerichtet wird, leitet dieser die Anfrage weiter zum Mapserver. Der Mapserver generiert aus den angeforderten Daten eine Karte. Diese Karte wird temporär zwischengespeichert und vom Webserver weiter an den Client gesentet. Die Basisfunktionen eines Mapserver können unter folgende Bereiche eintegeilt werden [2]: Visualisierung von Geodaten (Vektor und Rasterdaten) Navigation (Zoom und Pan Funktionenj) Abfragefunktion (Geometriedaten) Der Mapserver dient auch als eine Schnitstelle zwischen der Datenbank auf der Serverseite und dem Browser auf der Client Seite. Applikationsserver Die Kommunikation zwischen dem Web und Mapserver kann nicht direkt miteinander stattfinden da diese Server in unterschiedlichen Sprachen sprechen. Der Applikationsserver dient für die Herstellung der Verbindung zwischen den Web und Mapserver und für die Übersetzung der Ausgabe vom Mapserver in HTML damit diese weiter an den Webserver und anschliessend zum Client - Browser übergeben werden kann . Wenn der Web Server Anfragen an andere Server weiterleitet, werden Dienste vom Applikationsserver aufgerufen. Diese Dienste werden auch als middleware Services genannt. Middelware ist Software die unterschiedliche Applikationen miteinander verbindet und den Datenaustausch zwischen diesen ermöglicht. Weitere wichtigen Funktionen des Applikationsserver ist die Verwaltung von Transaktionen und gleichzeitigen Anfragen, Sicherheit und Lastenausgleich des Mapserver. Eine wichtige Komponente des Applikationsservers ist der Load Balance Service, welcher die Betriebsbelastung des Map und Datenservers überwacht und die jeweiligen Anfragen, basierend auf der bestehenden Betriebsbelastung, an diese verteilt. Es bestehen zwei Vorgehensweisen bei dem Load Balance Service: Process-per-Client und processsharing. Das Process-per-Client Modell ermöglicht es jeder Client Anfrage in einem eigenen seperaten Prozess behandelt zu werden. Somit wird eine gegenseitige Störung zwischen den Clientanfragen verhindert. Nachteil in dieser Vorgehensweise ist der grosse Speicherbedarf. Bei der process-sharing Vorgehensweise werden die Clientanfragen zu geteilten Server - Prozessen gebündelt, so dass schon bearbeitete Anfragen von anderen Clients wiederverwendet werden können. 4.3 Geoservices Die Geoservices sind wichtiger Bestandteil der Geodateninfrastruktur und ermöglichen den Zugang der Geodaten und Metadaten in standardisierter Form. Allgemein können die Dienste auf folgende unterteilt werden [4]: Suchdienste - Ermöglichen die Suche von Geodaten anhand deren Metadaten Darstellungsdienste - Dienen der graphischen Darstellung von Geodaten um mit denen navigieren zu können (zoomen, überlagern von Daten u.s.w.). Download-Dienste - Erlauben das herunterladen von Geodaten Transformationsdienste - Ermöglichen die Umwandlung von Geodaten in entsprechendes Raumbezugssystem Dienste zum Abrufen von Geodatendiensten Geoservices basieren auf Schnitstellen die vom OGC definiert wordern sind. Beispiele von solchen Services sind[1] und [4]: Web Coordinate Transformation Service (Raumbezugsdienst) Dieser Dienst wird verwendet um verschiedene räumliche Bezugsysteme in ein gemeinsames System mit einem einheitlichen Standard umzuwandeln. Der Spatial Reference Service befindet sich entweder auf dem Mapserver oder ist im Client integriert. Ist der Service im Mapserver untergebracht, so sendet der Client eine Anfrage bezüglich eines räumlichen Bezugsystems zum Mapserver, dieser führt die Umwandlung des räumlichen Bezugsystems in das beantragte System um, und sendet es schlieslich zum Client zurück. Wenn der Raumbezugsdienst sich im Client befindet, so können Daten von verschiedenen räumlichen Bezugsystemen empfangen werden, welche dann direkt im Client in eine einheitliche Form umgesetzt wird. Catalog Service for the Web (CSW) Ein Catalog Service ist ein “Informationslager“ welches Funktionalitäten zur Recherche, Verwaltung und zum Zugriff auf Metadaten und Geodaten bietet. Der Catalog Service ist ein wichtiger “Betreuer” dem Applikationsserver um die Anfragen an den richtigen Map und Datenserver weiterleiten zu können. Bei der Suche auf die verschiedenen Geoinformationen und Funktionen wird auf Metadaten zurückgegriffen welche als Unterstützung zur Suche auf Daten und Suchanfragen dienen. Die Metadaten werden meistens in XML beschrieben. Somit können die Benutzeranfragen in XML übertragen werden und die Suchergebnisse werden in XML übersetzt. Web Map Service (WMS) Befindet sich auf dem Map Server und generiert Karten anhand der vorhandenen Geodaten Web Feature Service (WFS) Stellt GML baiserte Daten bereit die in bestimmten Features gespeichert sind. Es können Sach und Geometriedaten zugeordnet werden Web Processing Service (WPS) Ermöglicht automatisierte Durchführung von Berechungen (Pufferung, Verschneidung) anhand der Geodaten. 8 Web Terrain Service (WTS) Ermöglicht 3D Visualisierung von Geodaten 4.4 Daten - Ebene Die Daten- Ebene bietet räumliche und nichträumliche Geodaten und wird üblicherweise durch den Datenbankserver repräsentiert. Der Mapserver oder Webclient greift auf diesen Daten per SQL Anfragen zu [1]. SQL Datenbank Server Es bestehen drei unterschiedliche SQL Datenbank Architekturen wobei jeder Anbieter die jeweilige Architektur adaptiert. Diese sind die process - per – client,multithreaded und hybride architektur. Process-per-client Bei dieser Architektur wird jede Anfrage in einem eigenen Prozess behandelt so das keine gegenseitige Störung zwischen den Clientanfragen möglich ist. Es ist das beste Modell wenn es um die Sicherheit der Datenbank geht. Ein Nachteil dieser Architektur ist die grosse Speicher und CPU Auslastung der Server. Diese Problematik kann durch den Einsatz von TP Monitoren umgangen werden. Beispiele für Datenbanken die mit dieser Architektur funktionieren, sind Informix, DB2 und Oracle 6. Client Prozess Server Client Prozess Datenbank Client Prozess Abb 3: Process-per-Client Architektur [1] Multithreaded Architektur Im Gegensatz zu der Process – per – Client Architektur, werden hierbei alle Client Anfragen in einem gemeinsamen Prozess behandelt so das keine Notwendigkeit besteht, mehrere gleiche Datenbankprogramme auf dem Server laufen zu lassen. Ein Vorteil dieser Architektur ist der geringerer Verbrauch der CPU und Speicherressourcen. Nachteil ist der mögliche gegenseitige Einfluss der einzelnen Clientanfragen insbesonders wenn die Anfragen einen grösseren Umfang haben. Sybase und Microsoft SQL sind Datenbanken welche auf Basis der Multithreaded Architektur betrieben werden. Client Server Client Multithreaded Prozess Datenbank Client Abb 4: Multithreaded Architektur [1] Hybride Architektur Die hybride Architektur kombiniert die process-per-client und multithreaded Architektur wobei die Vorteile dieser zwei Architekturen genutzt werden. Die Clientanfragen beinflussen sich nicht gegenseitig ohne dabei jede Anfrage in einem seperaten Prozess behandeln zu müssen. Die Architektur besteht haupsetzlich aus 3 Komponenten: Listener Programm, Dispatcher und den wiederverwendbaren und geteilten Prozessen. Die erste Komponente ist ein Multithreaded Prozess wobei die restlichen zwei die process – per – Client Architektur verwenden. Anfragen von mehreren Clients werden vom Listener Programm abgefangen und behandelt. Dieser leitet die Anfragen weiter an den Dispatcher. Der Dispatcher setzt die Anfragen in eine Warteschlange. Die Anfragen werden von der Datenbank entgegengenommen wo sie durch die wiederverwendbaren und geteilten Prozessen verarbeitet und zurück in die Warteschlange verlagert werden. Anschliessend wird das Resultat vom Dispatcher aus der Warteschlange übernommen, woraufhin dieser die bearbeitete Anfrage an den Client weiterleitet. Ein Nachteil bei dieser Architektur ist die Latenz der Warteschlangen. Dieses Problem wurde in der Oracle 8i und 9i gelöst. Client Server Prezess Prezess Client Listener Program Prozess Warteschlange Prozess Datenbank Prozess Prozess Client Abb 5: Hybride Architektur [1] Es stellt sich die Frage, welche Architektur sich bei den verteilten GIS am besten eignet. Dies hängt von der Anzahl und dem Umfang der Benutzer Anfragen ab. So ist beispielsweise die process – per – Client Architektur bei einer grossen Anzahl von Anfragen nicht geeignet wegen der grossen Auslastung der Ressourcen. Die Multithreaded Architektur eignet sich bei einer grossen Anzahl von Anfragen die aber vom Umfang kurz sind. Die unterschiedlichen Datenbankhersteller (Informix,Oracle, Microsoft, DB2 und andere) verwenden verschiedene Versionen von SQL. Wenn der Client beispielsweise Anfragen zu einem Oracle und einem Microsoft SQL Server senden möchte, bedarf es an einer 10 Datenbase Middelware welche die unterschiedlichen SQL Anfragen in ein gemeinsames Format umwandelt und somit auch die Kommunikation zwischen den unterschiedlichen Datenbanken ermöglicht wird. Eines der bekanntesten und am meist eingesetzten Database Middelware Software ist ODBC (Open Database Connectivity), JDBC (Java Database Connectivity) und ADO. 4.5 Hauptkomponenten des mobilen GIS Das mobile GIS weist eine ähnliche Struktur auf wie bei dem Festnetz basierenden Internet GIS. Hierbei werden als Clients mobile Geräte eingesetzt. Diese können Handys, PDA’s und Laptops sein. Ein weiterer Unterschied zu den Festnetz basierenden InternetGIS ist der, dass die Kommunikation des Clients mit den Servern über das drahtlose (Wireless) Netzwerk stattfindet. Dafür ist, ausser den üblichen Komponenten (Webserver, Applikationsserver, Map und Datenserver), ein Gateway Service notwendig. Der Gateway Server verbindet das mobile Gerät mit den Webserver und übersetzt die Benutzeranfragen in HTTP für den Webserver. Um die richtige Darstellung der Informationen auf dem mobilen Grät ermöglichen zu können, muss der Webserver auch WAP Inhalte unterstützen. Im vergleich zu den Desktop PC’s, haben die mobilen Geräte größere Einschränkungen bezüglich Rechenleistung, Bildschirmgrösse, Datenübertragung und der Interaktion mit dem Gerät (keine Maus vorhanden). So muss auch das Design des mobilen GIS entsprechend angepasst werden. Die Darstellung von Karten und Graphiken sind für größere Displays eher geeignet. Damit diese auch entsprechend auf den kleineren Displays angezeigt werden können, bedarf es an einer starken Vereinfachung der Karten. Dieser Prozess wird, wegen der beschränkten Rechenleistung des mobilen Geräts, serverseitig ausgeführt. Die Übertragung von Geodaten bedarf an größerer Bandbreite. Dies stellt eine weitere Herausforderung im mobilen GIS dar, da das drahtlose Netzwerk eine viel kleiner Bandbreite als das Festnetz aufweist und auch die Latenzzeit viel größer ist [1]. 5 Verteilte Softwarekomponenten in verteilten GIS Unter einer verteilten Komponente versteht sich ein ready-to-run Paket von Code das dynamisch in das vorhandene System geladen wird um dessen Funktionalität zu erweitern [1]. Das sind beispielsweise Java Applets, Active X Controls und weitere Plug- In Funktionen für den Web Browser. Die Softwarekomponenten in den verteilten GIS sind modular aufgebaut und werden am besten durch die Metapher der LEGO Blöcke erklärt . Lego Blöcke können miteinander gekoppelt, umgeordnet und abgebaut werden damit die einzelnen Blöcke auch eine funktionale und sinnvolle Einheit bilden. Analog dazu werden auch die einzelnen Softwarekomponenten in den verteilten GIS dynamisch miteinander gekoppelt um eine entsprechende GIS Funktionalität dem Benutzer bieten zu können. Das dynamisch erzeugte Softwaremodul besteht dann nur so lange bis die entsprechende GIS Funktionalität ausgeführt wurde, nachdem sich die Komponenten dann wieder dynamisch zerlegen. Im unteren Bild (Abb.5.1) ist ein Beispiel dargestellt das aus einer Map Display Komponente besteht die beispielsweise in einem Textverarbeitungsprogramm, das aus verschiedenen verteilten Komnponenten besteht (GUI, Grammatiküberprüfung), verwendet werden kann. Die Map Display Komponente kann auch dynamisch durch zusätzliche Komponenten (Symbol Display Component) erweitert werden. Fonts and Format Control Spelling Check Component Map Display Component Projection Control Component GUI Component Vector Display Component Symbol Display Component Print Priview Component Word processor Map display Component Abb 6: Nach dem LEGO Prinzip basierendes Komponentenmodell [1] Damit die Softwarekomponenten auch dynamisch und modular in den verteilten GIS nach dem LEGO Prinzip konstruiert werden können, sind folgende vier fundamentale Komponenten notwendig [1, Kap. 5.2].: Viewers and Editors Der Viewer ermöglicht es dem Benutzer mit den Karten zu interagieren und diese ansehehen zu können. Der Editor bietet die Möglichkeit Daten zu bearbeiten und diese in der Datenbank abzuspeichern. Catalogs Der Katalog ist eine informationsmanagement Komponente die es anhand einer Suchfunktion ermöglicht nach Metadaten zu suchen. Die Metadaten enthalten Informationen über andere Daten und werden in den Katalogen abgespeichert. Repositories In den Repositories werden Daten oder Items angesammelt welche mit einem Namen assoziert sind.Namen beziehen sich zu Daten und Operatoren. Repositories dienen hauptsätzlich zur Verwaltung von indizien um items nach ihren Namen oder anderen Attributen schneller finden zu können. Operators Diese führen Operationen mit Daten durch und generieren anhand der Benutzeranfrage ein Resultat. Die klassichen Operatoren sind Verschneidungen und Überlappungen von Schichten, Pufferung, Netzwerk analysen und andere. 6 Architekturmodelle in verteilten GIS Die Architekturmodelle beschreiben die Funktion und den Zusammenhang zwischen den einzelnen Komponenten, deren Abhängigkeiten und den Datenfluss zwischen diesen. Im folgenden werden drei Architekturmodelle vorgestellt: Distributed Web mapping Architektur, restricted client/Server GIS und die open distributed GIS Architektur [1]. 6.1 Distributed Web mapping Architektur Diese Architektur wurde von der OGC vorgeschlagen und ermöglicht dem Benutzer durch seinen Webbrowser nach Geodaten, die in einer heterogenen Systemlandschaft untergebracht sind, zu suchen, mit diesen zu interagieren und zu manipulieren. Wie in der 12 Abbildung 6 zu sehen ist, interagiert der Benutzer mit der Viewer & Editor Komponente. Dem Benutzer stehen somit folgende Möglichkeiten zur Verfügung. Daten Suchen Durch die Catalog Komponente, die Metadaten enthält, kann der Benutzer nach Geodaten suchen. Die Metadaten leiten die Suchanfrage zu der Repository Komponente welche die Anfrage weiter zu der spezifischen Datenquelle übermittelt. Falls es sich bei der Anfrage beispielsweise um eine Koordinaten Transformation handelt, wird die Anfrage von den Metadaten weiter an die Operators Komponente weitergeleitet wo die Operation ausgeführt wird. Operationen hervorrufen Operationen wie map rendering, räumliche analyse, Bildverarbeitung und andere, können direkt von der Viewer&Editor Komponente hervorgerrufen werden. Daten abrufen und bearbeiten Der Editor Client ermöglicht es dem Benutzer neue Metadaten zu erzeugen, abzurufen und diese zu bearbeiten um sie anschliesslich für den weiteren Gebrauch abzuspeichern. Dem Benutzer steht auch die Option zu Verfügung um Namen in der Repository ablegen zu können um anhand dieser gezielt Daten und Operatoren identifizieren zu können. Beziehungen herstellen Der Benutzer kann Beziehungen herstellen um Namen auf Daten und Operatoren in der Repository zu verweisen. Viewers & editors Search Catalog Services Construct Catalogs Relationships Contain Store & Retreive Point to Invoke Web Map Server Coord.Trans Hold Operators Create Metadaten Describe Repositories Names Hold Daten Simple features Grid Coverages Abb 7 Distributed Web Mapping Architektur [1] 6.2 Restricted Distributed GIS Architektur Im Gegensatz zu dem oben beschriebenen Modell, ist diese Architektur auf eine kleinere Anzahl von Servern beschränkt, d.h. der Client hat seinen eigenen Webserver, Applikationsserver, ein oder mehrere Map – und Datenserver und kommuniziert dabei nicht mit anderen Komponenten durch das Internet. Dieses single-server System ist nicht geeignet für eine grosse Anzahl von Benutzeranfragen. Ein weiterer Nachteil dieses Modells ist die fehlende Redundanz, d.h. falls ein Server ausfällt so ist das ganze System nicht funktionsfähig. Diese Problematik kann mit einem multiserver System umgangen werden indem mehrere Map und Datanserver integriert werden. Dieses Multiserver System enthält, wie in Kapitel 4.1 beschrieben, einen Catalog Service, Daten Repository und einen Load Balance Service. Es gibt zwei Modelle wie ein multiserver System aufgebaut werden kann: Distributed Server System und mirrored Server System. Das Distributed Server System baut auf dem gleichen Prinzip wie die verteilten GIS im Internet. Es besteht aus mehreren Mapservern die unterschiedliche Funktionen enthalten und mehreren Datenservern bei denen verschiedene Dateneinheiten untergebracht sind. Bei einem solchen System ist der Wartungsaufwand relativ gering, doch es ist immer noch nicht Redundant, da beispielsweise durch den Ausfall eines Mapserver das ganze System beeinträchtigt wird. Client Map Server 1 Function 1 Client Web Server Client Application Server (with Catalog & Load Balance Service) Map Server 2 Function 2 Data Server 1 Dataset 1 Data Repository Map Server n Function n Data Server 2 Dataset 2 Data Server n Dataset n Abb 8: Distributed Server Architektur [1] Wenn es um grössere Redundanz geht, dann ist das mirrored System gut geeignet. Dieses besteht aus den gleichen Komponenten wie in der Distributed Server Architektur nur sind hierbei die Map und Datenserver redundant ausgelegt und haben die Funktionalität eines Backupservers. Mit diesem Modell wird das Problem der Redundanz gelösst, doch es bedarf an grösseren Wartungsaufwand als bei der Distributed Server Architektur. 14 Client Map Server 1 Function 1 Data Server 1 All Data Client Web Server Application Server Map Server 2 Function 1 Data Repository Map Server n Function n Client Data Server 2 All Data Data Server n All Data Abb 9: Mirrored System [1] 6.3 Open Distributed GIS Architektur Hierbei handelt es sich um die eigentliche Architektur der verteilten GIS die die Vorteile des Internets nutzen um auf Resourcen weltweit zugreifen zu können. Im unterschied zu den oben zwei beschriebenen Architekturen, kommuniziert der Client hierbei mit mehreren Webservern,Applikationsservern, Map und – Datenservern. Die einzelnen Systeme werden von unterschiedlichen GIS Anbietern betrieben wobei deren Server mit einem standardisierten Protokoll miteinander kommunizieren. Beispielsweise möchte man mithilfe des GIS den Bau eines Industriegebäudes auf einer freien Fläche plannen, so können Informationen zum Stassenverkehr, Anschlüsse zur Bahn und Landstrassen von GIS Anbieter A kommen, Informationen über das Hochwasser von Anbieter B, Satelitenbilder von Anbieter C und Berechnungen wie Abstände zwischen Wohn und Mischgebieten von GIS Anbieter D. Die erhaltenen Daten können dann auf einem Client angezeigt werden. Um auch den Austausch und die Nutzung der Geodaten zu garantieren, ist eine hohe Dateninterporabilität erforderlich. Dies wird mit einem einheitlichen Format, wie der GML, erzielt. Ein besonderes Merkmal eines solchen Systems ist Skalierbarkeit, d.h. es ist in der Lage sich dynasmisch auf Änderungen und das hinzufügen neuer Systemkomponenten anzupassen. Dies bezieht sich sowohl auf die Präsentationsebene, Logik sowie auch die Datenebene. Abb 10: Open Distributed GIS Architektur [1] 7 Zusammenfassung In dieser Seminararbeit wurde die allgemine Funktionsweise und das generelle Framework verteilter GIS beschrieben. Der zukünftige Fortschritt des Internets und deren Technologien wird sich auch weiterhin auf die Entwicklung der GIS Technologien reflektieren. Dies bezieht sich insbesondere auf die verteilten GIS Komponenten, Webdienste, Open Source Software und andere Elemente. Verteilte GIS haben die Entstehung verschiedender GIS Anwendungen ermöglicht wie beispielsweise das Inteligent Transportation System, Location Based Services, Geospatial Information Dissemination und viele andere. Eines der wohl bekanntesten InternetGIS Anwendungen ist Google Maps. Weiterhin finden die zahlreichen Applikationen verteilter GIS in verschiedenen Bereichen der Gesellschaft, Wirtschaft und in userem alltäglichen Leben Anwendung. Wichtige Vorteile verteilter GIS ist die unabhängigkeit der Komponenten von Betriebssystem, Hardware, Verkäufern und der Anwendungen. Zudem brauchen die Nutzer keine teuere GIS Software kaufen und sich nicht nur auf eine Software festlegen. 16 8 Literatur [1] Zhong – Ren Peng, Ming Hsiang Tsou, Michael F. Goodchild: GIS, InternetGIS, and distributed GIS Services, S.1-33, S.207-237. [2] Christian Fürpaß, Mapserver als Hilfsmittel zur Datenvisualisierung im Internet, http://www.carto.net/papers/christian_fuerpass/diplomarbeit-fuerpass.pdf, Besucht am 20.05.2011. [3] AA.Alesheik, H.Helali, HA.Behroz, WebGIS Technologies and Its Applications, http://www.carto.net/papers/christian_fuerpass/diplomarbeit-fuerpass.pdf, Besucht am 10.06.2011. [4] Michael Nolde, Rainer Duttmann, Michael Blaschek, Geodateninfrastrukturen und Ihre Anwendung in der Praxis, 2010. Ulrike Klein, Erklärung Hiermit erkläre ich, Milan Jakesevic, dass ich die vorliegende Arbeit selbständig verfasst und keine anderen Hilfsmittel als die angegebenen verwendet habe. Die Stellen der Arbeit, die anderen Werken dem Wortlaut oder dem Sinn nach entnommen sind, wurden in jedem Fall unter Angabe der Quelle kenntlich gemacht.