Internet GIS (Webserver und ArcIMS)
Download
Report
Transcript Internet GIS (Webserver und ArcIMS)
Interaktive Karten im Internet
Technische Infrastruktur
(Webserver und ArcIMS)
Vortrag von
Markus Tondorf
Inhalt
Webserver
ArcIMS Internet Map Server
Statische Seiten
Dynamische Seiten
Hersteller von Web-Servern, Vergleich
Komponenten und Tools auf Serverseite
Komponenten auf Clientseite
ArcXML
Vorstellung der Gruppe Technik
Webserver
Entstehung des WWW 1989 am CERN
System zum einfachen „browsen“ in vorhandenen
Dokumenten
Zunächst nur statische Seiten
Interaktion zwischen Surfer und Web-Server
Dynamische Erstellung von Webseiten
z.B. aus Datenbanken
Entwicklung neuer Technologien
CGI, PHP, Servlets, JSP und Active Server Pages
CGI
„Common Gateway Interface“
Grundgedanke: Web-Server ruft ein beliebiges
ausführbares Programm auf
Jede Programmiersprache möglich
Anwendungsbeispiele:
In der Regel wird ein Perl-Script benutzt.
Gästebücher, Pinwände, Counter, Chats usw.
Nachteil:
Langsame Ausführungsgeschwindigkeit.
CGI-Programm muß immer wieder neu geladen
werden.
PHP
„Hypertext Preprocessor“
Entstanden aus einer Sammlung von Makros von
Rasmus Lerdorf (1995) die er
„Personal Homepage Tools“ nannte
Wenig Aufwand bei der Erstellung dynamischer
Webseiten
Serverseitige in den HTML-Code eingebettete
Scriptsprache
Client erhält nie den eigentlichen Scriptcode
Breite Unterstützung von SQL-Datenbanken
Syntax ähnlich zu C
ASP „Active Server Pages“
Von Microsoft entwickelt
Scripte in HTML-Seiten (Endung .ASP)
Werden bei Aufruf der Seite ausgeführt
Ergebnis wird in die Seite integriert
Prinzipiell jede beliebige Scriptsprache möglich
Einbindung von ActiveX (COM) Objekten
<html>
<head><title>Testseite</title> </head>
<script RUNAT="Server" language="JScript">
var now = new Date();
var today= now.toLocaleString();
</script>
<body>
Die Server-Zeit:
<% Response.Write( today) %>
Uhr.
</body> </html>
Servlet
Unterschied Applet - Servlet
Servlet bleibt nach dem ersten Aufruf geladen.
Daher wesentlich schneller als z.B. CGI-Scripts.
3 verschiedene Möglichkeiten
Java-Applet auf Client (Browser)
Java-Servlet auf Server
Wie ein CGI-Script. Bietet sich bei der Umstellung bereits
bestehender Seiten an.
SSI (Server Side Include): Anweisung innerhalb der HTMLSeiten (ähnlich zu PHP)
Servlet Alias: Zugriff eines Clients wird die Ausführung eines
Servlets zugeordnet
Hohe Geschwindigkeit, da kein AWT (Abstract
Windowing Toolkit) benötigt wird
JSP „Java Server Pages“
Erweiterung der Servlet Technologie
Trennung von Benutzerinterface und
Seitengenerierung
JSP-Scripts werden in Servlets übersetzt
Automatisches Session Managment durch Cookies
Kommunikation über Tags ähnlich zu XML
Tags können frei definiert werden
Beispielanwendung für JSP
1.
2.
3.
JSP liest XML-Daten
StyleSheet wird angewendet
Ausgabe im angeforderten Client-Format
Unterschiede JSP und ASP
JSP
Setzt auf Servlets auf
Plattformunabhängig
Jeder Webserver
z.Z. Apache, Netscape, IIS
Java Programmiersprache
Frei definierbare Tags
Datenbank: JDBC, ODBC
Java Beans
ASP
Setzt auf ActiveX auf
Nur unter Windows
Nur IIS oder Personal
Webserver
Microsoft JScript oder VBScript
Vorgegebene Tags
Datenbank: ODBC
COM-Objekte
Web-Server
Was ist zum Betrieb notwendig?
Sicherheit
Authentifizierung
Weniger wichtig
Session Managment
Zuerst zweitrangig
Später wichtig
Zwischenwerte einer Sitzung auf dem Server speichern
z.B. Warenkorb oder zuletzt erstellte Route
Cookies
Benutzerforschung (Werbepartner?)
Hersteller von Web-Servern
Server
Sept. 2000
%
Oktober 2000
%
Veränderung %
Apache
12.705.194
60,02
13.295499
59,67
-0,35
MS-IIS
4.138.551
19,55
4.491609
20,16
0,61
Netscape
1.472689
6,96
1.500.988
6,74
-0,22
Weblogic
566.509
2,68
680.332
3,05
0,37
Zeus
606.987
2,87
616.200
2,77
-0,10
Rapidsite
332.246
1,57
339.379
1,52
-0,05
Thttpd
190.371
0,90
225.175
1,01
0,11
AOLserver
201.471
0,95
151.948
0,68
-0,27
WebSitePro
103.617
0,49
105.112
0,47
-0,02
Tigershark
81.528
0,39
102.850
0,46
0,07
Vergleich Apache & MS-IIS
Apache
Microsoft IIS
+
+
o
+
o
o
+
+
+
+
+
+
+
Kostenlos
Betriebssystemunabhängig
Kein offizielles Support Center
Support über Newsgroups
Betriebssystemaufsatz
Konfigurationsdateien + GUI
Viele Informationen im Internet
HTML-Interface
Kostenpflichtig (NT, Win2000)
nur NT Server oder Win2000
Support Hotline (Kostenpflichtig)
Support über Newsgroups
Integration ins Betriebssystem
GUI-Interface
Wenig Informationen
HTML-Interface (nur NT Server)
ArcIMS
3 Tier Architektur
Komponenten auf Serverseite
ArcIMS Application Server Connectors
Servlet Connector
ColdFusion Connector
ActiveX Connector
ArcIMS Application Server
ArcIMS Spatial Server
ArcIMS Manager
ArcIMS
Application Server Connectors
Servlet Connector
Standard-Programm zur Verbindung von
ArcIMS mit dem Web-Server
Nutzt Java-Plattform-Technologie
Anfragen und Antworten in ArcXML
Keine zusätzliche Übersetzung notwendig
Windows NT und Unix
Application Server Connectors
ActiveX Connector
COM-DLL für alle COM-Programme z.B. ASP
Zus. Programme z.B. in Visual Basic, C++, Delphi usw.
Anweisungen werden in ArcXML übersetzt
Nur Windows NT
ColdFusion Connector
ColdFusion Anweisungen werden in ArcXML übersetzt
Windows NT und Unix
ArcIMS Application Server
Herzstück von ArcIMS
Verteilt alle ankommenden Anfragen
Sammelt alle Ergebnisse
Sendet Ergebnisse an Web-Server zurück
Kann mehrere Web-Server gleichzeitig bedienen
ArcIMS Spatial Server
„Arbeitstier(e)“
Beinhaltet die grundlegenden
Funktionen für die Erstellung und
den Zugriff auf Karten
Weblink
XML-Parser
Kommunikation mit dem
Application Server
Analysiert XML-Sequenzen
Data Access Manager
Verbindung zwischen dem
Spatial Server und einer Datenquelle
ArcIMS Spatial Server
Map-Services
Image Rendering
JPEG, PNG oder GIF zum Web-Server
Generiert aus
Shapefiles
ArcSDE Datenquellen
Unterstützten Bildformaten
ADRG, ASRP, BIL, BIP, BMP, GeoTiff,
GIF, Tiff, Jpeg, usw.
Karte wird im Spatial Server generiert
Feature Streaming
Shapefiles und ArcSDE-Datensätze
zum Java Applet (Komprimiert)
Karte wird vom Client generiert
ArcIMS Spatial Server
Query
Geocoding
Liefert Daten aus Datenquellen
Notwendig bei der Nutzung von
Attributen
Findet Adressen auf Karten
Basierend auf Informationen aus
Shapefiles oder ArcSDE-Datenquellen
Data Extraction
Liefert einen Ausschnitt der Daten
als Shapefiles
Wird aus Shapefiles oder
ArcSDE-Datenquellen generiert
ZIP-Format
ArcIMS Virtual Servers
ArcIMS Manager
Webseiten für den Zugriff auf alle
Server-Einstellungen
Alle Konfigurationseinstellungen in ArcXML
Drei Komponenten unter einer
gemeinsamen Oberfläche:
ArcIMS Author
ArcIMS Designer
ArcIMS Administrator
Verwaltung der Spatial Server
Veröffentlichung der Map-Services
ArcIMS Manager
ArcIMS Author
Erstellung von Konfigurationsdateien für
die Map-Services (XML) aus:
Shapefiles
ArcSDE-Datenquellen
Bildern
Möglichkeiten
Verschiedene Datenquellen – Verschiedene Layer
Polygone zeichnen
Maßstabsabhängige Darstellung
Anfragen und Geocodierung definieren
Beschriftung und Schriftplatzierung
ArcIMS Manager
<?xml version="1.0" encoding="Cp1252"?>
<ARCXML version="1.0.1">
<CONFIG>
<MAP>
<PROPERTIES>
<ENVELOPE minx="-180.0" miny="-90.0" maxx="180.0"maxy="90.0„
name="Initial_Extent" />
<MAPUNITS units="DECIMAL_DEGREES" />
</PROPERTIES>
<WORKSPACES>
<SHAPEWORKSPACE name="shp_ws-0" directory="C:\data" />
</WORKSPACES>
<LAYER type="featureclass" name="CNTRY94" visible="true„id="1">
<DATASET name="Countries" type="polygon" workspace="shp_ws-0" />
<SIMPLERENDERER>
<SIMPLEPOLYGONSYMBOL filltype="solid„
fillcolor="255,255,153"/>
</SIMPLERENDERER>
</LAYER>
...
</MAP>
</CONFIG>
</ARCXML>
ArcIMS Manager
ArcIMS Designer
Erstellung von Web-Seiten
Auswahl der Map-Services
Funktionen und Tools auf dem Web-Client
Auswahl des Viewers (HTML, Java)
ArcIMS Clients
Funktionen
Pan und Zoom
Räumliche und thematische Anfragen
Pufferung um Objekte
Distanzen auf der Karte messen
Annotation (Nur Java Clients)
Geometrie
Text und Bilder hinzufügen
Wird zum Server gesandt, aber nicht direkt integriert
Editieren und ergänzen
Wird zum Server gesandt, aber nicht direkt integriert
Adressen auffinden
ArcIMS Clients
ArcExplorer
HTML/DHTML Viewer
Eigenständiger Viewer
Nutzt Java-Script zur Übersetzung der ArcXML-Befehle
Nur Image Map-Service
Nur ein Map-Service gleichzeitig
Alle Berechnungen auf dem Server
Sourcen sind vorhanden
Ausgangspunkt für eigene Anpassungen
Java Viewers
Feature Streaming und Image Map-Services
Kombination mehrerer Map-Services möglich
Client führt einen Teil der Berechnungen durch
ArcIMS Clients
Java Standard Viewer
Java Custom Viewer
Netscape und Internet Explorer ab 4.0
Vordefinierte Tools und Funktionen
Nur Internet Explorer 4.0 und 5.0
Viewer Object Model API
Individuelle Anpassung des Viewers
2 Downloads notwendig (da Java 2 Applets)
Java Run-time Enviroment
ArcIMS Viewer Applet
ArcXML
<ARCXML version="1.0">
<REQUEST>
<GET_IMAGE>
<PROPERTIES>
<ENVELOPE minx="-180" miny="-90"
maxx="180" maxy="90" />
<IMAGESIZE width="500" height="400" />
</PROPERTIES>
</GET_IMAGE>
</REQUEST>
</ARCXML>
<ARCXML version="1.0">
<RESPONSE>
<IMAGE>
<ENVELOPE minx="-130.000" miny="24.688"
maxx="-110.000“ maxy="40.311" />
<OUTPUT file="c:\ArcIMS\Output\
World_ARCIMS19833023.gif"
url="http://maps.esri.com/maps/
World_ARCIMS19833023.gif" />
</IMAGE>
</RESPONSE>
</ARCXML>
W
e
b
S
e
r
v
e
r
J
a
v
a
S
e
r
v
l
e
t
ArcIMS
Application
Server
Vorstellung Gruppe Technik
Gruppensprecher
Schnittstellenbeauftragte
Markus Tondorf
Ariane Middel
Weitere Mitglieder
Annette Eicker
Ralf Müller
Christoph Schaefer
Aufgaben der Gruppe Technik
Webserver: Apache oder Microsoft IIS?
ArcIMS
Installation
Aufbau eines Demoprojektes
ActiveX-Connector
Möglichkeiten und Grenzen (Routenplanung)
Servlet-Connector
Java-Routenplanung
Clients:
HTML oder JAVA?
Individuelles Layout?
Schnittstelle zu anderen Gruppen
Ende
Fragen ?