Implementering av OGC API - Et undersøkende og sammenlignende arbeid tilknyttet tjenesteoppsett etter ny og gammel standard
Abstract
OGC API er en ny familie av standarder fra Open Geospatial Consortium (OGC), lansert som en videreutvikling av WxS-familien. De nye standardene baserer seg på moderne teknologi for datautveksling over internett, og etterligner i større grad hvordan dette blir gjort i IT-verdenen generelt. Oppgaven undersøker hvordan én av disse nye standardene, OGC API Features, vil påvirke en geomatikers arbeidsgang for tjenesteoppsett på etablerte serverplattformer sammenlignet med dennes tilsvar blant WxS-standardene, Web Feature Service (WFS). Det blir også undersøkt hvilke muligheter overgangen til OGC API eventuelt vil gi.
For å undersøke dette har vi delt denne oppgaven i to deler, hvorav en del inneholder en teoretisk gjennomgang av standardene, og den andre en mer praktisk utprøving av tjenesteoppsett i henhold til både ny og gammel standard. For den praktiske undersøkelsen ble det satt opp tjenester på tre ulike plattformer, GeoServer, ArcGIS Server og pygeoapi. Samtlige har støtte for OGC API Features, men kun de to førstnevnte har støtte for WFS. GeoServer og pygeoapi ble satt opp på en ekstern Linux/Ubuntu server. ArcGIS Server ble satt opp lokalt på en Windows-datamaskin.
Arbeidsgangen ved oppsett av tjenester etter ny og gammel standard på ulike plattformer blir presentert, hvor installasjon og tjenesteoppsett blir beskrevet trinnvis. Det blir også framvist skjermdumper av eksempler på kall. Innholdet her, teori og ulike aspekter med programvaren blir videre utforsket og analysert.
Standardene representer to grunnleggende forskjellige måter å bygge opp tjenester på. Den eldre WFS-standarden bruker sammen med resten av WxS-familien HTTP med SOAP som overføringsmetode for XML-baserte filer, mens OGC API-standardene er basert på nyere REST-arkitektur og er rettet mot datarepresentasjoner, og åpner opp for data på flere formater. Overgangen vil gjøre det mulig å gå bort fra XML-baserte filer til å kunne gi ut de filene som selv er ønsket.
Plattformenes forskjeller ligger i brukervennlighet og muligheter. ArcGIS Server oppleves brukervennlig både på installasjon, tjenesteoppsett og dokumentasjon. Den har derimot begrensede utvidelsesmuligheter, er proprietær og krever lisens for bruk. GeoServer vurderes som brukervennlig etter gjennomført installasjon, har et etablert bruker/-utviklermiljø, og har god dokumentasjon. GeoServer har åpen kildekode, men har også noen utfordringer, spesielt rundt installasjonsprosessen. pygeoapi har også åpen kilde, oppleves krevende å sette opp, har et forholdsvis lite bruker/-utviklermiljø og krever en større grad av teknisk forståelse rundt REST-teknologi for bruk. Til gjengjeld kan man ved beherskelse av pygeoapi sette opp avanserte, framtidsrettede og gode tjenester i henhold til den nye standarden. OGC API is a new family of standards from the Open Geospatial Consortium (OGC), released as a development of the existing WxS-standards. These new standards are based on modern technology for data exchange over the internet and more closely resembles how this is done in the IT industry in general. This study examines how one of these new standards, OGC API Features, will affect a geomatics engineers’ workflow for service setup on established server platforms compared to its counterpart among the WxS standards, Web Feature Service (WFS). The study also investigates what opportunities the transition to OGC API might provide.
To investigate this, we have divided this study into two parts, one of which contains a theoretical review of the standards, and the other a more practical testing of service setup according to both the new and old standards. For the practical investigation, services were set up on three different platforms: GeoServer, ArcGIS Server, and pygeoapi. All three support OGC API Features, but only the first two support WFS. GeoServer and pygeoapi were installed on an external Linux/Ubuntu server. ArcGIS Server was installed locally on a Windows computer.
The workflow for setting up services according to the new and old standards on different platforms is presented, with installation and service setup described step-by-step. Examples of operations are also presented. The content of which, in addition to theory and various aspects of the software are further explored and analyzed.
The standards represent two fundamentally different ways of building services. The older WFS standard, together with the rest of the WxS family, use HTTP with SOAP as the transmission method for XML-based files, while the OGC API standards are based on newer REST architecture aimed towards data representations, opening for data in multiple formats. The transition will make it possible to move away from XML-based files, enabling data to be delivered in multiple formats.
The platforms differ in usability and capabilities. ArcGIS Server is user-friendly when it comes to both installation and service setup and has good quality documentation. However, it has limited extension possibilities, is proprietary, and requires a license to be used. GeoServer is considered user-friendly after installation, has an established community, and has good quality documentation. GeoServer is open source but also has some challenges, especially regarding the installation process. pygeoapi is also open source, but it is challenging to set up, has a relatively small community, and requires a greater degree of technical understanding of REST technology. At the same time, using pygeoapi allows for the creation of advanced, future-oriented services in compliance to the new standard.