gif gif gif gif Index Literaturverzeichnis Mail
Nächstes: Geokognostik Nach oben: Schwierigkeiten mit Bilddaten im WWW Vorheriges: Beispiel für Einbetten in HTML

Schnittstelle für Bearbeitung auf Server-Seite

 

Eine Schnittstelle ( CGI ) erlaubt Interaktivität  zwischen einem Klienten und einem entfernten Server über ein Netz. Im folgenden Beispiel wird das HyperText Transfer Protocol ( HTTP , Internet  RFC  1945) verwendet, das ein weit verbreitetes Protokoll für externe ,,Gateway`` Programme ist, um mit Informations-Servern zu kommunizieren. Gateway Programme oder auch kurz Gateways sind Programme, die Anfragen verarbeiten und spezielle Dokumente dazu generieren. Das HTTP Protokoll adressiert Dateien über sogenannte Uniform Resource Locators ( URL , Internet  RFC  1738).

Der Kontext der einzelnen Komponenten läßt sich durch ein kleines Schema (Abbildung 6.6) veranschaulichen.

  figure3425
Abbildung 6.6: Kontext der Klienten-Server Komponenten

Der Server übermittelt das betreffende Dokument über die Kommunikationsverbindung.
Der WWW-Klient (engl.:  ,,browser``) stellt das Dokument dar.
Der Anwender reagiert mit Bearbeitung des Dokuments und Übermittlung (engl.:  ,,submit``).
Die entsprechenden Daten (z.B. FORM Name/Werte, bzw. engl.:  ,,name/value`` Paare) werden an den Server zurückübertragen.
Der Server startet die spezifischen Prozesse, die im Vorspann (engl.:  ,,header``) angegeben sind (und weist der FORM Name/Werte-Paare zu).
Es werden die notwendigen Schritte ausgeführt und ein formatiertes HTML-Dokument generiert. Dieses Dokument kann selbst Strukturen beinhalten, die zu weiterer Kommunikation auffordern.
Das HTML-Dokument wird als Antwort an den WWW-Klienten zurückübertragen und dargestellt.

Das folgende kleine HTML-Dokument ist statisch und wird vom Server geliefert (Abbildung 6.7).

<html>
<a href="hello.cgi">hello.cgi</a>
</html>

  
Abbildung 6.7: Quellentextbeispiel: HTML und CGI

Das assoziierte  CGI  Programm hello.cgi, ein minimales Perl Programm, wird bei Auslösung der Referenz in Echtzeit ausgeführt und kann aus diese Weise verwendet werden, um dynamische Informationen zu verarbeiten (Abbildung 6.8).

Im Kopf der übermittelten Daten können außer der erforderlichen Angabe Content-type: noch verschiedene weitere Angaben stehen.

#!/usr/bin/perl
$t      = "Hello!";
print   <<EOT;
Content-type: text/html

<title> $t </title>
<h1>    $t </h1>
EOT

  
Abbildung 6.8: Quellentextbeispiel: CGI Programm

Mit Hilfe derartiger Programme kann der Server  daher Informationen liefern, die ansonsten vom Klienten  (engl.:  ,,client``), z.B. einer Datenbank, nicht lesbar wären. Diese Programme können daher als vielseitiger Vermittler zwischen Klient und Server verwendet werden.

Eine sehr verbreitete Anwendung ist der Einsatz für die Handhabung von FORM Requests für  HTTP .  CGI  ist eine Konvention zur Integration von Gateway Programmen, die unter den Herstellern von  HTTP  Servern vereinbart wurde.

Als Programmiersprache für  CGI  Programme kommt jede Sprache in Frage, die ein ausführbares Programm liefert. Beispiele sind daher z.B.  Perl ,  Tcl , Shells, C/C++,   Python,  Fortran . Erstere können direkt interpretiert werden, letztere müssen erst kompiliert werden. Beide Methoden haben in bestimmten Fällen Vorteile. Für  Perl  und  Tcl  existieren zahlreiche Werkzeuge zur CGI/Web-Programmierung [Ivl1997].

Ein Beispiel für eine Anwendung im Bereich Kartenserver über das Internet ist der MapServer   [Koo2000], der als freie Software im Rahmen des freeGIS Projekts [Rei2000] erst seit kurzer Zeit entwickelt wird, trotzdem aber bereits für vielfältige Aufgaben zum Einsatz kommen kann.

Die Basisfunktionen des MapServers sind Navigation (Vergrößern, Verkleinern, Verschieben) und Abfragen (Punkte, Regionen, Felder, Werte).

Der Kern des MapServers ist ein CGI-basiertes Programm.

Die Erstellung einer Anwendung unter Nutzung des MapServers umfaßt die Erstellung von Dateien zur Definition von Eigenschaften und Darstellungen und für die Vorlagen der Benutzerschnittstelle. Eine reine Nutzung der Möglichkeiten in diesem Bereich durch den Anwender erfordert immer, daß die betreffende Anwendung bereits erstellt wurde. Für viele Anwender sind daher erst spezielle Anwendungsimplementierungen interessant, die auf Basis eines MapServers entwickelt wurden.

Die Anwendung wird über die Definition von Objekten und deren Eigenschaften konfiguriert.

Die Funktionen der so erstellten Anwendungen können über Skriptsprachen,  wie Perl  und Tcl/Tk , genutzt werden.


gif gif gif gif Index Literaturverzeichnis Mail
Nächstes: Geokognostik Nach oben: Schwierigkeiten mit Bilddaten im WWW Vorheriges: Beispiel für Einbetten in HTML


Claus-Peter Rückemann / ruckema@uni-muenster.de / Tel. --
Sun Jan 20 19:17:16 MET 2002