Bokdata-Nielsen


Innledning

  • 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).

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)

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 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). 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