conference logo

Playlist "FOSSGIS 2021"

SHOGun als Basis flexibler WebGIS-Lösungen — Oder: Weder "off-the-shelf" noch "fully handcrafted"

Marc Jansen

Das OpenSource Geo Framework SHOGun ist die Basis zahlreicher Webanwendungen, die insgesamt sehr unterschiedliche Anwendungsfälle betrachten. Hierbei sind SHOGun-Applikationen weder ein Standardprodukt von der Stange noch 100%ige spezifische Individualentwicklungen. Im Vortrag wollen wir zeigen, welche Aspekte von SHOGun wo zwischen diesen Extremen "off-the-shelf" / "fully handcrafted" einzuordnen sind.

Das OpenSource Geo Framework SHOGun ist die Basis zahlreicher Webanwendungen, die insgesamt sehr unterschiedliche Anwendungsfälle betrachten. Hierzu zählen u.a. Anwendungen zum Gewässermanagement (Progemis), zur holistischen Ökosystemrestauration (HERMOSA) oder zur Verwaltung und Visualisierung von dreidimensionalen Geodaten. SHOGun ist in seiner Architektur dabei so ausgelegt, dass es sich zwischen den Extremen „off-the-shelf“ (Standardprodukt von der Stange) und „fully handcrafted“ (spezifische Individualentwicklung) bewegen kann.

Der Vortrag stellt zunächst die aktuelle Version von SHOGun vor und zeigt anschließend anhand von den oben aufgeführten Beispielen, wie mit SHOGun und einigen anderen Bibliotheken und Drittkomponenten Standardfunktionalität bereitgestellt werden kann, ohne dass kundenspezifische Anpassungen ausgeschlossen oder erschwert werden. Die neueste Version der Software SHOGun setzt nach wie vor auf extrem robuste Basisbibliotheken wie Spring und Hibernate und bietet ein gesundes Maß an Lösungensansätzen für immer wiederkehrende Fragestellungen. Gleichzeitig versucht die Software auch flexible und verlässliche Ableitungen von diesem Kern einfach zu ermöglichen, etwa um eigene Businesslogiken abbilden zu können. Hierzu stehen abstrakte Vaterklassen bereit, um gleich anzusprechende und abgesicherte (REST und GraphQL) Schnittstellen für die verwalteten Entitäten wie Layer oder Applikationen in der Basis aber auch in Projektableitungen ableiten zu können. SHOGun versucht sich in seinem Kern auf genau diese Anforderungen zu beschränken und zusätzliche Fragestellungen durch seine Microservice-Architektur einfach integrierbar zu machen. Exemplarisch sei hier etwa Keycloak für die Identitäts- und Zugriffsverwaltung genannt.

SHOGun umfasst hierbei im Grunde die reine serverseitige Logik und Programmbestandteile. Im Vortrag werden wir jedoch auch Client-Applikationen (sowie deren zugrunde liegende Bibliotheken) vorstellen. Wenn man diese Einzelbestandteile geschickt zusammenstellt, profitiert man zu einem gewissen Teil von den Vorteilen beider Welten (Standardprodukt vs. Eigenentwicklung). SHOGun ist seit vielen Jahren in Entwicklung, hat jedoch in den letzten Jahren massive Neuentwicklungen erfahren und auch das Verständnis des Frameworks hat sich geändert. Dieser Vortrag hofft, die Beweggründe für diese Neugestaltungen anschaulich zu erläutern.

URL:
* https://github.com/terrestris/shogun