Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Certified GeoServer: status of OGC service and ...

Certified GeoServer: status of OGC service and format compliance

This presentation chronicles the evolution of GeoServer’s compliance with OGC standards, detailing both past challenges and recent achievements. GeoServer has long been committed to open standards, historically running CITE tests to validate its OGC services. However, due a build server vandalism event, daily checks for CITE compliance got lost.

The GeoServer PSC eventually sponsored a new way for running automated tests, which succeeded, but eventually failed to achieve completion of making the test pass again, and to reinstate checks as a daily, operational activity.

A turning point came during the 2024 OGC API Features sprint, which served as the catalyst for reinstating CITE test automation, for OGC API Features itself, along with a couple of other services that did not require further work.

Recognizing the importance of standards compliance for users and the broader geospatial community, the GeoServer team began adding more more services to the effort, performing a combination of fixes in the GeoTools and GeoServer projects, as well as a productive collaboration with OGC to fix some issues in the CITE tests themselves.

By leveraging GitHub Actions, the project now continuously validates compliance across a broad spectrum of supported services—including WMS, WMTS, WFS, WCS, and OGC API Features—and widely used data formats such as GeoTIFF, GeoPackage, and KML. These tests are now a key part of the pull request workflow, ensuring that new changes maintain or improve compliance.

Finally, the presentation outlines the roadmap for achieving re-certification, which includes formal validation with OGC over a well known server, which might also help GeoServer become a new reference implementation as well. By re-establishing certification, GeoServer aims to reinforce its reputation as a reliable, standards-compliant platform for geospatial data and visualization services.

Avatar for Simone Giannecchini

Simone Giannecchini PRO

July 22, 2025
Tweet

More Decks by Simone Giannecchini

Other Decks in Technology

Transcript

  1. GeoSolutions Enterprise Support Services Deployment Subscription Professional Training Customized Solutions

    GeoNode • Offices in Italy & US, Global Clients/Team • 30+ collaborators, 25+ Engineers • Our products • Our Offer
  2. Affiliations We strongly support Open Source, it is in our

    core We participate in OGC testbeds and get funded to advance new open standards We support standards critical to GEOINT
  3. GeoServer: OGC first • GeoServer has long been implementing OGC

    services • WFS first • Then came WMS • Then WCS • Eventually WPS and CSW • Fast forward to 2020s with OGC APIs
  4. OGC Service validation and certification • A given service can

    be “implementing” a standard, without any certification • But one can be also “certified compliant” • CITE: Compliance & Interoperability Test Engine test engine
  5. General Workflow • Stand up test server, online • Point

    the test suite to the server • Set up parameters to drive testing • Older suites may require specific test data
  6. We should run tests more often • Months passed between

    releases • When close to release, one had to manually run the tests • Better to • Know daily, right after commits • Run automated • Finding: tests could be run also from CLI
  7. CITE tests automation (~2010) • Work performed by Justin Deoliveria

    • Needed to patch CITE engine to run in a build server • headless • automated • Eventually we had: • WMS 1.0/1.1.1 • WFS 1.0/1.1 • WCS 1.0/1.1
  8. Suites pinned • We wanted to test GeoServer changes (are

    they breaking CITE tests?) • So we pinned the tests • In the meantime, the CITE tests had new releases, and weren’t passing any longer • New tests not available before • Existing tests modified • No funding to perform upgrades. Yet, running older tests was better than not running them at all
  9. Still useful… until it fell apart • Eventually the build

    server was attacked and vandalized • We had to build a new one • When we did, we realized part of the CITE test machinery was actually stored on the server itself, and got lost, along the dev that worked on it • The new build server could not run CITE tests anymore • Releases had became frequent, we had no manpower to run manually anymore
  10. 2019, GSIP 176, a new beginning • Geoserver Improvement Proposal

    176 by Jody Garnett • “CITE Automation RFP” • Collect funds and proposals to restart the automated CITE tests runs • Have a machinery to run tests (just run, step 1) • Desired outputs • Run all old tests plus some new ones (WFS 2.0, WMTS 1.0) • Run on the build server • Run on developer machine
  11. Going through turbulent times • GSIP approved Dec 2019 •

    Unfavourable timing, OGC was changing CITE testing • New tests being written in TestNG (rather than XSLT) • Docker support was started, but only for some tests • REST API to invoke tests, in addition to CLI and Web (but only for newer test suites back then) • Attempts to use the above failed, eventually the effort worked on using CLI, with custom Docker packaging • Completed 2021
  12. Step 2: sprint to pass the tests • Once the

    machinery to run tests was ready, we had to make tests pass • But we were fully in the pandemic • The in-person international code sprint to have tests pass was delayed • The pandemic closed in 2023 • But then we got threatened to be sued for org.opengis usage in Java package names • opengis-harmonization code sprint late 2023
  13. OGC API Features code Sprint 2024 • Camp2Camp organized a

    code sprint to graduate the OGC API Features community module to supported status, November 2024 • One of the objectives? Pass CITE certification for it! • Gabriel Roldan revived the existing docker machinery, using the new OGC docker images (docker + rest) as an option • We found WCS 1.1 and WMS 1.1 would also pass out of the box
  14. A different approach: Github actions • In the era of

    GitHub, it’s best to run as many tests as possible in Github actions! • Prevent compliance regressions from getting in Nov 13th 2024 3
  15. WFS 1.0 and 1.0, Nov 18th 2024 • Andrea started

    hammering the CITE tests for the other standards in spare time • WFS 1.0 and 1.1 only required fixes to test data • One week after the Sprint (Nov 16-18th) 5
  16. WMS 1.3, Nov 24th 2024 • WMS 1.3 working after

    another week • This required one fix in the GeoServer code 6
  17. WFS 2.0, Jan 3rd 2025 • This is the first

    “new tests” that we never had before 7
  18. GeoTiff 1.1, Jan 10th 2025 • Did you know CITE

    validates also formats? • Set up machinery to extract outputs and validate them against CITE tests • Validated WMS and WCS, single band, multiband, tiled, rotated, DEFLATE and JPEG compressed • Required one fix in GeoTools 8
  19. GeoPackage 1.2, Feb. 8th 2025 • Validate GeoPackage produced by

    GeoServer • Required one fix to GeoTools • And one fix in the CITE tests themselves (yes, it happens). We used a patched test for the moment 9
  20. WMTS 1.0, Feb. 24th 2025 • This one was trickier,

    multiple changes • One fix in GeoWebCache • One in GeoServer • Two in the test suite itself (being discussed, using a patched version) 10
  21. WCS 2.0, March. 25th 2025 • One fix in GeoServer

    • One proposed for the test suite itself • Some tests are not being run at all due to spec and XSD schemas inconsistenscies 1 1
  22. OGC API Tiles - July 3rd 2025 • OGC API

    Tiles is still a community module • Required 3 fixes in GeoServer • Needs the most recent test suite version (one fix needed there) 12 
  23. Any more test suites to target? • CSW 2.0.2 •

    not attempted yet • KML • Does not pass due to some XML binding issues • GeoServer 3 will bring in required updates • OGC API Processes (brand new community module) • Several failures, still investigating
  24. How about getting certified again? • Peter Smythe leading the

    charge • First order of business, we need online servers • A separate GeoServer for each protocol (specific data) • Seven GeoServer in total • Each on a different TCP port • Synch with OSGeo to get the HW, perform the deploys • Everything working by March 2025
  25. Ready to roll! …. Or not? • Ready to certify

    in March 2025 • Certification goes through OSGeo, which in turn contacts OGC • Angelos Tzotsos is our patient OSGeo counterpart • Hitting a hiccup: OGC requires payment for all services that are not Reference Implementation • We cannot ask to become RI for everything, only a few servers are allowed, RI slots are already used • Total: 1000+ USD… whoops! Every year? Let’s talk!
  26. Ok for one time, with a discount • The GS

    PSC does have a little money left for this • Decided to use if for one round of certification • OGC offered a discount too • GS is the only OSGeo project doing paid certifications (others do RI only)
  27. What about the future? • Certification will expire and we’ll

    have to pay again • We’re adding more CITE tests, we’ll have to pay more • If some GS 3 funds are left, certify it in March 2026? • Need your help gathering funds for certification going forward in the future • Otherwise, only RI for us too