Thema15_Ausarbeitung_Jakesevic

Werbung
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.
Herunterladen