Inleiding
MAGDA (Maximale Gegevensdeling tussen Administraties) is het gegevensuitwisselingsplatform van de Vlaamse overheid. Het laat toe dat Vlaamse overheidsinstanties en lokale besturen op een gestandaardiseerde, beveiligde manier gegevens opvragen bij authentieke bronnen zoals het Rijksregister, de Kruispuntbank van Ondernemingen (KBO), de Kruispuntbank van de Sociale Zekerheid (KSZ), het Kadaster, en vele andere. In plaats van dat elke overheidsdienst zelf een aparte koppeling met elke bron moet opzetten, biedt MAGDA één centraal platform aan waarachter al die bronnen ontsloten worden.
Use cases
Het uitgangspunt is het only-once-principe: een burger of onderneming moet een gegeven dat de overheid al kent, niet opnieuw moeten aanleveren. Voor Skryv-toepassingen kan dit onder meer volgende use case afdekken:
-
Bij het opstarten van een aanvraag kan een formulier automatisch voorafgaand ingevuld worden.
-
Nagaan of een aanvrager voldoet aan een voorwaarde (bv. leeftijd, gezinssituatie, eigendom) zonder dat die zelf bewijsstukken moet aanleveren.
-
Een burger of onderneming rechtstreeks digitaal informeren over een beslissing via eBox of, bij wijze van alternatief, via e-mail of papier.
Communicatieprotocol
De meeste MAGDA-diensten werken via SOAP (XML-gebaseerde webservices). Een beperkt aantal nieuwere diensten (zoals bijvoorbeeld de REST-varianten binnen Mobiliteit en de Documentendienst (MDS)) werken via REST (JSON over HTTP). Voor jou als configurator of developer is het belangrijkste gevolg dat de vorm van het antwoord en de manier waarop je fouten opvangt, verschillen naargelang het protocol. Concrete, technische uitleg hierover vind je op de pagina ‘MAGDA gebruik’.
Connectoren
MAGDA is opgedeeld in diensten (Persoon, Gezin, Onderneming, Kadaster, Mobiliteit, Sociale Zekerheid, Werk, Repertorium, enzovoort) die specifieke gegevens ontsluiten. Skryv biedt voor elk van deze domeinen een connector aan.
|
Connector |
Communicatieprotocol |
Uitleg |
|---|---|---|
|
SOAP |
Legacy connector. |
|
|
REST |
Berichten verzenden vie eBox, e-mail of papier. |
|
|
SOAP |
Legacy connector. |
|
|
REST |
Statusupdates doorgeven over een lopend dossier. |
|
|
SOAP |
Kinderbijslag en zorgtoeslag binnen het Groeipakket. |
|
|
SOAP |
Gegevens over de personenbelasting. |
|
|
SOAP |
Eigendomsgegevens van personen en ondernemingen. |
|
|
SOAP/REST |
Voertuiggegevens en titularisgegevens op basis van een nummerplaat. |
|
|
SOAP |
Basisgegevens, jaarrekeningen en bestuurdersfuncties van ondernemingen. |
|
|
SOAP |
Persoonsgegevens uit het Rijksregister: identiteit, domicilie, gezinssamenstelling, afstamming. |
|
|
SOAP |
Inschrijving en uitschrijving van een burger bij een dienst, als voorwaarde voor verdere gegevensopvraging. |
|
|
SOAP |
Tegemoetkomingen voor een handicap, leefloon, vervangingsinkomen en sociaal statuut. |
|
|
SOAP |
Loon- en arbeidstijdgegevens, loopbaangegevens zelfstandigen, arbeidsrelaties. |
Algemene setup
Voordat je een MAGDA-dienst kan gebruiken, moet je organisatie eerst een aansluitingsproces doorlopen bij Digitaal Vlaanderen (de beheerder van MAGDA). Dit gebeurt per dienst en levert toegang en machtigingen op, samen met de nodige technische gegevens (een endpoint-URL, een sleutel en certificaat, en een aansluitingsnummer).
Aan de kant van je Skryv-applicatie komt daar telkens hetzelfde stramien bovenop: de betrokken connector als dependency toevoegen aan je pom.xml, en een aantal applicatie-eigenschappen instellen. Dit kunnen zowel generieke eigenschappen zijn die de toegang regelen, als eigenschappen specifiek voor de gekozen dienst.
Deze stappen zijn (vrijwel) identiek voor elke MAGDA-connector. De volledige, stap-voor-stap uitleg (inclusief het opzetten van de beveiligde communicatie via asymmetrische cryptografie) vind je op de pagina MAGDA algemene setup.
MAGDA gebruik
Connectoren kan je enerzijds vanuit een BPMN-workflow aanroepen via een Camunda-expressie (bv. ${magda.geefPersoon(...)}). Een connector kan je anderzijds ook rechtstreeks vanuit eigen Java-code aanspreken (via dependency injection). Dit is vooral relevant voor maatwerkcode binnen een specifieke Skryv-applicatie. Concrete, praktische uitleg over welke strategie je volgt en hoe je deze connectoren aanspreekt vind je op de pagina ‘MAGDA gebruik’.