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].
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.
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. |
Die folgende Figur zeigt den internen Aufbau des GeoShop Servers:
Die einzelnen Komponenten sind in den folgenden Abschnitten im Detail beschrieben.
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.
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]).
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).
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).
Ü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.
Ü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]).
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.
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.
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]).