Översikt
Open Education API är än så länge snarare ett opensource-initiativ än en standard. Målsättningen är dock att skapa ett standardiserat API för att tillgängliggöra utbildningsinformation mellan olika system. Open Education API är ett initiativ som startats av SURF i Nederländerna. SURF kan till stor del ses som en nederländsk motsvarighet till Sunet.
Informationsmodell
Open Education API attributlistor
...
Open Education API är definierat som ett rent HTTP/REST-API med väldefinierade resurser. Dokumentationen och swagger-definitionerna beskriver dock bara en implementation av GET-metoden, vilket är i sammanhanget är begränsande. Dokumentationen beskriver inte en förväntad implementation för någon av de andra metoderna (POST/PUT/PATCH/DELETE) för att hantera övriga CRUD-operationer. Inte heller någon metod för att implementera händelsebaserad notifiering av nya/ändrade objekt, i form av webhooks eller motsvarande, beskrivs.
Interoperabilitet
Målgrupp
...
Utbredning
Standarden används i nederländernaNederländerna, men visar inget tecken på utbredning utanför landet. Alla organisationer listade på standardens hemsida är universitet eller institutioner för högre studier i nederländerna. Däribland verkar de stora spelarna vara University of Amsterdam samt Zuyd University of Applied Sciences.
Antalet systemleverantörer är okänt, men inga resultat har gått att hitta och inga listas under "Implementationer" på standardens hemsida.
Det saknas en öppen färdig implementation av standarden. Standarden publicerar en swagger-definition som går att konsumera för att generera klienter för att konsumera tjänster som implementerar standarden. Dock finns det ej någon systemnivås implementation av standarden att använda. Du kan generera stubs för server API-delen från swagger-definitionen
...
Standarden påbörjade 22 april 2016 som en del av nederländska EduChallenge, och första publiceringen gjordes i september/november 2016. För nuvarade är standarden på version V2.1, som släpptes i juli 2018. Att avgöra från de planerade kommande ändringar är det inte revolutionära ändringar som görs. T.ex. funderas det på hur man ska hantera flerspråkiga svar, och arbete på utökad dokumentation. Standarden kan anses till viss del stabil, men verkar lida lite av värkar av att vara så pass ny. Standarden kan ej anses stagnerad, utan är under aktiv utveckling. Standarden har en påbörjad draft på en version de kallar V3. Det en dock enbart en mindre justering, och kan inte kallas en "ny" standard.
Teknisk kvalitet
Standarden är primärt beskriven i form av en Open API (Swagger) definition i YAML format. Den huvudsakliga dokumentationen är genererad utifrån denna definition. För att uppnå enhetliga implementationer av en standard så krävs mer detaljerad dokumentation och mer utvecklade riktlinjer och guidelines än vad som i dagsläget tillhandahålls.
Utökningsbarhet
Inga möjligheter till egendefinierade utökningar finns definierade i standarden.
Täckningsgrad i jämförelse med Ladok 3:s informationsmodell
På entitest nivå så har Open Education API vissa brister sett till hur datamodellen mappar mot Ladoks datamodell. Även på attributnivå så innehåller Ladoks datamodell mer än vad som ingår i Open Education API. För att överkomma bristerna, både på enitets- och attributnivå, så skulle ett väl definierat och funktionellt sätt att hantera utökningar vara nödvändig. Detta saknas dock i Open Education API.
Sammanfattning
Fördelar
- Standard under aktiv utveckling
Nackdelar
- Standarden är i dagsläget endast deinierad som ett frågeinteface. Inget stöd för att uppdatera entiteter finns beskivet i standarden.
- Inga möjlighet till utökning av standarden är definierade
- Inga tillämpningar utanför Nederländerna identifierade
Documents and references
Document/reference | Link |
---|---|
UML Class diagram (Visio) | OEAPI UML ClassDiagram.vsdx |
Informationsmodell | OOAPI_model.jpg |
Dokumentation | https://rawgit.com/open-education-api/specification/v2/docs.html# |
Web site | https://openonderwijsapi.nl/en/ |
Ladok entity mapping | LadokEntityMapping OEAPI.vsdx |
Open API definition | specification-3.zip |