KS Læring - automatisk synkronisering av org-struktur

Fra Efaktor Wiki

Sammendrag

Her finner du dokumentasjonen på oppsett og drift av TARDIS-integrasjonen for en kommune. Kortversjonen er at den inneholder integrasjonslaget mellom en kommune og KS Læring. Kommunen setter opp en webservice som blir kontaktet av integrasjonslaget, prosessert mot data som allerede finnes fra før og synkronisert med KS Læring hver natt. Resultatet er at alle kommunalt ansatte til enhver tid har oppdatert brukerprofil i KS Læring med korrekt tilhørighet og personinformasjon.

Denne Wikien tar for seg hvem som kan få automatisk org-struktur synkronisering og hvordan en går fram for å få dette. Artikkelen omtaler også hva som trengs for å vedlikeholde dette.

Hvem kan få automatisk synkronisering?

Alle kommuner som har satt opp ADFS SSO (Single Sign On) via https://kommunenavn.weblogin.no har mulighet for å få automatisk synkronisering. Programvaren for å synkronisere er plassert sammen med ADFS fordi vi da effektivt kan fordele svært mange kommuners nattlige synkroniseringer på mange servere og minimere belastningen på KS Læring. En annen meget stor fordel er at feil på EN kommunes integrasjon ikke berører andre kommuner i det hele tatt. Vi får effektivt tette skott mellom hver kommune og reduserer muligheten for nedetid på grunn av tekniske feil.


Hva er TARDIS?

TARDIS-programvaren består av flere komponenter og har underveis i utviklingsprosessen hatt navnet "Fellesdata". Det kan derfor godt hende at en finner referanser til Fellesdata, men dette og TARDIS er det samme fra nå av.

Bergen kommune har dokumentert TARDIS-tjenesten her: TARDIS-tjenesten

Det er bygget inn støtte for å lage mer enn et tilkoblingsadapter mot kommunenes systemer. En så fra starten av for seg at det ville komme ønsker om egne adaptere mot f.eks. Visma, Agresso og andre.

Eneste adapter mot integrasjonslaget er pr. dato "TARDIS" som er utviklet i samarbeid med Bergen kommune. Teknisk dokumentasjon for denne fås ved henvendelse til eFaktor på [1].

Det er fullt mulig å lage flere adaptere, men en må regne med ca 3 mnd leveringstid på et nytt. (Inkludert planlegging, utvikling, testing og feilretting før produksjonssetting.)

TARDIS er derfor i praksis en "standard" som det er enkelt å sette opp og gir et datauttrekk for kommunen som automatisk synkroniserer:

  • Org-strukturen for kommunen i sektorer og arbeidssteder
  • Hvem som er ledere for hvert org-element og hvem som skal rapport-tilgang.
  • Fakturainformasjon for hvert org-element
  • Hvem som har attesteringsrett (brukes ved kurspåmeldinger)
  • Hvilke brukere som hører til i organisasjonen
  • Hvilke brukere som arbeider på hvilke arbeidssteder og jobbroller de måtte ha der.

TARDIS kjører på to måter:

  • En nattlig synkronisering som bare tar for seg endringer fra dagen før.
  • En full synkronisering (TARDIS STATUS) som ber om full status og rydder opp dersom det er blitt "hull" eller at data er ute av synk av andre grunner.

Hvem administrerer TARDIS-koblingen?

eFaktor setter opp løsningen for første gang for hver kommune og sjekker at TARDIS-dataene vi får fra kommunen er korrekte. Programvaren for TARDIS ligger på https://kommunenavn.weblogin.no og kommunens administrator(er) får tilgang til å administrere det meste selv når løsningen er ferdig satt opp og går som den skal. Kommunens administrator får automatisk beskjed når:

  • Det kommer nye org-elementer som ikke TARDIS finner ut av automatisk.
  • Når det er problemer med kontakten med kommunens webservice og TARDIS får ugyldig respons.
  • Når det kommer inn så mange endringer (add, modify, delete) at grenseverdiene for varsling overskrides. Da varsles administrator som kan inspisere de mistenkelige filene og godta/avslå rett fra tilsendt varslings-epost.

Lokal administrator kan også automatisk rydde i kommunens del av KS Læring siden alle manuelt opprettede org-elementer vises i egen liste og kan fjernes herfra om de ikke lenger skal beholdes. Det er også lagt inn et admin-grensesnitt for å fjerne mapping på org-elementer som av ulike grunner er blitt mappet feil, f.eks. at en har mappet en skole under sektor for helse og omsorg. Da kan dette enkelt fjernes og mappes korrekt igjen etterpå.

Prosessen fra A til Å

Slik gjør vi det:

Fil:TARDISPROSESSEN.pdf

  • Kommunen bestiller TARDIS synkronisering av org-struktur fra KS.
  • eFaktor får da en ordrebekreftelse fra KS og vet at de har oversikt over hvor mange som skal ha tilgang til KS Læring.
  • Kommunen får tilsendt TARDIS dokumentasjonen og setter opp webservice og datauttrekk (views) basert på spesifikasjonene.
  • eFaktor kobler opp for første gang og kjører en testsynkronisering av endringshåndteringen mot KS Læring sitt LAB-miljø.
  • eFaktor melder tilbake om eventuelle rettinger som må gjøres og når alt fungerer uten feilmeldinger gis det tilgang til kommunens administrator til å dobbeltsjekke på LAB: https://kommit.kursportal.net.
  • Når vi har fått verifisert at endringshåndteringen synkroniserer som den skal er neste steg å sjekke full TARDIS STATUS synkronisering. Denne er beregnet til å kjøre en gang i måneden eller sjeldere.
  • Etter en full TARDIS STATUS-kjøring sjekkes LAB og hvis alt ok, venter vi en til to uker før den kjøres på nytt. Dette fordi vi trenger å kjøre en rekke endringssynkroniseringer i mellomtiden.
  • Er alt fortsatt som det skal være, er integrasjonen klar til å produksjonssettes.
  • eFaktor aktiverer da KS Læring mot kommunes TARDIS-integrasjon og starter for første gang.
  • Kommunens administrator mapper manuelt mot alle eksisterende org-elementer i KS Læring. De tas da over av TARDIS heretter.
  • eFaktor setter opp en full TARDIS STATUS ca en måned etter at endringshåndteringen er aktivert.
  • Integrasjonen godkjennes fra kommunen.


Endringer etter produksjonssetting

OBS OBS! Hvis kildesystemet av en eller annen grunn må endres, dvs at en f.eks. endrer på SQL for datautttrekk eller gjør noen som helst kodeendring på kildesiden, SKAL følgende prosedyre følges:

  • eFaktor varsles på forhånd om behovet for endring i kildesystemet.
  • eFaktor kobler fra synkronisering mot PROD
  • eFaktor setter opp en TARDISDEV for kommunen og kobler til LAB-miljøet.
  • eFaktor kjører en full TARDIS STATUS sync slik at vi har en kopi av alle data slik de er FØR endringen.
  • eFaktor gir beskjed tilbake om at endringer nå kan gjøres på kilde-siden.
  • Integrasjonen startes mot LAB-miljøet og kvalitetssjekkes. Problemer må løses fullt ut og eFaktor bistår i prosessen fram til produksjonsklar løsning.
  • Kommunen gir beskjed om at LAB-endringen er godkjent og kan produksjonssettes.
  • eFaktor kobler fra synkronisering mot LAB og kobler til PROD-miljøet.
  • eFaktor kjører en full TARDIS STATUS synkronisering.
  • Kommunen bekrefter at endret integrasjon kan godkjennes.


Hvis kommunen IKKE følger denne prosedyren, men bare gjør endringer som i neste omgang gir store feil i PROD-databasen, må påregne med at hele org-strukturen med ledere, og ansattes arbeidssteder må slettes og synkroniseres på nytt. Dette VIL ha konsekvenser for pågående kurspåmeldinger med krav om å oppgi arbeidssted, fakturering osv. Tap av data som følge av dette er derfor helt og holdent kommunens ansvar.

Teknisk dokumentasjon av TARDIS

TARDIS ble utviklet av Bergen kommune og eFaktor har laget tilkoblingen og mellomværende som prosesserer dataene fra TARDIS og synkroniserer dette videre inn i KS Læring.

Teknisk dokumentasjon av TARDIS-viewene

Når er TARDIS-integrasjonen "ferdig" for den enkelte kommune?

eFaktor anser oss som ferdig med integrasjonen når kommunen har godtatt at alt synkroniseres korrekt og ca 1 måned etter produksjonssetting. Men er den likevel "ferdig"? Det er ikke godt å si. Erfaringene så langt er at det nesten alltid vil være behov for vedlikeholdsgrep som følge av:

  • Kommunen omorganiserer og legger om store deler av egen org-struktur.
  • Kommuner slår seg sammen og tidligere org-strukturer må da migreres eller bygges på nytt.
  • Det skjer feil i kommunens kildesystemer som gjør at det synkroniseres inn feil org-data. De fleste av slike situasjoner stoppes automatisk før skaden er skjedd, men likevel kan det hende at en må rydde opp eller kanskje tilbakestille etterpå.

Så selv om vi har bygget inn en rekke sikkerhetsmekanismer mot feil data, skal ALLTID endringer i en produksjonssatt løsning meldes etter rutinene beskrevet under: #Endringer_etter_produksjonssetting

TARDIS-veiledere

Her har vi samlet noen veiledere for hvordan en administrerer TARDIS på https://kommunenavn.weblogin.no

TARDIS-veileder

Oppsummering

Selv om det kun er TARDIS-adapteret som er omtalt her, er det mulighet for å koble til flere adaptere til integrasjonslaget. De er bare ikke utviklet ennå. En kan derfor tenke seg at det lages flere adaptere ettersom det blir med flere og flere kommuner og en kanskje enes om en felles standard som kan benyttes. Denne felles standarden finnes ikke pr. i dag.

Det er KS som er eier av programvaren og sørger for videreutvikling og vedlikehold ved behov.