GeoServer ist einer der meistgenutzten Open Source Mapping-Server. Unter anderem weil er über seine Benutzeroberfläche konfigurierbar ist. Er bietet jedoch auch eine REST-API, die zur Automatisierung von Aufgaben verwendet werden kann. Dies ist besonders nützlich für das Hinzufügen von vielen Datensätzen oder für regelmäßig ablaufende Prozesse, die manuell nur sehr mühsam zu erledigen sind. Außerdem gewährleistet die automatische Konfiguration die Reproduzierbarkeit, was für Umgebungen im Cloud-Bereich häufig notwendig ist.
Das Erstellen von Anfragen für die verschiedenen Endpunkte der API ist nicht sehr intuitiv. Deshalb haben wir die Bibliothek geoserver-node-client
erstellt, die typische Anwendungsfälle in normale Node.js-Funktionen kapselt. Dies bedeutet es möglich mit Node.js Programme zu schreiben, welches einen GeoServer mit den gewünschten Einstellungen konfiguriert. Die Bibliothek wurde bereits in vielen Projekten eingesetzt, sie wird mit einer CI-Pipeline getestet und verfügt über eine intuitive
Dokumentation.
Wir haben den geoserver-node-client
für viele Zwecke eingesetzt. In Kombination mit Docker ermöglicht er es uns, vorkonfigurierte GeoServer-Instanzen innerhalb von Minuten auf verschiedenen Servern auszurollen. In den Forschungsprojekten SAUBER und KLIPS haben wir ihn erfolgreich für die Veröffentlichung regelmäßig eingehender Umweltdaten eingesetzt. Der geoserver-node-client
ist Open Source und auf
https://github.com/meggsimum/geoserver-node-client verfügbar.