3. Funktionsweise

3.1. Einleitung

Der GeoShop Server ist die zentrale Komponente der GeoShop Software. Der GeoShop Server verwaltet die Geodaten, sowie Informationen zu Benutzern und Bestellungen. Ausserdem ist er für die Kommunikation mit den GeoShop Client's bzw. den ICS Servern verantwortlich (ICS = infoGrips Conversion System). Für die (Fern-)Verwaltung des GeoShop Servers stehen die Administrator Tools zur Verfügung. Die Bedienung der Administrator Tools ist im Kapitel 4 beschrieben. In diesem Kapitel wird eine Einführung in die interne Funktionsweise des GeoShop Servers gegeben, soweit dies für das allgemeine Verständnis der Software notwendig ist. Weitere Details zur Konfiguration des GeoShop Server findet man in [5].

3.2. Verzeichnistruktur \system und \user

Die Verzeichnisstruktur des GeoShop unter GEOSHOP_DIR (Installationsverzeichnis des GeoShop) ist in ein System-Verzeichnis und ein User-Verzeichnis unterteilt.

GEOSHOP_DIR\system

Unter dem System-Verzeichnis befinden sich alle Anteile, welche durch die infoGrips geliefert, gewartet, gepflegt und ergänzt werden. Diese Anteile dürfen vom Benutzer nicht verändert werden.

GEOSHOP_DIR\user

Unter diesem Verzeichnis befinden sich alle Anteile, welche durch den Benutzer erstellt oder geändert werden.

[Warnung]

Sie sollten niemals Anteile des System-Verzeichnis manipulieren. Sollten Sie trotzdem einen Anteil im System Verzeichnis verändern wollen, so kopieren Sie den Anteil in das identische Unterverzeichnis im User-Verzeichnis und verändern die Kopie.

3.3. GeoShop Server Komponenten

Die folgende Figur zeigt den internen Aufbau des GeoShop Servers:

Die einzelnen Komponenten sind in den folgenden Abschnitten im Detail beschrieben.

3.4. Kommunikationskomponente

Die Kommunikationskomponente ermöglicht die Kommunikation zwischen GeoShop Server und den GeoShop Client Tools bzw. zwischen GeoShop Server und den Administrator Tools. Die Kommunikationskomponente ist intern in die Teile GCI (GeoShop Client Interface) und GAI (GeoShop Administrator Interface) aufgeteilt. Der GeoShop Client, das GeoShop Client Applet und der GeoShop Batchclient sind Anwendungen der GCI Schnittstelle. Die GAI Schnittstelle wird von den Administrator Tools zur Kommunikation mit dem Server verwendet. Aus Sicherheitsgründen sind die GCI und die GAI Schnittstellen vollständig von einander getrennt.

3.5. Geodatenbank

In der Geodatenbank werden die Geodaten im INTERLIS .itf Format gespeichert. Für den raschen Zugriff werden die Geodaten durch den Server automatisch geoindiziert. Auf jedem GeoShop Server können mehrere INTERLIS Datenmodelle installiert werden. Für jedes Datenmodell kann mit dem Dienstprogramm geoedit.exe festgelegt werden, wie die Daten im Webbrowser dargestellt werden (s.a. [4]).

3.6. Benutzerverwaltung

Der Zugriff auf den GeoShop Server wird durch einen Benutzernamen und ein Benutzerpasswort (= Benutzerkonto) geregelt. Benutzer können in folgende Gruppen eingeteilt werden:

admin

Administratoren können alle Verwaltungsaufgaben auf dem Server durchführen. Ausserdem können sie neue Benutzer einrichten.

order

Benutzer der Gruppe order können die Bestellungsdatenbank abfragen und bearbeiten.

client

Die client Gruppe kann Daten auf dem GeoShop Server bestellen. Für jeden Benutzer kann festgelegt werden, welche Datenmodelle bzw. welche Teile eines Datenmodells der Benutzer vom Server bestellen kann.

upload_*

Die upload_* Gruppen können neue Daten auf dem GeoShop Server über den eingebauten FTP, oder HTTP/HTTPS-Dienst laden. Für jeden Benutzer kann festgelegt werden, welche Daten aus welchen Datenmodellen er auf den Server laden kann.

Neben der Zugehörigkeit zu einer oder mehreren Gruppen kann jedem Benutzerkonto das sog. multi Privileg zugeteilt werden. Falls ein Benutzer das multi Privileg besitzt, können gleichzeitig unter einem Benutzerkonto mehrere Client's im System angemeldet sein. Benutzer können über den GeoShop Administrator erzeugt und bearbeitet werden (s.a. Kapitel 4).

3.7. Bestelldatenbank

Bestellungen werden in der Bestelldatenbank abgespeichert. Bestellungen können einen der folgenden Statuswerte aufweisen:

CONFIRMED

Die Bestellung wurde vom GeoShop Server angenommen und es wurde eine Bestätigung per E-Mail an den Kunden geschickt.

PROCESSING

Die Bestellung wird im Moment im GeoShop bearbeitet.

DELIVERED

Die Bestellung wurde ausgeführt und als Datei order.zip im Verzeichnis DOWNLOAD_HTTP abgelegt. Falls der Kunden die Lieferung via E-Mail verlangt hat, wurde der Kunde bereits über E-Mail aufgefordert die Daten auf dem Server abzuholen.

Die Bestellungsdatenbank kann mit dem GeoShop Ordermanager abgefragt und bearbeitet werden (s.a. Kapitel 4).

3.8. GeoShop Loader

Über den Loader können Daten, Datenmodelle und Konfigurationsdateien auf den GeoShop Server geladen werden. Der Loader überprüft dazu das Verzeichnis UPLOAD_DIR nach neuen Dateien. Sobald im Verzeichnis UPLOAD_DIR eine Datei mit der Endung .zip, .ili, oder .itf entdeckt wird, werden automatisch folgende Aktionen im System ausgeführt:

.zip (ZIP-Datei)

ZIP-Dateien werden durch den Loader entzippt und die entzippten Dateien wieder in das Verzeichnis UPLOAD_DIR kopiert.

.ili (INTERLIS Modell Datei)

ILI-Dateien werden in das Verzeichnis GEOSHOP_DIR\user\models kopiert. Ausserdem wir im Verzeichnis DATA_DIR\pool ein Unterverzeichnis mit dem gleichen Namen wie das zu ladende INTERLIS Modell angelegt.

.itf (INTERLIS Transfer Datei)

Die Transferdatei wird in das Verzeichnis DATA_DIR\pool\<modell> kopiert. Falls eine Darstellung für das Datenmodell definiert wurde, wird der Darstellungsskript für das Datenmodell ausgeführt (s.a. [4]). Die Transferdatei und die dazugehörenden Geoindizes werden anschliessend gemounted (d.h. für die Client's sichtbar gemacht).

Über die sog. Formatdateien im Verzeichnis USER_DIR\formats können zusätzliche Uploadformate definiert werden (z.B. DXF, SHP, etc.). Mehr dazu kann man in [5] nachlesen.

3.9. Download Schnittstellen

Über die Download Schnittstellen können bestellte Geodaten in verschiedenen Formaten (= Datenprodukte) vom Server heruntergeladen werden. Die Download Schnittstellen basieren auf dem Schnittstellensystem INTERLIS Tools [9]. Der Benutzer kann beliebige Datenprodukte durch Dateieinträge im Verzeichnis USER_DIR\products konfigurieren. Die Dateien müssen folgenden Inhalt aufweisen (s.a. [5]):

PRODUCT
   name STRING <Produktname>
   display_name <Anzeigename>
   models LIST
      <Modellliste>
   }
   params MAP
   }
   services MAP
      <Modell> STRING <Transferservice>
   }
   price_function STRING <Preisskript>
}

Der <Anzeigename> wird im GeoShop Client unter Produkt angezeigt. In der <Modellliste> werden die Modelle eingetragen, welche über dieses Produkt bestellt werden können. Pro Datenmodell <Modell> muss ein zugehöriger <Transferservice> angegeben werden. Falls der GeoShop Server mit der Verrechnungsoption ausgestattet ist, kann unter <Preisskript> die Verrechnungsfunktion für das Produkt angegeben werden (s.a. separate Dokumentation zum Verrechnungsmodul [11]).

3.10. Jobqueue

Bearbeitungsaufträge (Bestellungen, Loader Aktionen, etc.) werden im GeoShop Server in einer internen JobQueue eingefügt. Die Bearbeitungsauftäge (Jobs) werden vom GeoShop Server auf die vorhandenen (bzw. aktiven) ICS Server verteilt. Jobs können folgende Zustände annehmen:

WAITING

WAITING bedeuted, dass der Job auf seine Bearbeitung durch den GeoShop Server wartet.

EXECUTING

EXECUTING bedeuted, dass der Job im Moment ausgeführt wird. Treten Fehlern bei der Ausführung des Jobs auf, wird der Job automatisch vom System angehalten.

STOPPED

STOPPED bedeuted, dass der Job angehalten wurde.

Die Jobqueue führt pro ICS Server immer nur einen Job gleichzeitig aus, d.h. die maximale Anzahl Job’s die den Status EXECUTING haben können, ist gleich der Anzahl der im Moment verfügbaren ICS Server. Der nächste zu bearbeitende Job wird unter den Jobs ausgewählt die den Zustand WAITING haben. Jobs werden im System permanent gespeichert, d.h. falls der Server während der Bearbeitung von Jobs angehalten wird, werden die Jobs nach dem erneuten Starten des Servers automatisch wieder aktiviert (Fehlertoleranz). Die Jobqueue kann über den GeoShop Administrator (s.a. Kaptitel 4) angezeigt und bearbeitet werden.

3.11. E-Mail Client

Der GeoShop Server verschickt automatisch E-Mails an die Kunden mit dem Dienstprogramm blat.exe. Ausserdem werden bei schwerwiegenden Systemfehlern E-Mails an den Systemverwalter des GeoShop Servers gesendet. Der Inhalt der Kunden E-Mail kann vom Systemverwalter angepasst werden. Dazu sind im Verzeichnis USER_DIR\template\<language> Musterdateien in den Sprachen Deutsch (de), Französisch (fr) und Englisch (en) abgelegt. Bei den Musterdateien handelt es sich um ASCII Dateien die mit einem Texteditor editiert werden können.

3.12. ICS Server

Die ICS Server führen die Upload (Loader) bzw. Download (Produkte) Jobs aus. Sie bieten dazu dem GeoShop Server sog. Transferdienste an. Die Transferdienste jedes ICS Servers können individuell über die Datei USER_DIR\services\services.srv festgelegt werden. Die Servicedatei services.srv enthält pro angebotenen Dienst folgende Einträge:

SERVICE
   name STRING <Transferservice>
   description STRING '<Beschreibung>'
   script STRING <ICS Script>
   inputsize STRING '<Einschraenkung>'
   [weiterere Skriptoptionen]
}

Unter <ICS Script> muss eine iG/Script Datei angegeben werden, welche den Dienst implementiert. In <Einschraenkung> kann eine Beschränkung der Inputfilegrösse definiert werden. '> 5000000' bedeutet z.B., dass der Dienst nur Jobs annimmt, deren Inputdateien mindestens die Grösse 5 MByte haben. Falls mehrere ICS Server den gleichen Transferdienst anbieten, wählt die GeoShop Jobqueue einen Server aus, der im Moment nicht belegt ist. Es können ausserdem beliebig viele zusätzliche Zeilen der Form <option> STRING <Wert> eingetragen werden. Die so definierten Optionen (z.B. format STRING 'dxf') werden dem ICS Script zur Laufzeit als Parameter übergeben (s.a. [5]).