Bei Camptocamp sind wir seit über zehn Jahren stolze Mitwirkende am Open-Source-Projekt GeoServer. Umso mehr freut es uns, dass die Migration zu GeoServer 3 mit der Veröffentlichung der Version 2.28.0 Anfang dieses Monats einen grossen Schritt nach vorne gemacht hat – und damit offiziell Meilenstein 1 abgeschlossen ist.

Dieser Meilenstein ist nicht nur für die gesamte GeoServer-Community wichtig, sondern auch für unsere Kundinnen und Kunden, die diese Technologie in ihren Geodaten-Infrastrukturen und in GeoServer Cloud, der cloud-nativen Version, die wir mitentwickeln, einsetzen. Das Ziel dieser ersten Phase war klar: Altlasten beseitigen, langjährige Aktualisierungen und Abhängigkeiten angehen und so den Weg für die grosse Migration zu Spring Framework 6 bereiten.

Zu den wichtigsten Ergebnissen gehören die Integration der neuen Bildverarbeitungs-Engine Eclipse ImageN, die Umstellung auf Java 17 LTS sowie die Einführung eines neuen OAuth2 Open ID Connect-Moduls – all das legt die Grundlage für den nächsten Meilenstein und die nächste Generation von GeoServer.

 

GeoServer 3-Update

GeoServer 3 ist ein bedeutendes Upgrade, das von einem Konsortium aus Camptocamp, GeoSolutions und GeoCat geleitet und durch eine erfolgreiche Crowdfunding-Kampagne unterstützt wird.

Dies ist eine wichtige Investition in die Zukunft von GeoServer, und wir freuen uns, ein Projekt-Update bereitzustellen. Der GeoServer 3-Code-Sprint wurde letzte Woche abgeschlossen, und es gibt eine ganze Reihe von Erfolgen zu berichten.

 

Meilenstein 1 abgeschlossen

Mit der Veröffentlichung von GeoServer 2.28.0 ist Meilenstein 1 offiziell erreicht. Unser Ziel in dieser Phase war es, so viele Arbeiten wie möglich abzuschliessen, bevor die grosse Migration zu Spring Framework 6 erfolgt. Die wichtigsten erreichten Ziele sind:

  • Ersetzung der Bildverarbeitungs-Engine: Aktualisierung von Java Advanced Imaging 1.1.3 auf Eclipse ImageN 0.9.0, das eigens für diesen Anlass veröffentlicht wurde. Dies ist eine bedeutende technische Leistung, die über Jahre hinweg vorbereitet wurde – eine Kombination aus der Code-Spende von Oracle und der Arbeit von GeoSolutions an JAI-Ext.

    Integration von Eclipse ImageN für die Veröffentlichung von GeoServer 2.28.0. Diese Arbeit wurde direkt vom Office of Public Works finanziert.

  • Umstellung auf Java 17 LTS und Verbesserungen am Maven Bill-of-Materials, um die Verwaltung der zahlreichen Updates für Meilenstein 2 zu erleichtern.
     

  • Neues OAuth2 Open ID Connect-Modul, das bereits getestet und dokumentiert wurde – unter anderem mit den Authentifizierungsanbietern Google, GitHub, Microsoft Azure und Keycloak. Ein schöner Erfolg ist die Integrationstest-Abdeckung mit Keycloak (unter Verwendung von Test Containers), die den Weg für eine zukünftige offizielle Erweiterung ebnet.
     

Meilenstein 1 wurde nur wenige Wochen hinter dem ursprünglichen Zeitplan abgeschlossen, und wir sind mit dem Ergebnis sehr zufrieden. Eclipse ImageN ist jetzt öffentlich verfügbar und in GeoServer 2.28.0 enthalten.

 

Code Sprint – Meilenstein 2

GeoSolutions organisierte den Code-Sprint für Meilenstein 2 Mitte Oktober – bei perfektem Wetter 🌧️ für eine produktive Zusammenarbeit im Innenbereich.

Vor dem Sprint haben wir einen Code-Freeze für fünf Projekte durchgeführt, um externe Arbeiten vorübergehend zu stoppen und dem Team die volle Konzentration auf die Migration zu ermöglichen. Mit diesem Freiraum konnten OpenRewrite-Migrationen für JakartaEE, Spring 6.2, Spring Security 6.5 und Wicket 10 umgesetzt werden.

Darauf folgten manuelle Anpassungen, damit alle Module zunächst kompilieren, dann Tests bestehen, die Qualitätsprüfungen erfüllen und schliesslich lauffähig sind.

Die ersten Schritte verliefen für ImageIO-Ext und GeoTools reibungslos. Bei der GeoTools-Migration wurden zusätzlich Tests mit Elasticsearch durchgeführt und die HTTP-Client-Bibliothek auf dieselbe Version wie in den anderen Projekten aktualisiert.

Für GeoServer war sorgfältige Arbeit des gesamten Teams erforderlich – Modul für Modul. Zu den interessanten Herausforderungen gehörten:

  • Änderungen am URL-Mapper des Spring Frameworks, um zu bestimmen, welches Modul auf eine Anfrage antwortet. Bis dies behoben war, liess sich die Anwendung zwar kompilieren, funktionierte jedoch nicht.
     

  • Einige OGC-Standards verwenden Multi-Part-HTTP-Anfragen, und die dafür verwendete Apache Common File Library bietet noch keine stabile Version.
     

  • Das Spring Security 6.5-Update wurde während des Sprints abgeschlossen, finanziert vom Office of Public Works.
     

Die eingebetteten Web-Anwendungen (GeoWebCache, MapFish Print und GeoFence) erforderten deutlich mehr Aufwand. Besonders GeoWebCache war von den Änderungen am URL-Mapper betroffen, was die Auflösung von Workspaces und Layers in Verbindung mit GeoServer erschwerte. GeoFence wird im Rahmen von Meilenstein 3 weiterbearbeitet.

Der Code-Sprint war sehr erfolgreich: Das persönliche Treffen des Teams machte es möglich, mehrere Module parallel voranzutreiben. Damit liegt das Projekt GeoServer 3 im Zeitplan, und wir sind zuversichtlich, den geplanten Veröffentlichungstermin der Community im März 2026 einzuhalten.

 

Dank an die Unterstützerinnen und Unterstützer

Wir möchten allen Organisationen danken, die die Crowdfunding-Kampagne für GeoServer 3 unterstützt haben. Wir schätzen Ihr Vertrauen und Ihr Engagement für das GeoServer-Projekt sehr.

Einzeldank an: Abhijit Gujar, Hennessy Becerra, Ivana Ivanova, John Bryant, Jason Horning, Peter Smythe, Sajjadul Islam, Sebastiano Meier und Stefan Overkamp.

Weitere Informationen finden Sie auf der GeoServer 3 Crowdfunding-Seite.

Karriere

Sie sind daran interessiert, in einer inspirierenden Umgebung zu arbeiten und sich unseren motivierten und multikulturellen Teams anzuschliessen?