Wie bereits im letzten Kapitel beschrieben ist ein Standard Datenserver ein "normaler" GeoShop, welcher zuerst auch wie ein normaler GeoShop konfiguriert werden muss (s.a. Beispiel Datenserver auf der Referenz CD). Die dazu notwendigen Konfigurationsschritte sind in [2] beschrieben.
Nach der Konfiguration des Standard Datenserver wird der Portalserver zunächst einmal als Kopie des Standard Datenserver erstellt. Der Portalserver wird dann zusätzlich um folgende Konfigurationselementen ergänzt:
Den Zugriffsdefinitionen für die Datenserver (sog. Uploadbenutzer).
Die Mischskripts, welche die Mischung der Datenbestellungen besorgen.
Die Definition der globalen Verrechnungsfunktion.
Dem Benutzer (z.B. Spezialrabatt für amtl. Stellen).
Weiteren Datenebenen, welche für die zentrale Visualisierung im Portalserver benötigt werden (z.B. Rasterebenen).
Jede lokale Installation des Standardserver muss schliesslich mit dem zentralen Portalserver verbunden werden. Dazu sind in der Optionendatei appserver.opt einige Optionen zu definieren welche festlegen, welche Dateien an den Portalserver weiter geleitet werden sollen. Ausserdem muss ein Portalbenutzer definiert werden, mit welchem der Portalserver auf den lokalen Datenserver zugreifen kann.
Nachfolgend ist ein Beispiel für die notwendigen Einträge angegeben (s.a. Referenz CD):
PortalServer[X] MAP SERVER STRING http://localhost:3501 USER STRING data PASSWORD STRING data MODEL_DM01AVCH24D STRING idx MODEL_SIA405_mit_Erweiterungen STRING idx MODEL_Meta95 STRING itf }
Die einzelnen Einträge unter PortalServer[X] haben folgende Bedeutung:
Option | Typ | Beschreibung |
SERVER | STRING | GeoShop Connectstring zum Portalserver in der
Form
<server>:<serverport> . |
USER | STRING | Uploadbenutzer auf dem Portalserver. Bemerkung: für jeden Datenserver wird ein eigener Upload Benutzer benötigt. |
PASSWORD | STRING | Passwort des Upload Benutzers. |
MODEL_<Modelname> | STRING | Pro Datenmodell bei welchem Dateien an den Portalserver weiter geleitet werden sollen, muss angegeben werden welche Dateitypen betroffen sind (idx, geo oder itf). Falls mehrere Dateitypen weiter geleitet werden, so sind die Dateitypen als kommaseparierte Liste anzugeben (z.B. idx,geo). Es gibt aber auch Typenkombinationen, welche nicht unbedingt sinnvoll sind. Z.B. bewirkt itf allein schon, dass nach dem Upload auch die .idx und .geo Dateien auf dem Portalserver erzeugt werden. Die Definition MODEL_<Modelname> STRING itf,idx,geo ist daher überflüssig. |
Ein Datenserver kann mit mehreren Portalservern verbunden werden. Für jeden Portalserver muss dann ein Abschnitt PortalServerX konfiguriert werden. Für X muss eine eindeutige Kennung eingesetzt werden (z.B. AV oder LK). X darf auch leer sein. |
Der Portalbenutzer ist ein Benutzer, welcher vom Portalserver für die Auslösung von Teilbestellungen auf dem lokalen Datenserver verwendet wird. Der Portalbenutzer muss daher Zugriff auf alle im Portalserver definierten Produkte haben. Nachfolgend ist die Definition des Portalbenutzer von der Referenz CD angegeben:
USER name STRING portal password STRING portal privileges LIST STRING client } views LIST } queries LIST } products LIST STRING av_dxf STRING av_itf STRING lk_wasser_dxf STRING lk_wasser_itf } preferences MAP } }
Die via den Portalserver erfolgten Teilbestellungen werden auf dem lokalen Datenserver unter dem Portalbenutzer registriert. Eine Kontrolle der via den Portalserver erfolgten Datenbezüge ist daher über den Portalbenutzer jederzeit möglich. |
Pro Datenserver muss auf dem Portalserver ein Uploadbenutzer definiert werden. Nachfolgend ist der Uploadbenutzer von der Referenz CD angegeben:
USER name STRING data password STRING data prefix STRING data_ privileges LIST STRING upload_DM01AVCH24D STRING upload_SIA405_mit_Erweiterungen STRING upload_Meta95 } views LIST } queries LIST } products LIST } preferences MAP order.name1 STRING '' order.name2 STRING '' order.adr1 STRING '' order.adr2 STRING '' order.tel STRING '' order.fax STRING '' order.remark STRING '' order.zip STRING '' order.city STRING '' order.email STRING '' range.maxY REAL 245435.0 range.maxX REAL 675850.0 range.minY REAL 245364.0 range.minX REAL 675776.0 order.country STRING '' } }
Ausserdem muss ein Uploadbenutzer folgende Bedingungen erfüllen:
Für jeden Datenserver muss ein eigener Uploadbenutzer definiert werden.
Der Uploadbenutzer muss upload_* Privilegien für alle Datenmodelle haben.
Für jeden Uploadbenutzer muss ein Datenpräfix in der Form <user>_ definiert werden. Anhand des Datenpräfix erkennt der Portalserver im Moment der Bestellung welche .idx Datei von welchem Datenserver geliefert wurde und kann so die Teilbestellungen an die richtigen Datenserver weiter leiten.
Pro Datenserver muss auf dem Portalserver in appserver.opt ein Eintrag der folgenden Form definiert werden:
DataServer_data MAP SERVER STRING http://localhost:3600 USER STRING data PASSWORD STRING data }
Die einzelnen Einträge in der Gruppe DataServer_<server> haben folgende Bedeutung:
Option | Typ | Beschreibung |
USER | STRING | Zugeordneter Bestellbenutzer auf dem angeschlossenen Datenserver. Bei Bestellungen auf dem Portalserver wird der angegebene Bestellbenutzer auf dem angeschlossenen Datenserver benutzt. |
PASSWORD | STRING | Passwort des Bestellbenutzers. |
SERVER | STRING | Adresse des Datenserver in der Form
<server>:<port> . |
Nach der erfolgreichen Ausführung der Teilbestellungen auf den Datenservern wird der Mischscript ausgeführt. Der Mischscript wird in jeder Produktdefinition auf dem Portalserver eingetragen, d.h. die Produktdefinitionen auf dem Portalserver und den Datenservern unterscheiden sich lediglich in diesem Punkt.
Beispiel für eine Produktdefinition auf dem Portalserver (s.a. Referenz CD):
PRODUCT
name STRING av_dxf
display_name STRING 'AV: AutoCAD-DXF'
models LIST
MODEL
name STRING DM01AVCH24D
display_name STRING 'amtl. Vermessung'
topics LIST
STRING FixpunkteKategorie1
STRING FixpunkteKategorie2
STRING FixpunkteKategorie3
STRING Liegenschaften
}
}
}
params MAP
}
services MAP
DM01AVCH24D MAP
script STRING \script\il2dxf\merge.cfg
service STRING download
}
}
price_function STRING \script\price\price.cfg,AV_Meta
}
Beispiel für eine Produktdefinition auf dem Datenserver (s.a. Referenz CD).
PRODUCT name STRING av_dxf display_name STRING 'AV: AutoCAD-DXF' models LIST MODEL name STRING DM01AVCH24D display_name STRING 'amtl. Vermessung' topics LIST STRING FixpunkteKategorie1 STRING FixpunkteKategorie2 STRING FixpunkteKategorie3 STRING Liegenschaften } } } params MAP } services MAP DM01AVCH24D MAP script STRING \script\il2dxf\DM01AVCH24D.cfg service STRING download } } price_function STRING \script\price\price.cfg,AV_Meta }
Mit dem Mischscript können beliebig komplexe Mischoperationen auf den angelieferten Teilresultaten ausgeführt werden. Im Mischscript können z.B. Doppelte Linien etc. eliminiert werden. Es muss jedoch beachtet werden, dass die Mischscripts z.T. abhängig vom gelieferten Datenformat und u.U. sogar produktabhängig sind. Der auf der Referenz CD enthaltene Mischscript kopiert die gelieferten Teilbestellungen lediglich in eine einzigige .zip Datei.
Die Globale Verrechungsfunktion baut auf dem auf der
Referenz CD mitgelieferte INTERLIS Datenmodell
Meta95
auf. In Meta95
sind
neben Metainformationen zum Datenserver auch die preisrelevanten
Tarifinformationen eingetragen (z.B. Flächen- und Punkttarif).
Jeder angeschlossene Datenserver muss für seine Daten das
Datenmodell Meta95
füllen und die Metadaten auf
den Portalserver replizieren. Der Portalserver kann dann über die
in Meta95
enthaltenen Preisinformationen den
Gesamtpreis einer Bestellung ermitteln und dem Benutzer online
anzeigen. Zusätzlich sind in auch die eigentlichen
Metainformationen zu den einzelnen Datenservern in
Meta95
enthalten.
Die Benutzung von |
Bei der Konfiguration des Standard Datenserver ist darauf zu achten, dass nur die minimal notwendigen Konfigurationen (Skripts, Produktdefinitionen, etc.), welche für den Betrieb im Portalnetz notwendig sind, definiert werden. Damit kann der Aufwand beim Abgleich der angeschlossenen Standard Datenserver klein gehalten werden.
Bei mehreren dezentral betriebenen Datenservern wird die Verteilung bzw. Synchronisation aller Datenserver Konfigurationen rasch relativ aufwendig. Die Konfigurationen sollten daher automatisch via einen zentralen Patchserver verteilt werden. Der Patchserver gehört zum Lieferumfang des GeoShop Enterprise.
Jegliche Kommunikation zwischen den Datenservern und dem Portalserver erfolgt über HTTP. Für die Datenserver muss daher der Firewall für den HTTP Port des Datenserver geöffnet werden (Inbound). Ausserdem muss ein Datenserver via den HTTP Port des Portalserver auf den Portalserver zugreifen können (Outbound).
Grundsätzlich kann ein Datenserver auf dem HTTP Port 80 gestartet werden. Falls dies nicht möglich sein sollte (weil der Webserver bereits auf Port 80 läuft), kann der Datenserver über das Redirector Servlet in den lokal vorhanden Webserver eingebunden werden. Das Redirector Servlet gehört zum Lieferumfang des GeoShop Enterprise.
Der Portalserver dient als zentraler Eingang in das Netz der Datenserver. An den Portalserver werden daher erhöhte Performance Anforderungen gestellt. Über die im GeoShop Enterprise enthaltene Skalierungsoption ist aber die Skalierung des Portalserver über beliebige viele Prozessoren oder Zusatzrechner (ohne weitere Softwarekosten) jederzeit möglich (s.a. [4]).