AMIGO: methodiek om te komen tot bouwbare uitwisselspecificaties

Wat is AMIGO?

AMIGO is een methodiek die leidt tot een bouwbare uitwisselspecificatie, op basis van een interoperabilteitsraamwerk (als onderdeel van de ROSA). Met AMIGO komen ketenpartijen stapsgewijs tot een verzameling afspraken (afsprakenset) over de uitwisseling van gegevens in een specifiek toepassingsdomein. AMIGO wordt in eerste instantie toegepast en uitgewerkt om afspraken te maken voor interacties in het toepassingsdomein ‘Toetsen’, maar de Architectuurraad van Edustandaard vindt de AMIGO-methodiek ook voor interacties in andere toepassingsdomeinen zeer bruikbaar. De AMIGO-methodiek bestaat uit een aantal stappen die één of meerdere keren worden doorlopen.

Wat is een bouwbare specificatie?

Ketenpartners die in een bepaald scenario met elkaar willen samenwerken en daarvoor gegevens met elkaar willen uitwisselen moeten hiervoor afspraken met elkaar maken. Die afspraken omvatten specificaties op basis waarvan de verschillende ketenpartners hun deel van de gegevensuitwisseling kunnen realiseren. Onderdelen van zo’n specificatie zijn:

  • Scenariobeschrijving: een situatiebeschrijving waaruit blijkt welke gegevensstromen wel en welke niet binnen scope van de beoogde gegevensuitwisseling vallen
  • Berichtspecificatie: welke gegevens worden uitgewisseld (structuur, constraints, syntax)
  • Vocabulairespecificatie/-selectie: welke waardenlijsten worden gehanteerd
  • Interactiespecificatie: hoe de gegevens worden uitgewisseld
  • Interfacespecificatie: welke endpoints er zijn en hoe die aangeroepen kunnen worden

Die specificaties hebben betrekking op diverse niveaus van het interoperabilteitsraamwerk.

Wat is het interoperabiliteitsraamwerk?

Onderstaande figuur toont het interoperabiliteitsraamwerk waarop met behulp van AMIGO de afsprakenset wordt gemaakt. Het raamwerk is opgebouwd in lagen. De samenhang tussen de lagen is onderdeel van het raamwerk, bijvoorbeeld de keuze voor een transactieprotocol kan van invloed zijn op de wijze waarop de technische gegevensmodellen er uit zien. Per laag leidt dit tot specificaties die onderdeel van de afspraak vormen.

Veel onderdelen van het raamwerk vallen binnen de scope van werkgroepen van Edustandaard en zijn ook al opgenomen in de ROSA:

  • Transactiepatronen en -protocollen zijn beschikbare bouwblokken/standaarden die onder de scope van de werkgroep Edukoppeling vallen
  • Afspraken en keuzes mbt. beveiliging op de transportlaag (TLS, PKI-overheid certificaten, etc.) vallen onder de werkgroep Uniforme beveiligingsvoorschriften
  • Informatiebeveiliging en privacy vallen onder de brede scope van de werkgroep Certificeringsschema
  • Daarnaast passen in het interoperabiliteitsraamwerk bijvoorbeeld ook publieke voorzieningen zoals het OnderwijsServiceRegister (OSR) voor mandatering en routering

Met betrekking tot de gegevenslaag biedt AMIGO een nadere invulling. Op deze laag werden tot nu toe onderdelen wel al ontwikkeld en beheerd, maar ontbrak een overall beheerstructuur plus een herhaalbaar proces om van concepten tot bouwbare specificaties te komen.

Op het niveau van de gegevenslaag leidt AMIGO tot een integraal semantisch landschap met daarin zowel conceptuele als logische gegevensmodellen. Hierin zijn ook de ontwikkelde informatiemodellen uit het toepassingsdomein “Toetsen” opgenomen (zoals voor leerling, medewerker, toets/oefening/examen, en leerresultaat) en is er een directe aansluiting mogelijk op bijvoorbeeld de RIO-informatiemodellen en modellen die het curriculum beschrijven.

Hoe zien de stappen van AMIGO eruit?

Stapsgewijs komen ketenpartners met AMIGO voor een specifiek scenario tot een bouwbare specificatie. Er zijn initiatieven gestart om deze stappen voor een aantal scenario’s met betrokkenen te doorlopen, te weten: Examinering VO, Logistiek proces eindtoets PO en Toetsresultaten in het PO. Deze initiatieven worden ondersteund door Bureau Edustandaard.

De stappen van AMIGO (zie bovenstaande figuur) zijn:

  1. Scenario-analyse: afbakening van de scope en beantwoording van vragen als: Welke systemen en partijen zijn bij de uitwisseling betrokken? Hoe lopen de gegevensstromen? Welke gegevens gaan van A naar B? En in welke volgorde? (vorm: ArchiMate-model o.b.v. referentiecomponenten en informatieobjecten)
  2. Gegevensanalyse: logisch model van uit te wisselen gegevens, o.b.v. selectie uit (en eventueel aanvulling op) generieke AMIGO-gegevensmodellen; Selectie van toe te passen vocabulaires / waardenlijsten (hergebruik) (vorm: UML-klassendiagram)
  3. Interactie-analyse: Specificatie van interactie tussen de betrokken systemen / partijen o.b.v. transactiepatronen, inclusief inhoud van notificatie-, vraag- en antwoordberichten (vorm: UML-sequencediagrammen plus UML-klassendiagrammen per bericht)
  4. Technologie-/paradigmakeuze: Keuze tussen SOAP en/of REST + rationale/afweging
  5. Berichtspecificatie: Technische specificatie van berichten (syntax) (mogelijke vormen: XSD, JSON Schema, VDEX, XSLT, voorbeeld-XML, voorbeeld-JSON)
  6. Interfacespecificatie: Technische API-/endpointspecificatie
    (mogelijke vormen: WSDL, OAS)

De stappen kennen onderlinge verbanden en zijn iteratief; de uitkomsten uit de verschillende analyses kunnen elkaar beïnvloeden (zie de figuur). Het interoperabiliteitsraamwerk biedt op alle betrokken architectuurlagen de nodige standaarden/afspraken die in AMIGO als bouwsteen voor de uitwisselspecificatie worden gebruikt. Als voor een specifiek scenario standaarden of onderdelen ontbreken of niet volledig voldoen, dan kunnen deze ingebracht worden bij de betreffende werkgroepen om toegevoegd te worden aan de beschikbare standaarden.

Gegevensmodellen in AMIGO

Binnen de AMIGO-methodiek worden gegevensmodellen voor diverse niveaus en inhoudsgebieden in samenhang ontwikkeld en beheerd.


Figuur 1. AMIGO-modellenmatrix

In AMIGO kunnen gemodelleerde gegevensobjecten worden hergebruikt binnen een bepaalde context (toepassingsgebied) vanuit gegevenscatalogi die zijn opgebouwd uit de gegevensobjecten uit een set van samenhangende gegevensmodellen voor een niveau en eventueel een inhoudsgebied.

  1. In de publicatie van Amigo 0.9. met betrekking tot uitwisseling van gegevens over toetsen en toetsresultaten voor het VO, zijn de volgende drie gegevensmodellen beschreven:
  2. Deelnemers, Groepen en Medewerkers
  3. Toetsdefinities
  4. Scores en resultaten

Hieronder volgt een weergave van die drie conceptuele gegevensmodellen die in AMIGO kunnen worden toegepast, waarbij de gegevensobjecten met bijbehorende definities en de onderlinge relaties worden weergegeven. Details over de objecten en relaties worden hier niet weergegeven.

1. Deelnemers, Groepen en Medewerkers

Dit gegevensmodel omvat gegevensobjecten als Onderwijsdeelnemer, Groep en Medewerker en gerelateerde gegevensobjecten.


Figuur 2. Schematische weergave van de structuur voor gegevens van onderwijsdeelnemers (leerlingen, studenten), groepen en medewerkers (i.h.a. leerkrachten)

2. Toetsdefinitie

Toetsdefinities worden uitgewisseld in deze context om het mogelijk te maken dat resultaten op een goede manier (bijvoorbeeld in de juiste referentieschaal, voorzien van de juiste contextinformatie) kunnen worden getoond, en dat resultaten van verschillende toetsleveranciers en van verschillende typen toetsen naast elkaar kunnen worden getoond in een overzicht, waarbij de toetsdefinitie voldoende context kan geven aan de presentatie om de resultaten goed te kunnen interpreteren.
De toetsdefinitie houdt rekening met de verschillende soorten toetsen die er zijn.

Figuur 3. Schematische weergave van structuur voor toetsgegevens

3. Scores en resultaten

Een verzameling scores en resultaten hoort in beginsel bij een enkele afname en een enkele toets. De verzameling kan gegevens van een enkele onderwijsdeelnemer bevatten, of van meerdere onderwijsdeelnemers.


Figuur 4. Schematische weergave van resultaatgegevens

LET OP: Deze gegevensmodellen zijn zoals beschreven in AMIGO versie 0.9 en daarmee nog in ontwikkeling.