- Best practice UvA: Gegevens uit verschillende bronsystemen via de Open Onderwijs API beschikbaar in MijnUvA-app
- Best practice Zuyd Hogeschool: Slimme dataontsluiting met de Open Onderwijs API en single sign-on
Best practice UvA: Gegevens uit verschillende bronsystemen via de Open Onderwijs API beschikbaar in MijnUvA-app
De ‘MijnUvA’-studentenapp combineert gegevens uit de elektronische leeromgeving, het studentinformatiesysteem, het roostersysteem en de website van de UvA. De Open Onderwijs API maakt deze data op een overzichtelijke manier beschikbaar, in eerste instantie voor gebruik binnen de UvA en op termijn ook voor applicatieontwikkelaars daarbuiten.
December 2015
Dashboard voor studenten
In de ‘MijnUvA’-app bekijken studenten van de Universiteit van Amsterdam in één oogopslag hun persoonlijke rooster en cijfers. De app toont nieuwsitems en mededelingen van de opleiding, maar laat bijvoorbeeld ook zien hoe studenten hun weg naar UvA-locaties kunnen vinden. Hij laat ook zien welke werkplekken er nog vrij zijn. Voor de gebruikers is de app een overzichtelijk dashboard. Aan de achterkant moeten echter diverse gegevens van allerlei formaten en systemen tot een uniform geheel worden geknoopt. Dat gebeurt onder andere met behulp van de Open Onderwijs API (Application Programming Device) die SURFnet in samenwerking met diverse hogeronderwijsinstellingen en leveranciers ontwikkelt.
De Open Onderwijs API
De Open Onderwijs API is een standaard, die het mogelijk maakt om onderwijsgegevens uit te wisselen tussen verschillende systemen. De studenten-app van de Universiteit van Amsterdam put uit maar liefst zes verschillende bronsystemen. “Al die achterliggende systemen spreken hun eigen taal,” zegt Tom Kuipers, developer bij de UvA. “Door de Open Onderwijs API zijn we minder afhankelijk van de structuur van berichten zoals elk systeem die aanlevert.” Staan de gegevens eenmaal klaar in de taal van de Open Onderwijs API, dan kunnen ze makkelijk worden vormgegeven in de juiste lay-out van de applicatie. De gegevens worden niet alleen gebruikt door de ‘MijnUvA’-app, maar ook door de online studentenportal van de UvA.
Tussenlaag als vertaler
Voor de vertaalslag van de berichten naar het formaat van de Open Onderwijs API wordt gebruik gemaakt van een ‘tussenlaag’. Dit is inQdo Connect. “inQdo Connect werkt als een soort digitale stekkerdoos die alle informatiesystemen op elkaar laat aansluiten,” zegt Pieter Smit, managementconsultant bij inQdo B.V. Cijfers, roosters, locatiegegevens, teksten en visuele items leggen allemaal dezelfde route af; van het bronsysteem naar inQdo Connect en van daaruit naar de Open Onderwijs API en de studentenapp. Smit: “Alle gegevens krijgen hetzelfde formaat en dezelfde structuur. Doordat de tussenlaag de informatie netjes oplevert aan de Open Onderwijs API, hoeft de applicatieontwikkelaar van de UvA maar tegen één systeem aan te praten.”
Beveiligde verbindingen
Het weergeven van persoonsgebonden gegevens op mobiele apparaten vraagt om goede veiligheidsmaatregelen. De UvA maakt gebruik van een autorisatieserver, die zich in huis bevindt. Kuipers: “De mobiele apparaten willen we niet met de achterliggende bronsystemen verbinden via een gebruikersnaam- wachtwoord-combinatie. Met OAuth is het mogelijk om toch een beveiligde verbinding op te bouwen.” De autorisatieserver maakt het mogelijk om een gebruiker toegang te verlenen tot (een gedeelte van) de eigen data in het bronsysteem met behulp van een token. Omdat de ‘MijnUvA’-app met persoonsgebonden gegevens werkt, moet de Open Onderwijs API weten met welke student hij te maken heeft. Als de student inlogt via SURFconext, vindt er een tokenuitwisseling plaats. De token gaat naar inQdo Connect. Die weet dat de token bij een specifieke student hoort en vraagt de juiste cijfers op. Een uitgebreidere uitleg van hoe OAuth werkt, is te vinden op het SURFnet-blog.
Nieuwe toepassingen
Op den duur wil de UvA sommige gegevens ook extern beschikbaar stellen. “Er is zeker vraag naar applicaties die deze data integreren,” zegt Kuipers. “Het zou bijvoorbeeld interessant zijn om de roostergegevens te koppelen aan onze webcolleges. Wij hebben geen tijd en expertise om alle mogelijkheden te realiseren, maar via de Open Onderwijs API kunnen we gegevens veilig delen. We blijven controle houden over de gegevens, maar faciliteren wel dat er nieuwe eindtoepassingen mee worden gemaakt.” Hoe meer hogeronderwijsinstellingen een gedeelte van hun onderwijsdata op deze manier beschikbaar stellen, hoe aantrekkelijker het wordt voor bijvoorbeeld studenten om met de data aan de gang te gaan. Zo zullen steeds meer nieuwe apps en toepassingen ontstaan.
BEST PRACTICE ZUYD HOGESCHOOL: SLIMME DATAONTSLUITING MET DE OPEN ONDERWIJS API EN SINGLE SIGN-ON
Bij de ontwikkeling van een nieuw intranet koos Zuyd Hogeschool voor een fundamenteel andere aanpak. Met de Open Onderwijs API als uitgangspunt voor de onderliggende bronsystemen en een vereenvoudigde inlog met single sign-on van SURFconext is het intranet gebruiksvriendelijk én toekomstbestendig.
VEROUDERD INTRANET
In 2012 begon Zuyd Hogeschool met de ontwikkeling van een nieuw intranet. “Ons systeem was verouderd en voldeed niet meer aan de behoeften”, vertelt Robin Janssen, productowner intranet bij Zuyd Hogeschool. “Zo werd het steeds lastiger om nieuwe onderwijsapplicaties te koppelen aan de bestaande bronsystemen. Bovendien moest op elke applicatie apart worden ingelogd, een groot ongemak.”
OPEN ONDERWIJS API NIEUWE STANDAARD
Het nieuwe intranet moest dan ook gebruiksvriendelijk én toekomstbestendig zijn. Dat betekende dat naast de interface ook de onderliggende bronsystemen aangepakt moesten worden. Zuyd Hogeschool besloot de architectuur in te richten op basis van de Open Onderwijs API (applications programming interface). Deze API is ontwikkeld door SURFnet in samenwerking met diverse hogeronderwijsinstellingen en moet de nieuwe standaard worden op het gebied van data-ontsluiting.
API VERTAALT INFORMATIE UIT BRON NAAR APPLICATIE
“De API vertaalt informatie uit bronsystemen naar onderwijsapplicaties”, legt Johannes Maas uit. Hij is directeur innovatie bij Finalist en betrokken bij de implementatie van de API bij Zuyd Hogeschool. “Denk aan een nieuwe applicatie waarmee je het actuele lesrooster kunt bekijken op je mobiele telefoon. Of waarmee je vanuit de trein al je werkplek voor die dag kunt veiligstellen.De basisinformatie komt uit bronsystemen, maar de weergave en functionaliteit zijn nieuw. Door de bestaande bronsystemen te ontsluiten via de API kan een heel scala aan applicaties worden ontwikkeld. En dat zonder de bronsystemen zelf aan te hoeven passen.”
EÉN KEER INLOGGEN VIA SINGLE SIGN-ON
Om het meervoudige inloggen te ondervangen, koos Zuyd Hogeschool voor single sign-on van SURFconext. “De wens is dat gebruikers via hun instellingsaccount met single sign-on toegang krijgen tot het intranet en de daaraan gekoppelde diensten. Dat ze nog maar één keer hoeven in te loggen”, licht Janssen toe. Momenteel is de implementatie van SURFconext in volle gang.