FS-API Status og veien videre. Kai Quale og Mario Ledinscak KDTO

Like dokumenter
Cerebrum-seminar 2019: Nytt FS-API. Pål Erik Megaard

GraphQL. Hva, hvorfor, hvordan

FS - Integrasjoner. Brukerforum 2017 Martin Sagen

Vanlige spørsmål om EndNote (april 2013)

Dataporten sikker og enkel deling av data i UH-sektoren

Vanlige spørsmål om EndNote (mars 2015)

FSWS Studinfo og presentasjon av studieinformasjon

Nye muligheter i arbeidsflyt

Løsningsforslag og estimat for integrasjon av kalenderdata

Innholdsfortegnelse. 1. Testing Feiltesting av koden Funksjonstesting: Kilder.10

Teknisk Tips & Triks PER TORE HOFF

Direktoratet for IKT og fellestjenester i høyere utdanning og forskning

En beskrivelse av API for innhenting av informasjon fra registeret for sentralt godkjente foretak Direktoratet for byggkvalitet

Databearbeiding direkte i memory på LASR server nye muligheter? Trond Holmen, SAS Institute

Vanlige spørsmål om EndNote (september 2015)

ISY Park Go og nye ISY Park. Endre Lykke, NoIS

Grensesnitt mot Telenor - Bredbåndsforum 11. mars Fault Management and Trouble Ticketing

Databaser kort intro. Tom Heine Nätt

Noark 5 Tjenestegrensesnitt. aka Noark 5v4

Stikkord: Java EE, EJB, JSF, JPA, SWT, klient/tjener, Glassfish server, Application Client.

Brukermedvirkning og Felles studentsystem (FS)

S y s t e m d o k u m e n t a s j o n

Implementering av database og tjeneste

Samtykker - er nå det så viktig? Nye regler fra 25. mai 2018 Lars Erik Ribe Anderssen (Personvernombud) og Thorkild Stray (Tech Lead GDPR)

SENTRAL FELLES KARTDATABASE. Geir Heksem

Master Data Management

Pen- tes'ng av webservices. Asbjørn Reglund Thorsen Gruppe- og utviklingsleder UIO/FSAT

INF 329: Web-Teknologier. Dataimplementasjon. Fra Kapittel 11 i «Designing Data-Intensive Web Applications» Presentasjonsdato: 17/10/2004

Kapittel 13 Advanced Hypertext Implementation. Martin Lie Ole Kristian Heggøy

Konsulent-ID: 2225 Curriculum vitae

Grensesnittene mellom Legemiddelverket og de andre eresept-aktørene

Digitalt læringsmiljø

IN2000. Gjennomgang av tekniske oppgaver på prøveeksamen. Erlend Stenlund og Steffen Almås + innspill fra Gaute Berge

Å bruke Java API-et til å sortere tabeller/arraylister der elementene er (referanser til) objekter

Implementering av database og tjeneste

Prosedyrer. Lars Vidar Magnusson. October 26, Lars Vidar Magnusson () Forelesning i DAS October 26, / 19

Innføring i bruk av CGI4VB

Resultater fra spørreundersøkelse om administrative systemer i UH-sektoren STORE UH-institusjoner

PRESENTASJON Uttrekk og bevaring av eldre fagsystem med dots kjernen

Etternavn Fornavn Født Død Annet Felt

Jens Erik Torgersen, Kantega AS. Sjefskonsulent

Forelesning 4: Kommunikasjonssikkerhet

Aditro AS. Produktnotat Huldt & Lillevik Ansattportal Ansattportal. Versjon (286) Copyright 2014 Aditro Side 1

Oppgradering/installasjon av nye versjoner av ISY Park

Compello Invoice Approval

Automatisert Robusthetstesting. Erik Arisholm Testify AS

FlexDLM. USITs ledelse 13. desember 2016

Innledende Analyse Del 1.2

Digital signert samtykke til forskning -erfaring med bruk av esignering. Dagfinn Bergsager

Kommunikasjon med studenter. Ny integrasjon - FS og Fronter

Sikkerhet og tilgangskontroll i RDBMS-er

1. SQL datadefinisjon og manipulering

Http- og WebServices funksjoner

Feilsøking i BO. Olav Syse, konsulent. Jan Terje Hansen, service manager. Be business intelligent

Testdata og maskering i praksis

UBIT Systemarkitektur. Dagens situasjon. Referansegruppa Forfatter(e) Sven K Strøm Sist oppdatert

NETWORK FUNCTION VIRTUALIZATION (NFV) HVA OG HVORFOR?

Kunnskapsdepartementets tjenesteorgan

10. ASP og SQL Innledning Recordset-objektet. Innhold. Referanse til læreboka Kapittel Se detaljer nedenfor.

Kravspesifikasjon eksamen - personlig

Fri programvare og 3.parts hosting

9. ASP med databasekopling, del II

einnsyn PoC: Demo for tredje sprint

Tilkobling og Triggere

QuickGuide Oppdateres fortløpende ved nye funksjoner

P L A N I A 8 S Y S T E M K R A V PLANIA 8 SYSTEM KRAV. Plania 8 Systemkrav.docx av 8

Altinns nye tjenesteverksted. Lars Vegard Bachmann, produkteier portal og tjenester, Altinn

PostGIS som navet i dataforvaltningen ved Skog og landskap

BankID Norges planer for PSD2 TLP: GREEN. PSD2 workshop 30 mars Frode Beckmann Nilsen, Produktutviklingssjef

Introduksjon til EndNote

Implementeringsveiledning for Elektronisk Avtaleinngåelse med AvtaleGiro og efaktura

Grensesnittdokumentasjon for FEST

TDT4300 Datavarehus og datagruvedri3, Våren 2014

Resultater fra spørreundersøkelse om administrative systemer i UH-sektoren. Status per 3. april 2008 Lars Nesland / Bjørn-Are Lyngstad

Dette er føreløpig en betaversjon for de som ønsker å teste programmet. På eget ansvar! Brukermanual. K-Jump. Magne Kleven

API hva er det, og trenger vi det? 14. mars 2017 Asbjørn Risan, BIBSYS

November 2012 Stig Claussen, Senior Consultant Psiam. Infor 10 EAM

Sentral lagring av FKB med ISY WinMap. Kjell Sandal Norconsult Informasjonssystemer AS

Ingen søvnløse netter

Trådløssamling NORDUnet Stockholm Tom Ivar Myren

Ny personvernforordning i EU/EØS GDPR (General Data Protection Regulations)

Brukerveiledning for ArkN4

Distributed object architecture

Introduksjon til fagfeltet

Huldt & Lillevik Ansattportal Ansattportal. Versjon

Spring 2017, integrasjoner og API er. Integrasjoner: Hot or not?

Nytt fra FS. Geir Vangen

Test Beskrivelse Resultat Innhenting CBIS Programmet mottar data fra CBIS OK, men kun. Innhenting Tellus Programmet mottar data fra Tellus OK

Enhet for digital dokumentasjon ved HF, Universitetet i Oslo

Demo for første sprint

Trondheim 03 november 2011 ØKT KONTROLL OG BESPARELSE GJENNOM EFFEKTIVE ANSKAFFELSER. Trond Edvardsen, Visma Advantage AS

Last ned Uregelmessige Verb I Norsk - Eldrid H Aas. Last ned

DATAUTFORSKNING I EG, EG 7.1 OG EGENDEFINERTE FUNKSJONER SAS FANS I STAVANGER 4. MARS 2014, MARIT FISKAAEN

Scan Secure GTS PAS

- reklamebannere mobil og tablet

Gruppe prosjekt del 3. INFO134 Klientprogrammering Vår 2017 Kandidatnummer: 304, 298

Android-Programmering. Vår 2017

Hvordan innføre studentbevisappen

Arbeidsoppgaver 2019 Felles studentsystem

Innledende Analyse Del 1: Prosjektbeskrivelse (versjon 2)

Transkript:

FS-API Status og veien videre Kai Quale og Mario Ledinscak KDTO

Hvem er vi? KDTO (KD s tjenesteorgan) Fusjon av CERES, BIBSYS og deler av Uninett Kai Har jobbet i KDTO i nærmere 20 år Bakgrunn: Oracle database, Datamodellering Oppgaver:, Integrasjon (db) Mario Har jobbet i KDTO i ca 2 år Bakgrunn: Java EE Oppgaver: Integrasjon (app)

Agenda Historikk/motivasjon Oppstart av prosjektet UiO-pilot Grunnprinsipper Styringsparametere Eksempler på kall Arkitektur Demo Veikart videre

Historikk/motivasjon Delvis overlappende funksjonalitet Hardkodede (vidt forskjellige) formater (XML) Lite fleksible/parametriserte Til dels tunge å kjøre (timeout-problemer) Mangelfull/manglende inkrementell funk. Manglende versjonering KDTO er flaskehals mhp. utvikling

Oppstart av prosjektet Arb.gruppe med institusjoner og leverandører Først et prosjekt for å lage en «ny BAS» Utvidet seg raskt til et generelt FS-API Generell, fleksibel tjeneste med høy ytelse Konfigurering i stedet for stadig nye tjenester Mest mulig selvdokumenterende UiO ønsket å bruke ny tjeneste til å Erstatte BAS-integrasjon Lage ny LMS-integrasjon (Canvas)

UiO-pilot Spesifikasjon fra UiO JSON Deler av BAS-tjenesten Med noen LMS-tillegg Generalisering/parametrisering Generelt format (JSON, XML ) Delt opp i gjenbrukbare deler Med henblikk på flere behov

Grunnprinsipper Full REST Ressurser (collection/individ) Linker, HTTP-verb (GET, POST, DELETE) Abstraksjon (ikke CRUD) Autentisering/autorisering JSON Web Token (Basic Auth => Dataporten) Ressurstilgang ressurs x verb (x enkeltfelt) Format & versjonering i HTTP-header Accept Tilbakemelding i HTTP-status/koder Microservices

Styringsparametere Filter (egne spørreparametere) Wildcard epost=*kdto.no (NOT) NULL felt=! felt=_ Ulikhet felt=!verdi Mindre/større felt=<verdi felt=>verdi Sortering (sortby=felt1,felt2-,felt3 ) Et utvalg av feltene som forekommer i payload Ascending/Descending Paginering Page, Limit Feltutvalg (fields=* felt1,felt2 )

Verb GET REST HTTP-verb/headere Collection (fields=id, filter, sortering, paginering) Individ (fields=*) POST Collection (create) Individ (update) DELETE Individ Header Accept application/json;version=1

REST HTTP-status/info HTTP Status Eks: 404 (Not Found) Error Code Eks: 40401 Error Message Eks: Person er ikke funnet ErrorMessage Detail Eks: Person med ID '1' finnes ikke

REST collection (paginering) GET https:// /personer?page=2&limit=10 { "self" : { "href" : "https://.../personer?page=2&limit=10", "rel" : "collection" }, "page" : 2, "limit" : 10, "size" : 99, "first" : {"href": ".../personer?page=1&limit=10", "rel": "collection"}, "previous": {"href": ".../personer?page=1&limit=10", "rel": "collection"}, "next" : {"href": ".../personer?page=3&limit=10", "rel": "collection"}, "last" : {"href": ".../personer?page=9&limit=10", "rel": "collection"}, "items" : [ { "self" : {"href": ".../personer/123 } }, { "self" : {"href": ".../personer/456 } }, { "self" : {"href": ".../personer/789 } },... ] }

REST collection (filter) GET /personer?epost=*kdto.no { } "self" : { "href" : "https://.../personer?epost=*kdto.no", "rel" : "collection" }, "page" : 1, "limit" : 10, "size" : 25, "first" : {"href": ".../personer?epost=*kdto.no&page=1&limit=10",...}, "next" : {"href": ".../personer?epost=*kdto.no&page=2&limit=10",...}, "last" : {"href": ".../personer?epost=*kdto.no&page=3&limit=10",...}, "items" : [ { "self" : {"href": ".../personer/321 } }, { "self" : {"href": ".../personer/654 } }, { "self" : {"href": ".../personer/987 } },... ]

REST individ (feltutvalg) GET https:// /personer/123 { } "self" : { "href" : "https://.../personer/123", }, "fornavn" : "Maria", "etternavn" : "Magdalena", "kjonn" : "K",... GET https:// /personer/123&fields=fornavn { "self" : { "href" : "https://.../personer/123", }, "fornavn" : "Maria" }

Arkitektur (LMS) FS Dagens situasjon FS dytter data til passivt LMS LMS

Arkitektur (LMS) FS Dagens situasjon FS dytter data til passivt LMS LMS FS FS-API Ideal LMS spør API etter behov (uten å lagre kopi av dataene) LMS

Arkitektur (LMS) FS Dagens situasjon FS dytter data til passivt LMS LMS FS FS-API Ideal LMS spør API etter behov (uten å lagre kopi av dataene) LMS FS FS-API Tenkt løsning Proxy/ Klient LMS FS dytter endringer til MQ (asynkront) Meldingskø Mellomliggende boks - klient mot API/LMS - lytter på MQ

Demo Klient/dokumentasjon Tidligere: Swagger Nå: Open API Specification Collection/individ Filter Sortering Paginering

Veikart videre Utrulling i Test/Demo UiO-caset Selve tjenesten MQ for push av endringer Dekke annen FSWS-funksjonalitet Resten av BAS, CRUD, StudInfo2, CDM, BRIS LMS (basert på UiOs arbeid) Vyer Intern bruk (integrasjoner, web-applikasjoner) Kopiering av data => On-demand oppslag