iPlug WFS
InGrid: Indexieren, Recherchieren, Visualisieren, Teilen
InGrid: Indexieren, Recherchieren, Visualisieren, Teilen
Der WFS-iPlug bietet eine Schnittstelle zu WFS (Web Feature Service)-Datenquellen. Die Daten der Datenquelle werden komplett heruntergeladen und indexiert. Die Originaldaten der Datenquelle werden gespeichert und dienen als Datenbasis für die Lieferung von Detaildaten.
Eine Anfrage an das iPlug generiert also KEINE Anfrage an die zugrunde liegende WFS Schnittstelle. Diese Vorgehensweise wurde insbesondere im Hinblick auf eine performante Abfrage des iPlugs gewählt.
Das iPlug fragt die WFS Schnittstelle regelmäßig (z.B. einmal täglich) ab. Die Abfrage-Frequenz kann über die Admin-Oberfläche gesteuert werden.
500 MB Harddrive
Download: https://distributions.informationgrid.eu/ingrid-iplug-wfs-dsc/
Um die Installationsroutine zu starten, doppel-klicken Sie auf das Installationsprogramm oder geben Sie folgenden Befehl auf der Kommandozeile ein:
java -jar ingrid-iplug-dsc-wfs-VERSION-installer.jar
Der Installer ist sowohl per graphischer Oberfläche als auch Kommandozeileneingabe ausführbar. Bitte folgen Sie den Anweisungen des Installationsprogrammes. Das Installationsprogramm installiert die Komponente im gewünschten Verzeichnis und passt die Konfigurationsdateien an.
Sie können nun das iPlug mit
sh start.sh start
starten.
Das iPlug besitzt eine Administrationsoberfläche über die die angeschlossenen iPlugs eingesehen und verwaltet werden können.
Anstelle von localhost
können Sie auch die IP-Adresse des Computers eingeben. Authentifizieren Sie sich als ‘admin’ mit dem von Ihnen vergebenen Passwort.
Nach der ersten Installation wird die Administrations-GUI unter
aufgerufen und die Konfiguration vervollständigt.
Neues Release von https://distributions.informationgrid.eu/ingrid-iplug-dsc-wfs/ herunterladen.
iPlug stoppen.
sh start.sh stop
Aktuelles Installationsverzeichnis sichern:
cp -r /opt/ingrid/ingrid-iplug-dsc-wfs BACKUP_DIRECTORY
Die Aktualisierung erfolgt über den Installer.
java -jar ingrid-iplug-dsc-wfs-NEW-VERSION-installer.jar
Während der Installation bitte “Upgrade” auswählen und das Installationsverzeichnis Verzeichnis angeben.
iPlug starten.
sh start.sh start
start.sh [start|stop|restart|status]
Die LOG Ausgaben finden sich in der Datei log.log
und console.log
.
Die Basiskonfiguration für iPlugs kann hier eingesehen werden.
In der Administrationsoberfläche kann mit der Eigenschaft ServiceUrl
die Service URL eines abzufragenden WFS Dienstes eingetragen werden.
In der Datei webapp/WEB-INF/spring.xml können weitere Einstellungen vorgenommen werden.
Requesttyp der Anfrage
Es kann eingestellt werden, ob die Anfrage per GET, POST oder Soap Request erfolgt. Dies kann individuell per Operation eingestellt werden.
<map>
<entry key="GetCapabilities" value="de.ingrid.iplug.wfs.dsc.wfsclient.impl.PostRequest"/>
<entry key="DescribeFeatureType" value="de.ingrid.iplug.wfs.dsc.wfsclient.impl.PostRequest"/>
<entry key="GetFeature" value="de.ingrid.iplug.wfs.dsc.wfsclient.impl.PostRequest"/>
</map>
Fetching Strategie
In folgendem Abschnitt wird eingestellt, mit welcher Strategie das Harvesting der Features mittels GetFeature Operation abläuft.
PagingUpdateStrategy
: Die Features eines Feature Typs werden nach und nach geholt, wobei zunächst die Gesamtanzahl der Features abgefragt und dann eine Maximalanzahl per request geholt wird (Paging Mechanismus).DefaultUpdateStrategy
: Die Features eines Feature Typs werden mittels eines Requests geholt, d.h. die gesamte Anzahl der Features wird übertragen.Bei beiden Strategien kann mit dem requestPause Parameter eingestellt werden, wie lange zwischen den Requests gewartet werden soll (in Millisekunden).
<bean id="wfsDefaultUpdateStrategy" class="de.ingrid.iplug.wfs.dsc.cache.impl.PagingUpdateStrategy">
<property name="requestPause" value="100" />
<property name="maxFeatures" value="1000" />
</bean>
oder
<bean id="wfsDefaultUpdateStrategy" class="de.ingrid.iplug.wfs.dsc.cache.impl.DefaultUpdateStrategy">
<property name="requestPause" value="1000" />
</bean>
Mapping Skripte
Die Skripte zum Mapping in den Index bzw. in die Detaildarstellung werden ebenfalls hier angegeben:
Index (Mapping nach Lucene):
<bean id="recordMapper" class="de.ingrid.iplug.wfs.dsc.index.mapper.WfsDocumentMapper">
<property name="mappingScripts">
<list>
...
<value>classpath:mapping/pegelonline-wfs-1.1.0_to_lucene-igc-1.0.3.js</value>
</list>
</property>
<property name="compile" value="true"/>
</bean>
Detaildarstellung (Mapping nach IDF = InGrid? Data Format):
<bean id="idfMapper" class="de.ingrid.iplug.wfs.dsc.record.mapper.WfsIdfMapper">
<property name="mappingScripts">
<list>
...
<value>classpath:mapping/pegelonline-wfs-1.1.0_to_idf-1.0.0.js</value>
</list>
</property>
<property name="compile" value="true"/>
</bean>
Die Datei conf/communication.xml
enthält die Konfigurationen der InGrid Kommunikationsschicht.
<?xml version="1.0" encoding="UTF-8"?>
<communication xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="communication.xsd">
<client name="/ingrid-group:iplug-management-'Ihr-Name'">
<connections>
<server name="/ingrid-group:ibus-'Ihr-Name'">
<socket port="9900" timeout="10" ip="127.0.0.1" />
<messages maximumSize="1048576" threadCount="100" />
</server>
</connections>
</client>
<messages queueSize="2000" handleTimeout="10"/>
</communication>
Die einzelnen Parameter haben folgende Bedeutung:
Parameter | Beschreibung |
---|---|
client/@name | Eindeutige ID des iPLugs |
server/@name | Eindeutige ID des InGrid iBus |
socket/@port | Port unter dem die Administrations GUI zu erreichen ist |
socket/@timeout | Timeout der Socketverbindungen in sec |
message/@maximumSize | max. zulässige Größe einer Message in Bytes, die über den iBus versendet werden kann |
message/@threadCount | Anzahl der Verbindungen (Threads), die der iBus gleichzeitig aufrecht erhalten kann |
message/@handleTimeout | Timeout einer Message in sec (Wie lange wartet der iBus auf die Beantwortung einer Message.) |
message/@queueSize | Message Queue (Wie viele Nachrichten können in der Warteschlange des iBus enthalten sein.) |
env.sh
bei einer Aktualisierung verhindern.In der Datei env.sh können Systemvariablen komponenten-spezifisch angepasst werden (z.B. Proxy oder Heap Einstellungen). Um die Einstellungen nach einer Aktualisierung nicht zu verlieren, muss die Datei env.sh
nach user.env.sh
kopiert werden. Die Änderungen in user.env.sh
werden nicht überschrieben.
Bitte in der Datei env.user.sh folgendes zusätzlich eintragen:
User und Passwort müssen nicht unbedingt angegeben werden.
Achtung: Die Trennung mit dem pipe Symbol muss unter Windows/cygwin escaped werden:
Mögliche Ursachen:
Bitte analysieren Sie das log file des iPlugs. Löschen Sie gegebenenfalls den Cache Ihres Browsers und starten sowohl das Portal als auch das iPlug neu.
Sie müssen nach einer Änderung der Konfiguration das iPlug immer neu starten