Onderbouwing van ontwerpkeuzes
De belangrijkste ontwerpkeuzes zijn gemaakt op basis van haalbaarheid, aansluiting op de bestaande omgeving, privacy en security.
| Keuze | Onderbouwing |
|---|---|
| C# met Azure Functions | Sluit aan op de bestaande Microsoft/Azure-omgeving van de Open Universiteit en maakt beheer via APIM logisch. |
| Read-only API | De opdrachtgever wil gegevens beschikbaar stellen zonder data terug te schrijven richting de bronsystemen. |
| JWT/OAuth2 | Past bij rolgebaseerde toegang en voorkomt dat endpoints zonder geldige autorisatie gebruikt kunnen worden. |
| Azure secrets | Client secrets, connection strings en API keys worden niet hardcoded opgeslagen. |
| ProductService voor courses/programmes | Courses en programmes lijken sterk op elkaar in de brondatabase. Hergebruik voorkomt dubbele code en maakt uitbreiding eenvoudiger. |
| Mapping zonder databasewijzigingen eerst | Hierdoor konden verplichte OOAPI-velden sneller worden gerealiseerd zonder afhankelijk te zijn van wijzigingen in de database. |
Haalbaarheid
De planning is bewust opgebouwd rond de must-have endpoints. Complexere uitbreidingen, zoals offering-objecten en databasewijzigingen voor UUID’s, zijn als vervolgwerk gepland wanneer ze niet binnen de basisoplevering pasten.
Privacy en security
Security is meegenomen in het ontwerp door authenticatie via JWT, rolcontrole op endpoints en het gebruik van Azure voor geheimen. Omdat de API read-only is, wordt het risico op ongewenste datamutaties beperkt.