38
Lantmäteriets WMS En presentation av de olika komponenterna i plattformen och hur öppen källkod påverkar vår arbetsmetodik Erik Gustafson <[email protected]>

Lantmäteriets WMS - Geoforum · 2014-06-03 · Byte från Geoserver till Mapserver •Krav: Byta WMS-plattform och göra detta transparent för användare •Mapserver och Geoserver

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Lantmäteriets WMS - Geoforum · 2014-06-03 · Byte från Geoserver till Mapserver •Krav: Byta WMS-plattform och göra detta transparent för användare •Mapserver och Geoserver

Lantmäteriets WMS

En presentation av de olika komponenterna i plattformen och hur öppen källkod påverkar vår

arbetsmetodik

Erik Gustafson <[email protected]>

Page 2: Lantmäteriets WMS - Geoforum · 2014-06-03 · Byte från Geoserver till Mapserver •Krav: Byta WMS-plattform och göra detta transparent för användare •Mapserver och Geoserver

Alternativ titel

• Att sova gott om natten

- med externt publicerade karttjänster som har öppet 24/7

Page 3: Lantmäteriets WMS - Geoforum · 2014-06-03 · Byte från Geoserver till Mapserver •Krav: Byta WMS-plattform och göra detta transparent för användare •Mapserver och Geoserver

Bakgrund

• 23 WMS/WMTS tjänster

• Drygt två miljoner WMS GetImage per dag

• Ca 1.5 miljoner WMTS GetTile per dag

• Interna och externa användare

• Debitering

• Direktbetjäning

• Tjänst istället för direktanslutningar mot databas

• Centraliserad kartografi

Page 4: Lantmäteriets WMS - Geoforum · 2014-06-03 · Byte från Geoserver till Mapserver •Krav: Byta WMS-plattform och göra detta transparent för användare •Mapserver och Geoserver

Topowebbkartan

• Vår mest komplexa webbkarta

• Topografi, fastighetsinformation, fastighetsregister, småskaligtdata, VMap, terrängskuggning

• Sömlös kartskalning

Page 5: Lantmäteriets WMS - Geoforum · 2014-06-03 · Byte från Geoserver till Mapserver •Krav: Byta WMS-plattform och göra detta transparent för användare •Mapserver och Geoserver

Mapserver

Denna sida ska vara tom

Page 6: Lantmäteriets WMS - Geoforum · 2014-06-03 · Byte från Geoserver till Mapserver •Krav: Byta WMS-plattform och göra detta transparent för användare •Mapserver och Geoserver

Integrerad lösning vs separata komponenter

Stora intergrerade lösningar som ArcGIS plattformen ellerMicrosoft Office+ Helhetslösning+ Komponenter som fungerar bra ihop+/- “Utan att skriva en enda kodrad”+/- One size fits all- Mycket funktionalitet som inte används- Ibland svårt att integrera med andra produkter

Separata komponenter+ Byggda för att integreras med andra produkter (standarder)+ Oftast mycket effektiva, lättviktiga, utbytbara+ Ingen onödig funktionalitet- Oändligt med kombinationer, alla fungerar inte så bra ihop- Produkter från många olika leverantörer- Leder ofta till mer konfigurering

Page 7: Lantmäteriets WMS - Geoforum · 2014-06-03 · Byte från Geoserver till Mapserver •Krav: Byta WMS-plattform och göra detta transparent för användare •Mapserver och Geoserver

Kartplattformen

Mapserver

Page 8: Lantmäteriets WMS - Geoforum · 2014-06-03 · Byte från Geoserver till Mapserver •Krav: Byta WMS-plattform och göra detta transparent för användare •Mapserver och Geoserver

Kartplatformen

ApacheMapservermod_fcgid

Page 9: Lantmäteriets WMS - Geoforum · 2014-06-03 · Byte från Geoserver till Mapserver •Krav: Byta WMS-plattform och göra detta transparent för användare •Mapserver och Geoserver

Kartplatformen

ApacheMapservermod_fcgid

PostGIS

Page 10: Lantmäteriets WMS - Geoforum · 2014-06-03 · Byte från Geoserver till Mapserver •Krav: Byta WMS-plattform och göra detta transparent för användare •Mapserver och Geoserver

Kartplattformen

ApacheMapservermod_fcgid

PostGIS

GDAL

Page 11: Lantmäteriets WMS - Geoforum · 2014-06-03 · Byte från Geoserver till Mapserver •Krav: Byta WMS-plattform och göra detta transparent för användare •Mapserver och Geoserver

Kartplatformen

ApacheMapservermod_fcgid

PostGIS

GDAL

Apachemod_rewritemod_security

Page 12: Lantmäteriets WMS - Geoforum · 2014-06-03 · Byte från Geoserver till Mapserver •Krav: Byta WMS-plattform och göra detta transparent för användare •Mapserver och Geoserver

Kartplatformen

ApacheMapservermod_fcgid

PostGIS

GDAL

Apachemod_rewritemod_security

Mod_auth_ldapBasic auth

LDAP

Page 13: Lantmäteriets WMS - Geoforum · 2014-06-03 · Byte från Geoserver till Mapserver •Krav: Byta WMS-plattform och göra detta transparent för användare •Mapserver och Geoserver

Kartplatformen

ApacheMapservermod_fcgidCustomLog

PostGIS

GDAL

Apachemod_rewritemod_security

Mod_auth_ldapBasic Auth

LDAP

SAL(System Access Log)

Page 14: Lantmäteriets WMS - Geoforum · 2014-06-03 · Byte från Geoserver till Mapserver •Krav: Byta WMS-plattform och göra detta transparent för användare •Mapserver och Geoserver

Kartplatformen

ApacheMapservermod_fcgidCustomLog

PostGISGDAL

Apachemod_rewritemod_security

Mod_auth_ldapBasic Auth

LDAP

SAL

ApacheMapservermod_fcgidCustomLog

Page 15: Lantmäteriets WMS - Geoforum · 2014-06-03 · Byte från Geoserver till Mapserver •Krav: Byta WMS-plattform och göra detta transparent för användare •Mapserver och Geoserver

ApacheMapservermod_fcgidCustomLog

PostGIS

GDAL

Apachemod_rewritemod_security

Mod_auth_ldapBasic Auth

LDAP

SAL

ApacheMapservermod_fcgidCustomLog

OpenLayersQgisuDig

ArcMap

Page 16: Lantmäteriets WMS - Geoforum · 2014-06-03 · Byte från Geoserver till Mapserver •Krav: Byta WMS-plattform och göra detta transparent för användare •Mapserver och Geoserver

ApacheMapservermod_fcgidCustomLogmapcache

PostGIS

GDAL

Apachemod_rewritemod_security

Mod_auth_ldapBasic Auth

SAL

ApacheMapservermod_fcgidCustomLogmapcache

OpenLayersQgisuDig

ArcMap

LDAP

Page 17: Lantmäteriets WMS - Geoforum · 2014-06-03 · Byte från Geoserver till Mapserver •Krav: Byta WMS-plattform och göra detta transparent för användare •Mapserver och Geoserver

Test

- JMeter

- Stresstest

- Baseline

- Prestandaoptimering

- Pg_stat_statements

- Validering

- Desktopklienter och open layers för att hitta problem med tolkningar av WMS-standarder

Page 18: Lantmäteriets WMS - Geoforum · 2014-06-03 · Byte från Geoserver till Mapserver •Krav: Byta WMS-plattform och göra detta transparent för användare •Mapserver och Geoserver

Prestanda i underliggande databas

• Denormaliserad datamodell

• Undviker stora attribut, tex långa textattribut

• Cluster med spatiellt index

• Småskaligt data

• Stora ytor klippta i mindre enheter

• “Materialiserade vyer”

• Undviker stora uppdateringar

– Mindre batchar

– Ersätta hela tabeller med nya

• Saknar stöd för lokalt partitionerade spatiella index

Page 19: Lantmäteriets WMS - Geoforum · 2014-06-03 · Byte från Geoserver till Mapserver •Krav: Byta WMS-plattform och göra detta transparent för användare •Mapserver och Geoserver

Mapfilsproduktion

• Topowebbkartan är ca 60 000 rader lång

• Python / cheetah som texthanteringsverktyg

• Subversion

• Sneglar på Scribe UI

Page 20: Lantmäteriets WMS - Geoforum · 2014-06-03 · Byte från Geoserver till Mapserver •Krav: Byta WMS-plattform och göra detta transparent för användare •Mapserver och Geoserver

Appråpå mapfiler

• Textbaserade

– Versionshantering

– Dokumentation

– Search/replace

• Parametrisering

– Färgscheman

– Databasinställningar

– Lagernamn

– Olika texthantering för cache och wms

• Modulära block

Page 21: Lantmäteriets WMS - Geoforum · 2014-06-03 · Byte från Geoserver till Mapserver •Krav: Byta WMS-plattform och göra detta transparent för användare •Mapserver och Geoserver

Vår (karttjänst) historia

• <200x ArcIMS 4 – Interna bakgrundskartor

» KartaDirekt

• 2008 ArcGIS Server – Multikartan, intern och viss extern anvädning, WMS

• 2009 ArcGIS Server, ArcGIS Image Server – Multikartan cachad

• 2010 GeoServer + ArcGIS Server – Geoserver som WMS på ArcGIS Server Cache

• 2011 Mapserver/PostGIS Topowebbkartan, Inspire mfl

• 2012 Mapserver + Mapcache

• 2014 Mapserver WMS, Deegree WFS

• 2015 Mapserver WMS/WCS, Deegree WFS-T

Page 22: Lantmäteriets WMS - Geoforum · 2014-06-03 · Byte från Geoserver till Mapserver •Krav: Byta WMS-plattform och göra detta transparent för användare •Mapserver och Geoserver

Problemen

• WFS 2.0 / Inspire-scheman

• SLD

• Connection poolning

• Databas single point of failure

• 24/7 medför problem att underhålla / uppdatera databas

Page 23: Lantmäteriets WMS - Geoforum · 2014-06-03 · Byte från Geoserver till Mapserver •Krav: Byta WMS-plattform och göra detta transparent för användare •Mapserver och Geoserver

Att sova gott om natten

• Isolerade CGI-processer

• Mestadels standardkomponenter

• Versionshantering

• Fail over

Page 24: Lantmäteriets WMS - Geoforum · 2014-06-03 · Byte från Geoserver till Mapserver •Krav: Byta WMS-plattform och göra detta transparent för användare •Mapserver och Geoserver

Öppen källkod

• Den största fördelen med öppen källkod är för oss inte att byggain egen funktionalitet eller rätta buggar. Detta är oftatidskrävande och svårt.

• Att däremot kunna köra programmet i en debugger och se vadsom händer gör att vi ofta kan förstå var och varför något intefungerar. Vet man var problemet uppstår går det ofta att kommarunt det.

• Om något slutar fungera vid en uppgradering av programvarankan vi enkelt kontrollera vilka förändringar som har gjorts och påså sätt hitta problemet.

• Vi har full kontroll på vilken version av programvaran vi skaanvända

Page 25: Lantmäteriets WMS - Geoforum · 2014-06-03 · Byte från Geoserver till Mapserver •Krav: Byta WMS-plattform och göra detta transparent för användare •Mapserver och Geoserver

Fri mjukvara

• Licenshantering

• Licensservrar

• Full kontroll över livscykelhantering

Page 26: Lantmäteriets WMS - Geoforum · 2014-06-03 · Byte från Geoserver till Mapserver •Krav: Byta WMS-plattform och göra detta transparent för användare •Mapserver och Geoserver

Gratis mjukvara

• Framtida uppskalning

• Fail over

Page 27: Lantmäteriets WMS - Geoforum · 2014-06-03 · Byte från Geoserver till Mapserver •Krav: Byta WMS-plattform och göra detta transparent för användare •Mapserver och Geoserver

Flera spridda företag

• God kvalitet när många är inblandade. Ordning och reda

• Inga uppköp / konkurser

• Inga ändrade licensformer

Page 28: Lantmäteriets WMS - Geoforum · 2014-06-03 · Byte från Geoserver till Mapserver •Krav: Byta WMS-plattform och göra detta transparent för användare •Mapserver och Geoserver

Uppskalning

• Streaming replication - replikering

• pgBouncer – poolning på varje enskild databas

• F5 – poolning för TCP mellan de olika databaserna (hårdvara)

• Repmgr – hantering av noder

Mål:

- Ökad prestanda

- Tillgänglihet

- Möjligöra uppdateringar / uppgraderingar

Page 29: Lantmäteriets WMS - Geoforum · 2014-06-03 · Byte från Geoserver till Mapserver •Krav: Byta WMS-plattform och göra detta transparent för användare •Mapserver och Geoserver

pgPointCloud

• Punktmolns lösning för PostGIS

– Lagring av enskilda punkter extremt ineffektivt

• I drift 2014(?)

• Ca 650 miljarder punkter

• Exporterar / importerar LAS

• Sömlösa in-/ut-checkningar

• Spatiella operationer

• De flesta tjänster går mot ett genererat grid på fil. Ej mot databas

Page 30: Lantmäteriets WMS - Geoforum · 2014-06-03 · Byte från Geoserver till Mapserver •Krav: Byta WMS-plattform och göra detta transparent för användare •Mapserver och Geoserver

Byte från Geoserver till Mapserver

• Krav: Byta WMS-plattform och göra detta transparent föranvändare

• Mapserver och Geoserver var inte helt kompatibla

– Geoserver hade en “snällare” tolkning av anropen

– Mapserver var strikt och retunerade felmeddelanden dåparametrar utelämnades

– Olika utseende på capabilities

Page 31: Lantmäteriets WMS - Geoforum · 2014-06-03 · Byte från Geoserver till Mapserver •Krav: Byta WMS-plattform och göra detta transparent för användare •Mapserver och Geoserver

SAL

Vilken

användareVad

efterfrågades

Tidpunkt

Vilken tjänst

Hur mycket

data

Leveranstid

Kostnad

Page 32: Lantmäteriets WMS - Geoforum · 2014-06-03 · Byte från Geoserver till Mapserver •Krav: Byta WMS-plattform och göra detta transparent för användare •Mapserver och Geoserver

Befintlig

Produkt

Proxy

SAL

Klienter

Ny

Produkt

Uttag unika

anropstyper

TestsvitMisslyckade

anropAnpassa

Page 33: Lantmäteriets WMS - Geoforum · 2014-06-03 · Byte från Geoserver till Mapserver •Krav: Byta WMS-plattform och göra detta transparent för användare •Mapserver och Geoserver

Anrop per timme

Levererade objekt

Datamängd per dag

Svarstid per användare

Page 34: Lantmäteriets WMS - Geoforum · 2014-06-03 · Byte från Geoserver till Mapserver •Krav: Byta WMS-plattform och göra detta transparent för användare •Mapserver och Geoserver
Page 35: Lantmäteriets WMS - Geoforum · 2014-06-03 · Byte från Geoserver till Mapserver •Krav: Byta WMS-plattform och göra detta transparent för användare •Mapserver och Geoserver
Page 36: Lantmäteriets WMS - Geoforum · 2014-06-03 · Byte från Geoserver till Mapserver •Krav: Byta WMS-plattform och göra detta transparent för användare •Mapserver och Geoserver

Att ge tillbaka

• Vi är dåliga/omogna på att publicera källkod som open source

• Men vi har produktionssatta system och berättar om dem påkonferenser

• Vi diskuterar problem och lösningar på forum / mailinglistor

• Vi delar med oss av våra konfigurationer och exempelkod för attanvända våra tjänster

Page 37: Lantmäteriets WMS - Geoforum · 2014-06-03 · Byte från Geoserver till Mapserver •Krav: Byta WMS-plattform och göra detta transparent för användare •Mapserver och Geoserver

Öppna data

• Tids nog… Frågan är inte OM utan HUR

• Finansiering

– Kostnad ca 100 miljoner om året

– Varav en stor del från andra myndigheter/kommuner

• Komplext data, behöver förenklas

• Bygga infrastruktur för självbetjäning

• Licensiering

• Googla!

Page 38: Lantmäteriets WMS - Geoforum · 2014-06-03 · Byte från Geoserver till Mapserver •Krav: Byta WMS-plattform och göra detta transparent för användare •Mapserver och Geoserver

Tack för att ni lyssnade!