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.