conference logo

Playlist "FOSSGIS 2022"

Robust, flexibel und skalierbar: Ein praktischer Einstieg in SHOGun als Basis von WebGIS-Lösungen

Marc Jansen and Daniel Koch

SHOGun (https://terrestris.github.io/shogun/) ist ein in Java geschriebenes Open Source Applikations-Framework, mit welchem sich skalierbare Webapplikationen entwickeln lassen, die klassischen Anforderungen von Geodateninfrastrukturen und deren Verwaltung genügen. Ziel der Demo-Session ist es, einem SHOGun-Entwickler über die Schulter zu schauen und den Weg zu einer funktionalen WebGIS-Applikation inklusive Administrationsbackend nachvollziehen zu können. Hierbei werden wir klassische Stolperfal

SHOGun (Webseite: https://terrestris.github.io/shogun/, Hauptrepository: https://github.com/terrestris/shogun) ist ein in Java geschriebenes Open Source Applikations-Framework, mit dem sich skalierbare Webapplikationen entwickeln lassen, die klassischen Anforderungen einer Geodateninfrastruktur und deren Verwaltung genügen. Frühere Beiträge auf der FOSSGIS haben sich der Erläuterung von SHOGun eher theoretisch via Vorträgen genähert: In diesem Jahr soll nun der Fokus auf einer Demonstration von Fähigkeiten liegen. Hierbei wird klarer werden, wieviel out-of-the box in SHOGun enthalten ist, und wo notwendigerweise eigene Entwicklungen sinvoll sind, um Flexibilität zu wahren (vgl. https://www.fossgis-konferenz.de/2021/sessions/RPCQ77.php und https://github.com/terrestris/fossgis2021/blob/main/talks/shogun.pdf).

In der Demo Session werden wir from-scratch ein rudimentäres, aber erweiterbares Backend entwickeln und hier bereits verschiedene Varianten (ready-to-use Docker Images vs. eigene Codeerweiterungen) diskutieren. Das jeweils empfohlene Entwicklungs-Setup wird erläutert und parallel aufgebaut. Anschließend beleuchten wir, welche Komponenten und Bestandteile bereits in diesem Standard-Setup enthalten sind, wie man jene benutzt, welche Möglichkeiten zur Einflussnahme / Konfiguration und auch zur programmatischen Erweiterung es gibt.

Wir werden einen Blick auf die automatisch generierten REST-Schnittstellen werfen und auch die GraphQL-Schnittstelle benutzen. Der generische Administrationsclient zur Verwaltung der Entitäten der GDI wird gezeigt und ebenso ein einfacher WebGIS-Client, welcher die verwalteten Entitäten konsumiert. Zeigen werden wir auch die Anbindung an externe GDI-Komponenten, wie einen GeoServer oder ein externes LDAP zur Benutzerverwaltung.

Ziel der Demo-Session ist es, einem Entwickler über die Schulter zu schauen und den Weg zu einer funktionalen WebGIS-Applikation inklusive Administrationsbackend nachvollziehen zu können. Hierbei werden wir klassische Stolperfallen benennen und Alternativen aufzeigen, aber auch Best Practices aufführen und deren Implementierung sehen.

Schließlich werden wir den Weg vom dev-Setup zur Produktion anreißen und mögliche weitere Schritte ausgehend von der live entwickelten Applikation benennen und somit demonstrieren, in welche Richtung der geschaffene Prototyp fortgeführt werden kann.