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.

UWLR en AMIGO?

De AMIGO-methodiek gaat niet over implementatie van afspraken zelf, die beslissing ligt bij de implementerende ketenpartners. Het zegt in beginsel ook niets over het direct moeten vervangen van bestaande standaarden die al worden gebruikt in implementaties door ketenpartijen. Kleine aanpassingen op die bestaande afspraken kunnen voorlopig worden doorgevoerd. Wel moeten partijen die hun implementatie nog op de bestaande afspraken hebben gebaseerd (UWLR in het PO met name) wel een roadmap gaan opstellen wanneer de migratie naar een op AMIGO-gebaseerde afspraak moet gaan plaatsvinden. Dat kan overigens wellicht stapsgewijs. Het ligt wel voor de hand om nieuwe uitwisselingen in het toetsdomein niet meer te baseren op de bestaande UWLR-afspraak, maar om met de AMIGO-methodiek direct toe te werken naar afspraken en bouwbare specificaties die gebaseerd zijn op het ROSA interoperabiliteitsraamwerk.

Voor meer informatie bent u welkom bij info(Replace this parenthesis with the @ sign)edustandaard.nl.