340 likes | 453 Views
Interaktive Karten im Internet Technische Infrastruktur (Webserver und ArcIMS). Vortrag von Markus Tondorf. Inhalt. Webserver Statische Seiten Dynamische Seiten Hersteller von Web-Servern, Vergleich ArcIMS Internet Map Server Komponenten und Tools auf Serverseite
E N D
Interaktive Karten im InternetTechnische Infrastruktur(Webserver und ArcIMS) Vortrag von Markus Tondorf
Inhalt • Webserver • Statische Seiten • Dynamische Seiten • Hersteller von Web-Servern, Vergleich • ArcIMS Internet Map Server • 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 Webseitenz.B. aus Datenbanken • Entwicklung neuer TechnologienCGI, 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 • In der Regel wird ein Perl-Script benutzt. • Anwendungsbeispiele: • 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 • Java-Applet auf Client (Browser) • Java-Servlet auf Server • Servlet bleibt nach dem ersten Aufruf geladen.Daher wesentlich schneller als z.B. CGI-Scripts. • 3 verschiedene Möglichkeiten • Wie ein CGI-Script. Bietet sich bei der Umstellung bereits bestehender Seiten an. • SSI (Server Side Include): Anweisung innerhalb der HTML-Seiten (ä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 • JSP liest XML-Daten • StyleSheet wird angewendet • Ausgabe im angeforderten Client-Format
Setzt auf Servlets auf Plattformunabhängig Jeder Webserverz.Z. Apache, Netscape, IIS Java Programmiersprache Frei definierbare Tags Datenbank: JDBC, ODBC Java Beans Setzt auf ActiveX auf Nur unter Windows Nur IIS oder Personal Webserver Microsoft JScript oder VBScript Vorgegebene Tags Datenbank: ODBC COM-Objekte Unterschiede JSP und ASP JSP ASP
Web-Server • Was ist zum Betrieb notwendig? • Sicherheit • Zuerst zweitrangig • Später wichtig • Authentifizierung • Weniger wichtig • Session Managment • Zwischenwerte einer Sitzung auf dem Server speichern • z.B. Warenkorb oder zuletzt erstellte Route • Cookies • Benutzerforschung (Werbepartner?)
+ Kostenlos - Kostenpflichtig (NT, Win2000) + Betriebssystemunabhängig - nur NT Server oder Win2000 o Kein offizielles Support Center + Support Hotline (Kostenpflichtig) + Support über Newsgroups + Support über Newsgroups + Integration ins Betriebssystem o Betriebssystemaufsatz - Wenig Informationen + GUI-Interface + HTML-Interface (nur NT Server) o Konfigurationsdateien + GUI + Viele Informationen im Internet + HTML-Interface Vergleich Apache & MS-IIS Apache Microsoft IIS
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
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 • Kommunikation mit dem Application Server • XML-Parser • 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 BildformatenADRG, 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 • Liefert Daten aus Datenquellen • Notwendig bei der Nutzung von Attributen • Geocoding • 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 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) • Text und Bilder hinzufügen • Wird zum Server gesandt, aber nicht direkt integriert • Geometrie • Editieren und ergänzen • Wird zum Server gesandt, aber nicht direkt integriert • Adressen auffinden
ArcIMS Clients • ArcExplorer • Eigenständiger Viewer • HTML/DHTML 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 • Netscape und Internet Explorer ab 4.0 • Vordefinierte Tools und Funktionen • Java Custom Viewer • Nur Internet Explorer 4.0 und 5.0 • Viewer Object Model APIIndividuelle 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> Web-Server Java-Servlet ArcIMSApplicationServer <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>
Vorstellung Gruppe Technik • Gruppensprecher • Markus Tondorf • Schnittstellenbeauftragte • 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-ConnectorMöglichkeiten und Grenzen (Routenplanung) • Servlet-ConnectorJava-Routenplanung • Clients: • HTML oder JAVA? • Individuelles Layout? • Schnittstelle zu anderen Gruppen
Ende Fragen ?