Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents
minLevel1
maxLevel7
printablefalse

...

Innledning

  • Grovt om hva denne integrasjonen er fra hvor / Til hvor?

...

  • Denne integrasjonen henter oppdaterte bok-data (både tittel/forfatter og bilder) Nielsen databasen og oppdaterer informasjonen i Alma, vår bibliotek-system, via en intern AWS-api-endepunkt.

  • Siden antall kall til Nielsen databasen er begrenset til max 5000 vellykkede kall pr døgn og det ønskes å maksimere benyttelsen av dette, opererer vi på en liste over alle potensielle ISBN nummer som ønskes oppdatert. Listen oppdateres via en fil sync (sftp).

Inc drawio
simple0
zoom1
pageId2303131649
custContentId3415015449
diagramDisplayNameBibliotektjenester.drawio
lbox1
hiResPreview0
baseUrlhttps://

...

sikt.atlassian.net/wiki
diagramName

...

Bibliotektjenester.drawio
imgPageId2305720358
pCenter0
aspect

...

ORtwjUOShnAaPGsRGF9l 1
includedDiagram1
width1626

...

...

aspectHash

...

8a7dcec203c98c3767dc883ee3e52ca2da27ae5f
linksauto
tbstyletop
height

...

Bakgrunn

  • Litt om grunnen til integrasjonen. Hva for en behov dekkes av integrasjonen.

Interessenter

  • Hvem er ansvarlig for datakommunikasjonen? Hvem bestilte dette og betaler for at utvekslingenpågår?

Brukerhistorie (gjerne sekvensdiagram) ?

Hvis vi har noen

Systemer/tjenester

  • Detaljert liste av alle innvolverte systemer/tjenester Hva utveksler data? Fra hvor / Til hvor?

  • Hvilken kø-mekanisme brukes evt.?

  • Om Int-ark komponenter er brukt og eventuelt hvilke deler

Data

  • Hvilke data utveksles?  Alle attributter som utveksles?

Samhandlingsmønster

  • Hva driver utvekslingen? Request eller Push

  • Er utvekslingen synkron eller asynkron?

Om involverte API

  • Brukte API endepunkter

Tilgangsstyring og logging

  • Hva logges?

  • Eventuelle tilgangstyring

Forretningsregler

  • Forretningslogikken i integrasjonen. Feks. Bare dokumenter med status X leses etter Y antall dager osv …

Behandlingstid/responstid og volum

...

1115

Nøkkel info

Initiering av flyt

Scheduler (4 ganger med noen timer mellomrom)

 

Flyt mønster

Synkron

Bruk av meldingskø

Nei

 

Open API

Nei

 

IntArk

Nei

 

Bakgrunn

  • Bibliotek data trenger visst å oppdateres. Til dette benyttes data fra Nielsen basen. Nielsen basen tillater bare ca 5000 vellykkede kall. Vi må derfor slå opp i den helt inntil vi får feilmeldingen max-limit-reached.

Interessenter

  • Det er bibliotek-tjenesten som er bestiller her ved Asbjørn Risan

Brukerhistorie

  • Hent 5000 av eldste (laveste sistOppdatert) ISBN records fra vår database

  • For hver av dem:

    • Slå opp i Nielsen basen 2 ganger, 1 gang for å hente bokdata og en gang for å hente eventuelle bilder

      • Hvis svar tilbake (vellykket oppslag) : Send informasjonen til AWS-Lamda endepunktet team smile har laget.

  • Gjenta operasjonen over 4 ganger pr natt

  • Hver natt, list ut filene i sftp-mappen

    • For hver fil:

      • hent filen, pakk den ut, less innholdet

        • For hver element (xml) i filen,

          • Hvis filenes navn inneholdet “new”, legg til record i databasen

          • Hvis filenes navn inneholdet “delete”, slett fra databasen

Systemer/tjenester/Data/API

System

Data

Brukt API (endepunkter)

Innholdsinformasjon-ext

Sender contents, isbn (ISBN13), description_long, audio_file, image_small, image_large, image_original og source til API mot Alma laget av Team Smile

putInfo

innholdsinformasjonDb extension

Henter (01:30, 02:30, 03:30 og 04:30, hver dag) projections-lister (isbn, title og author) fra "ISBN"-kolleksjonen i databasen i json format.

Get next isbns

innholdsinformasjonDb extension

Legger til status-verdi (3 for 3-resultCode, ok for ‘bokdata'/ 'image'-operasjon, eller - da ingen 'hit’ er registrert) for dokumentet (i henhold til isbn) og oppdaterer dato og klokkeslett for det endrede dokumentet i databasen.

Update datetime by isbn

innholdsinformasjonDb extension

Legger til isbn, mmsid, title og author for hver 'isbn' til "ISBN"-kolleksjonen i databasen. Dette brukes når sftp-operasjonen er tilordnet ADD.

Add isbn

innholdsinformasjonDb extension

Sletter dokumenter i henhold til deres isbn og mmsid, hvis/når det blir bedt om det via sftp som en sletteoperasjon.

Delete by isbn and mmsid

Nielsen-ext

Henter et dataobjekt (from, to, index_type, format, result_view og isbn) som refererer til en isbn og index type.

Get information by isbn

Slack

Sender feilmeldinger (inkludert også data på module-idog submodul, organisasjons shortName og orgId, examSystem, examSysInstance, vurdId, fetchFsListDates, decodedFsTestId og filesToArchive) til Slack-kanalen (mule-prod).

Report Error

Tilgangsstyring og logging

  • Integrasjonen logger til Humio med detaljert logging av prosessen. Loggene er viktige for å finne ut om antallet vellykkede kall til Nielsen basen har nådd maks grensen.

  • Ingen tilgangstyring er nødvendig.

Forretningsregler

  • Se under Brukerhistorie

Behandlingstid/responstid og volum

  • Volumet er begrenset/gitt av maks-grensen til Nielsen basen som igjen er begrenset av abonnemang avtalen.

  • Hver runde (som består av 5000 av våre ISBNer) kan ta opp til 1 time, men det er svært variert.

Feilhåndtering, konsekvenser av feil og overordnet risikoanalyse

  • Hva skjer ved overload i kø?Hva skjer med ufullstendinge meldinger?med ufullstendinge meldinger?
    De vil føre til feilmeldinger som vi fanges opp av loggen.

  • Hva skjer hvis ende-punktet hos Nielsen ikke svarer/feiler.

    • Det vil logges, men det vil ikke føre til noe stort problem. Vi prøver uansett til maks tillatt grense mot Nielsen er nådd.

  • Inneholder meldingene personopplysninger?

    • Nei

  • Noe om viktige feil/situasjoner som må passes ekstra på (som kan ha stor konsekvens).

    • At vi ikke får lest inn data fra sftp (info om ISBN som må sjekkes)

    . F.eks : Oppgavene som aldri vil publiseres, eller Oppgaver som ikke skal publiseres, publiseres.
    • . Går vi glipp av dem, blir hele grunnlaget vårt feil og det er ingen måte å oppdage det på.

    • Å oppdaterer feil data. Det vil føre til feil informasjon i bibliotek-systemet

    • At vi ikke utnytter Nielsen databasen nok

Flytdiagram ?

Kommentarer