N O R K A R T G E O S E R V I C E A S Desember 2010
INNHOLD 1 INTRODUKSJON... 4 2 NAVNETJENESTE... 5 3 PORTAL... 6 4 OBJEKTKATALOG... 6 5 ARKIV... 7 6 ADMINISTRASJONSPROGRAMMER... 8 7 TILGANGSAPI... 8 8 ARKITEKTUR... 8 8.1 PRIMÆRMINNEMODELL... 9 8.2 LAGRINGSMODELL... 9 9 PRINSIPPER FOR UTHENTING AV DATA... 9 10 PRINSIPPER FOR OPPDATERING... 10 11 REVISJONSLOGG... 11 Side : 2
Forord Dette dokumentet er et av fire dokumenter som utgjør dokumentasjon for Quadri Map Server systemet. Systemet er utviklet i et samarbeidsprosjekt mellom Statens Kartverk, Statens Vegvesen og Norkart Geoservice AS., med Norkart Geoservice som utførende part. Hensikten med dette dokumentet er å gi en overordnet beskrivelse av systemet og de delene det består av. I tillegg til denne overordnete beskrivelsen foreligger følgende dokumenter: Quadri Map Server Utviklerhåndbok Quadri Map Server Datamodeller Side : 3
1 Introduksjon Quadri Map Server er et grunnsystem for lagring og forvaltning av Stedfestede objekter. Med Quadri Map Server kan man knytte sammen geografiske datakilder og distribuere disse via et felles grensesnitt. Omvendt kan man fra flere applikasjoner lagre data til flere datalager via felles grensesnitt. Quadri Map Server er et klient-tjener system. Det finnes et sett med tjenere for å distribuere data og det finnes et tilhørende sett med administratorer for å administrere disse tjenerne. Tjenerne kan kjøres på en separat enbruker PC og/eller de kan kjøres på internett/intranett. Alle tjenerne kan knyttes sammen i et nett slik at klientene lett kan hente data fra flere kilder. Det betyr at systemet kan skaleres fra å være et enbrukersystem til å dekke et lands behov for å binde sammen geografiske data i en infrastruktur. Klienter kan hente data og/eller utføre tjenester på data direkte på samme maskin, eller klienten kan kontakte en eller flere tjenere for å hente data og/eller utføre tjenester. For brukeren av Quadri Map Server er altså alle datasettene like lett tilgjengelig uansett hvor de ligger fysisk lagret. De forskjellige systemkomponentene kan også plasseres fritt geografisk. Den eneste forutsetningen er at det er IP-kommunikasjon mellom dem. For eksempel kan en bruker samtidig jobbe mot et arkiv plassert hos Kartverket og et annet arkiv plassert hos Statens Vegvesen. er et meget fleksibelt system som kan tilfredsstille de fleste ønsker i forvaltningen av primærdata. Figuren under viser en oversikt over de viktigste komponentene i systemet. Klient N G I S - A P I navnetjeneste portal objekt katalog arkiv arkiv arkiv Figur. Arkitekturoversikt Side : 4
2 Navnetjeneste Denne tjenesten er usynlig for den vanlige bruker. Alle tjenere i systemet kan identifiseres med et logisk navn og en unik ident (UUID). Alle tjenerne registrerer seg i navnetjenesten ved oppstart. Navnetjenesten brukes til å omsette UUID en til en nettverksadresse. Klienter forholder seg kun til logiske navn og det er derfor mulig å flytte en tjener fra en maskin til en annen uten at klientene trenger å ta hensyn til dette. Navnetjenesten vil automatisk bli oppdatert når tjeneren startes på ny maskin. Klient NGIS - API portal Navnetjeneste Logisk navn Logisk navn Logisk navn Logisk navn Nettverksadresse Nettverksadresse Nettverksadresse Nettverksadresse objekt katalog Figur. navnetjeneste Side : 5
3 Portal Dette er inngangsporten til. Brukeren gis tilgang til data i arkiv ved å velge en definert arbeidsoppgave i en portal. Hver oppgave kan ha sitt eget oversiktskart og standard utvalg av data med kobling til arkiv. Det er også definert hvilke brukere og grupper av brukere som har tilgang til de ulike oppgavene. (Dette er satt opp ved hjelp av PortalAdministratoren). I oppgaven er det også definert hvilke data som kan oppdateres, og hvilke som bare kan leses. Klient Portal Bruker Bruker Gruppe Gruppe NGIS - API Oppgave Oversiktskart Utvalg objekt katalog Portal - administrator R W 4 Objektkatalog Dette er en felles lagringsplass for datadefinisjoner. Dette omfatter: Objekttyper (Samme som objekttyper i SOSI). Geometrityper (Eks. Punkt, linje, kurve) Egenskapstyper med lovlig verdiintervall mm. Er tilnærmet det samme som objektkatalogen i SOSI. Side : 6
Objektkatalog portal Feature-type Feature-type Feature-type Geometri-type Geometri-type Geometri-type Objektkatalog Atributt-type Atributt-type Atributt-type Objektkatalog - administrator Figur. objektkatalog. 5 er den/de enhetene i systemet som foretar selve datalagringen. Hvert arkiv er en selvstendig enhet. ene kan ligge på samme datamaskin som Portalen og Objektkatalogen, men de kan også ligge spredt på forskjellige datamaskiner. Bare objekter som samsvarer med objekttyper i arkivets objektkatalog kan lagres i arkivet Objektkatalogen inneholder beskrivelse av hvilke egenskaper hver objekttype skal/kan ha og lovlige verdiområder for egenskapene. ets objektkatalog er et utdrag fra objektkatalog. et mapper datamodellen til aktuelt lagringsformat. I dagens versjon er det laget mapping til Oracle relasjonsdatabase. et har tilgangskontroll for å sikre mot uautorisert bruk av dataene. Klient portal NGIS - API Objektkatalog objekt katalog Oracle database Mapping og tilgangskontroll - administrator Side : 7
6 Administrasjonsprogrammer Hver type tjener i systemet har et administrasjonsprogram som benyttes for å sette opp og administrerer tjenerne. Det finnes altså en Portaladministrator, en administrator og en Objektkatalogadministrator. I tillegg finnes en Tjeneradministrator som benyttes til å starte og stoppe tjenere, opprette nye tjenere med mer. 7 TilgangsAPI Quadri Map Server leveres ikke med klientbrukergrensesnitt. Systemet tilbyr derimot et programmeringsgrensesnitt som klienter kan benytte for å få tilgang til data lagret i systemet og utføre tjenester på disse. I tillegg til API et vil klienten måtte benytte 3 ulike datamodeller for å håndtere dataene i systemet, dette er geodatamodellen, querymodellen og actionmodellen. TilgangsAPI et og bruken av datamodellene er beskrevet i egne dokumenter. 8 Arkitektur Quadri Map Server er konstruert for å passe i en flerlagsarkitektur. Denne kan deles inn i følgende lag: UI-lag - Inneholder brukerinterface. Applikasjonslag - Inneholder logikk for applikasjonen. Fag-lag - Inneholder tjenester og fagdata. Basis-lag - Inneholder standardiserte klasser for data og tjenester. Lagrings-lag - Inneholder mapping til datalagringsformat. Quadri Map Server dekker de 3 nederste lagene. Systemet bygger på en samling kjernekomponenter som kan benyttes av applikasjoner eller tjenere. Det er bygd opp fleksibelt slik at det kan lages flere typer tjenere og klienter fra grunnkomponentene. Flere av komponentene kan både benyttes på klient og tjenersiden. De sentrale datamodellene utgjør basislaget i systemet. En mapper ( oversetter) henter/lagrer data i databasesystemet. Lagene over forholder seg igjen til modellene. Mapperen kan byttes/endres slik at man kan lese/lagre til et annet format, uten at dette påvirker lagene over. Midtlagene gjør applikasjonene uavhengig av lagringssystemet. Side : 8
Figur. Hovedelementene i arkitektur 8.1 Primærminnemodell Midtlaget består av flere primærminnemodeller som alle bygger på en geodatamodell. Primærminnemodellen er konstruert objektorientert og beskrevet i UML. Det er utarbeidet et eget dokument som dokumenterer modellene. Kommunikasjon : Kommunikasjonsrammeverket kan transportere objekter i midtlaget. Kommunisksjonsrammeverket er uavhengig av type kommunikasjon. Det kreves imidlertid at samme type kommunikasjonsstandard benyttes både på tjener og klient. 8.2 Lagringsmodell Som lagringsmodell benyttes Oracle med Oracle Spatial som geografisk indekseringssystem. 9 Prinsipper for uthenting av data Portalen er klientenes inngangsport til. Her er lovlige brukere definert, og portalen inneholder et sett med oppgaver som brukerene gis tilgang til. En oppgave har en kobling til ett eller flere arkiver som data skal kunne hentes fra samt informasjon om data skal kunne hentes ut for lesing eller om data skal oppdateres og kunne tilbakelagres i arkivene. Hver oppgave kan i tillegg ha sitt eget oversiktskart som klienten kan hente hvis ønskelig. Når en bruker har valgt en oppgave kan han eventuelt innskrenke området denne dekker, objekttypene og arkivene som inngår. Side : 9
Klienten henter ut data via oppgaven som er valgt og får i retur et geodatasett pr. arkiv som er involvert i oppgaven. Det er så opp til klienten å prosessere dataene videre. 10 Prinsipper for oppdatering Oppdatering av data via Quadri Map Server baserer seg på lange transaksjoner. Det vil si at objekter som skal oppdateres hentes ut fra arkivtjenerne via en valgt oppgave. Tilgang til oppdatering i et arkiv forutsetter at portalen er tildelt skriverettighet til arkivet og at oppgaven som benyttes ved uthenting også er satt opp med skrivetilgang mot samme arkiv. Når data hentes ut for oppdatering låses de objektene som hentes ut av klienten i arkivet. En annen bruker som prøver å hente ut de samme objektene vil ikke ha mulighet til å oppdatere disse før første bruker har sjekket objektene inn igjen eller objektene er låst opp på annen måte. Objekter som er låst kan imidlertid fritt hentes ut for lesing. Se for øvrig eget kapittel om låsing. Når klienten har hentet ut data via en oppgave vil oppdateringene utføres lokalt hos klienten. Når oppdateringene er avsluttet må klienten identifisere oppdaterte, slettede og nye objekter og sende disse tilbake til arkivene de opprinnelig ble hentet fra. Side : 10
11 Revisjonslogg Dato Versjon Aksjon Forfatter 3. april 2002 1.0 Dokumentet opprettet Vidar Stensrud 20. juni 1.1 Oppdatert innhold Randi Wessmann 26. sept 2002 2.0 Layout Randi Wessmann Desember 2010 3.0 Oppdatert navn og begreper Randi Wessmann Side : 11