From 108acc239e47291b6fc37cd65fb0129c343cce1d Mon Sep 17 00:00:00 2001 From: Matthias Oliveiro Date: Wed, 26 Jun 2024 21:46:25 +0200 Subject: [PATCH] Update Architectuur.md review matthias inhoudelijk en textuele verbeteringen toegepast. --- docs/techniek/Architectuur.md | 81 ++++++++++++++++++----------------- 1 file changed, 41 insertions(+), 40 deletions(-) diff --git a/docs/techniek/Architectuur.md b/docs/techniek/Architectuur.md index 4946e03d..f0b70ffa 100644 --- a/docs/techniek/Architectuur.md +++ b/docs/techniek/Architectuur.md @@ -36,29 +36,29 @@ Secundair doel daarbij is wat idialistischer: om een gemeenschappenlijke codebas ## Hergebruik tot op het bot -OpenWoo.app maakt voor haar onderliggende techniek en architectuur gebruik van [Open Catalogi](https://documentatie.opencatalogi.nl/) meer informatie technsiche informatie over publiceren naar het federatief datastelsel vind je dan ook in de [architectuur documentatie van open catalogi](https://documentatie.opencatalogi.nl/Handleidingen/Architectuur/). +OpenWoo.app maakt voor haar onderliggende techniek en architectuur gebruik van [Open Catalogi](https://documentatie.opencatalogi.nl/). Meer technsiche informatie over publiceren naar het federatief datastelsel vind je in de [architectuur documentatie van open catalogi](https://documentatie.opencatalogi.nl/Handleidingen/Architectuur/). -Daar waar we het binnen Open Catalogi over burgers hebben defineren we voor de woo de (sub)doelgroepen inwoners, onderzoekers, journalisten, raadsleden en ondernemers. Het ORC als opslag voor publicaties vertolkt richting de WOO ook de rol van Openbare Documenten Registratie Component (ODRC). Waarbij het configureerdbaar is of documenten daadwerkenlijk worden overgenomen naar het ORC of bij iedere inzage uit de bron worden gehaald (in welk geval alleen de metadata wordt overgenomen). Deze configuratie keuze wordt met name aangeboden om bronsystemen te ontzien of om trage bronsystemen heen te werken. In Elastic Search (die de rol van search vertolkt) worden ten allertijde alleen de metedata gegevens van bestanden opgenomen. +Binnen Open Catalogi richten we ons op burgers, terwijl we voor de Woo de (sub)doelgroepen inwoners, onderzoekers, journalisten, raadsleden en ondernemers definiëren. Het ORC fungeert als opslag voor publicaties vervult richting de WOO ook de rol van Openbare Documenten Registratie Component (ODRC). Hierbij kan worden ingesteld is of documenten daadwerkenlijk worden overgenomen naar het ORC of bij iedere inzage uit de bron worden gehaald (waarbij alleen de metadata wordt overgenomen). Deze configuratie ontlast bronsystemen of omzeilt trage bronsystemen. In Elastic Search, dat de zoekfunctie vervult, worden altijd alleen de metadata van bestanden opgenomen. ## Uitdagingen -Bij het ontwikkelen van een publicatie voorziening komen een aantal uitdagingen in beeld +Bij het ontwikkelen van een publicatievoorziening komen een aantal uitdagingen naar voren: -- Woo gegeves staan vaak opgeslagen in bronnen die niet makkenlijk toegangenlijk zijn -- De scope van de WOO (alle niet vertrouwelijke gegevens) in combinatie met het concept actieve openbaarmaken raakt de volledige informatie huishouden -- Handmatig publiceren kan daarmee geen eindoplossing zijn, maar eigenlijk ook al geen tussen oplossing -- Er mogen géén fouten worden gemaakt met annonimisren, dit vraagt om een afgebakende proces flow met checks en balances rondom publiceren +- Woo-gegevens zijn vaak opgeslagen in moeilijk toegankelijke bronnen. +- De scope van de Woo (alle niet-vertrouwelijke gegevens) en het concept van actieve openbaarmaking omvatten het volledige informatiehuishouden. +- Handmatig publiceren is geen duurzame oplossing, zelfs niet tijdelijk. +- Er mogen geen fouten worden gemaakt bij het anonimiseren, wat een afgebakende procesflow met checks en balances vereist. -Dat leid tot de conclusie dat we niet op zoek zijn naar een WOO publicatie platform maar een algemene publicatie voorzienen die één of meerdere publicatie kanalen kan 'voeden', daarbij denken we naast de WOO Index (koop) ook nadrukenlijk aan een organisatie eigen publicatie platform, Woogle en bijvoorbeeld een gemeentenlijke website. In het verlengde hiervan liggen ook DROP, SDG, Algoritme registers en WHO als kanalen die vanuit een generiek publicatie platform moeten kunnen worden ontsloten. +Dit leidt tot de conclusie dat we een algemene publicatievoorziening nodig hebben die meerdere kanalen kan 'voeden', zoals de Woo Index (KOOP), een eigen publicatieplatform, Woogle, gemeentelijke websites, en kanalen zoals DROP, SDG, algoritmeregisters en WHO. ## Belangrijkste verschillen ten opzicht van OpenWoo.app 1.0 -**Splitsing opslag en search** Binnen de OpenWoo.app 1.0 werd er één mongoDB instance als opslag en search gebruikt, we hebben deze zowel qua opslag uit elkaar getrokken in een elastic search en orc instansie als vereeld over twee aparte api's (zoeken en beheer). -**Lostrekken integratie component** De 1.0 versie was direct gebouwd op de common gateway, een integratie voorziening. Vanaf 2.0 zijn de zoek api en beheer api gepositioneerd als losse componenten die (desgewenst) ook op NLX/FSC kunnen worden ontsloten. -**Publicatie flow** De 1.0 versie was gebouwd op de gedachte dat objecten vanuit de bron altijd automatisch moesten worden gepubliceerd. In de 2.0 is dit omgedraaid en wordt er vanuit gegaan dat er actief beheer is op publicaties en dat ze pas worden gepubliceerd als daarte is geacodeerd. Wel kunnen er nog steeds automatische spelregels worden afgesproken. +**Splitsing opslag en search** In OpenWoo.app 1.0 werd één MongoDB-instance gebruikt voor zowel opslag als zoekfuncties. In versie 2.0 zijn deze gescheiden in een Elasticsearch-instance voor zoekfuncties en een ORC-instance voor opslag, verdeeld over twee aparte API's (zoeken en beheer). +**Loskoppeling integratiecomponent** De 1.0 versie was direct gebouwd op de common gateway. In versie 2.0 is de common gateway uitgefasseerd en zijn de zoek-API en beheer-API losse componenten geworden, die indien gewenst, ook op NLX/FSC kunnen draaien. +**Publicatie flow** De 1.0 versie was gebouwd op de gedachte dat publicaties vanuit de bron altijd automatisch moesten worden gepubliceerd. In de 2.0 is dit omgedraaid en wordt er vanuit gegaan dat er actief beheer is op publicaties en dat ze pas worden gepubliceerd als er is geacodeerd. Het is in de 2.0 versie ook nogsteeds mogelijk om ublicaties te automatiseren. ### Publicatieplatform (onderdeel 1) -Woo-publicaties moeten worden uiteraard ergens worden gepubliceerd, dat gebeurd via een organisatie specifiek Woo-publicatieplatform. Open Catalogi kent haar eigen zoeken UI maar voor de gemiddelde gemeente is die te generiek. Daarom zijn er vanuit het OpenWoo.app project een aantal alternatieve user interfaces beschickbaar waarbij de overheid zelf kan kiezen welke interface het beste bij haar past. Hierbij kunt u zowel kiezen voor de zoektinterface als los component als voor een intergratie binnen uw huidoge website. +Woo-publicaties moeten uiteraard ergens worden gepubliceerd, en dat gebeurt via een organisatie specifiek Woo-publicatieplatform. Hoewel Open Catalogi een eigen zoekinterface heeft, sluit deze niet aan bij de functie en doelgroep voor Woo publicaties. Daarom biedt het OpenWoo.app-project verschillende alternatieve user interfaces aan, zodat overheden zelf kunnen kiezen welke interface het beste bij de behoeften van hun inwoners past. Hierbij is het ook mogelijk om de zoekfuncties te intergreren binnen de huidge bestaande website. Let op, alle interfaces maken onderwater gebruik van de [zoeken-API](https://documentatie.opencatalogi.nl/Handleidingen/Architectuur/#de-zoek-api). U kunt de interfaces dan ook niet gebruiken zonder een Open Catalogi zoeken-api. . @@ -72,46 +72,45 @@ Let op, alle interfaces maken onderwater gebruik van de [zoeken-API](https://doc | Drupal Site | Ja | [Drupal voor Overheden](https://www.drupalvooroverheden.nl/) | Een weergavecomponent voor Drupal | | | TYPO3 thema site | Ja | [OpenGemeenten](https://www.opengemeenten.nl/) | Een weergavecomponent voor TYPO3-websites | | -Naast het lokale publicatieplatform ondersteund OpenWoo.app ook altijd de volgende landelijke publicatieplatformen +> **notice** +> Weet u niet welk frontend framework uw organisatie op dit moment gebruikt? Kijk dan eens op [digimonitor](https://www.digimonitor.nl/cms-en/gemeenten/). + + +Naast het lokale publicatieplatform ondersteund OpenWoo.app ook altijd de volgende landelijke publicatieplatformen: - Een gestandaardiseerde verbinding met het Kennis- en Exploitatiecentrum Officiële Publicaties (KOOP) - Een federale zoekvraag via [koophulpje.nl](https://koophulpje.nl/). -- WooGLe van de Wooverheid van de UvA. +- WooGLe van de Wooverheid van de Universiteit van Amsterdam. - KoopHulpje van OpenWoo.app - OpenCatalogi.nl van Rotterdam -> **notice** -> Voor Open Source componenten bent u natuurlijk niet beperkt tot deze leveranciers, dit zijn de op dit moment bij ons bekende leveranciers. -> -> Weet u niet welk frontend framework uw organisatie op dit moment gebruikt? Kijk dan eens op [digimonitor](https://www.digimonitor.nl/cms-en/gemeenten/). - ![Publicatie Platformen Architectuur](https://raw.githubusercontent.com/ConductionNL/woo-website-template/main/docs/PublicatiePlatformen.svg) ### Motorblok (onderdeel 2) -Het kloppende hart (of motorblok) onder het publicatieplatform is het [Common Ground](https://commonground.nl/) project [Open Catalogi](https://documentatie.opencatalogi.nl/) vanuit dit poject nemen we een 2 tal componenten over te te weten [Open Index](https://openindex.online/) en [Open Registers](https://openregisters.app/). +Het kloppende hart (of motorblok) onder het publicatieplatform zijn twee componenten uit het [Common Ground](https://commonground.nl/) project [Open Catalogi](https://documentatie.opencatalogi.nl/), namelijk [Open Index](https://index.openregisters.app/) en [Open Registers](https://openregisters.app/). -**Open Index** stel ons in staat om snel en organisatie-overstijgend te zoeken in meerdere Woo-categorieën tegelijkertijd. Hierbij wordt onder water gebruik gemaakt van elastic search. Open index normaliseerd en standaaardiseerd elastic search voor ons door het toevoegen van json-ld, contextueele metadata, organisaties, directory en catalogi waardoor de onderliggende infrastructuur ontstaat voor een federatieve zoekvraag. Het vormt daarmee het hard van zoeken in OpenWoo.app. Meer informatie over hoe we de techniek van Open Index inzetten vind je in de [architectuur documentatie van open catalogi](https://documentatie.opencatalogi.nl/Handleidingen/Architectuur/). +**Open Index** stelt ons in staat om snel en organisatie-overstijgend te zoeken in meerdere Woo-categorieën tegelijk. Hierbij wordt onder water gebruik gemaakt van elastic search. Open Index normaliseert en standaardiseert Elasticsearch door het toevoegen van JSON-LD, contextuele metadata, organisaties, directories en catalogi. Dit creëert een onderliggende infrastructuur voor een federatieve zoekvraag. Meer informatie over hoe we de techniek van Open Index inzetten vind je in de [architectuur documentatie van open catalogi](https://documentatie.opencatalogi.nl/Handleidingen/Architectuur/). -**Open Registers** levert voor ons een publicatie register waar publicaties binnen komen (automtatisch aan de hand van synchronysatie of handmatig) en we deze behandelen voordat ze verder worden gecomuniseerd naar Open Index. +**Open Registers** levert een publicatieregister waarin publicaties binnenkomen, zowel automatisch via synchronisatie of notificatie als handmatig. Deze publicaties kunnen vervolgens worden verrijkt voordat ze worden doorgezet naar Open Index. -Er is dus een bewuste en harde scheiding tussen de werkbak (open Registers) en de publicatie bak (open INdex) waarbij de zoek-API (en daarme de burger interface) gebruii maakt van de zoekbak. De medewerkers maken via de Admin-UI en beheers interface gebruik van Open Registers om publicaties te behandelen, onder het behandelen van publicatie verstaan we onder andere +Er is een bewuste en strikte scheiding tussen de werkbak (Open Registers) en de publicatiebak (Open Index), waarbij de zoek-API gebruikmaakt van de zoekbak. Medewerkers gebruiken de beheersinterface van Open Registers om publicaties te verrijken. Deze functionaliteit is optioneel, men kan er ook voor kiezen om de verrijking in de bron te doen, als hier voor gekozen wordt dan wordt de publicatie direct gepubliceert. Onder verrijken verstaan we de onderandere de volgende acties: - Controleren en aanvullen van metadata - Toevoegen van documenten -- Controleren van annonimisering +- Controleren en anonimiseren van informatie - Evenuteel annonimiseren a.h.v. externe servcie -- Accoderen voor publicatie +- Accorderen voor publicatie - Eventueel terugtrekken van publicaties - Archiveren +Deze scheiding zorgt voor een efficiënte en veilige verwerking en publicatie van gegevens. -Hierbij dient te worden opgemerkt dat het publicatie princiepe niet allen de WOO maar ook WHO en DSO onderstuend. - -Ahankenlijk van de specifieke configuratie wensen van overheden kunnen sommige van deze handelingen worden geautomatiseerd (bijvoorbeeld terugtrekken van en DSO publicatie die ter inzage ligt na het verloop van het termijn). Hiervoor ondersteunen we twee patronen +Ahankenlijk van de specifieke configuratie wensen kunnen sommige van de bovenstaande acties worden geautomatiseerd (bijvoorbeeld terugtrekken van en DSO publicatie die ter inzage ligt na het verloop van het termijn). Hiervoor ondersteunen we drie patronen: - Een BPMN (Camunda) task die wordt afgetrap n.a.v een notificatie bericht - Een NextCloud workflow +- Een "pass thru" waarin de publicatie direct wordt gepubliceerd. De bovenstaande acties worden dan in de bron gedaan (bijvoorbeeld het zaaksysteem). -**OpenWoo Service** gebaseerd op het Common Ground [OpenS ervices](https://openservices.online/) framework faciliteerd het inlezen van externe bronnen naar `open index`toe. Hierbij wordt bij voorkeur gebruik gemaakt van een pubsub principe (abbonement op notifiacties vanuit de bron) maar kan ook (indien gewenst) gebruik worden gemaakt van crawling. +**OpenWoo Service** gebaseerd op het Common Ground [Open Services](https://openservices.online/) framework faciliteerd het inlezen van externe bronnen naar `open index`toe. Hierbij wordt bij voorkeur gebruik gemaakt van een pubsub principe (abbonement op notificaties vanuit de bron) maar kan ook (indien gewenst) gebruik worden gemaakt van crawling (synchronisatie). | Component | Leverancier | Meer informatie | |-----------------|---------------|---------------------------------------------------| @@ -139,19 +138,19 @@ Een van de krachten van OpenWoo.app is het ondersteunen en (automatisch) publice | Open PDC | Custom API | Ja | [Yard](https://www.yard.nl/), [Acato](https://acato.nl/) | | > **notice** -> Er zijn meer koppelvlakken en daarmee bronnen beschickbaar (bijvoorbeeld StUF en ZDS). Bovenstaande is slechts een overzicht van de bij ons bekende en beproefte bronnen. Andere koppelvlakken en maatwerk zijn uiteraard ook mogenlijk, neem daarvoor contact op met een leverancier. +> Er zijn meer koppelvlakken en daarmee bronnen beschikbaar, zoals StUF en ZDS. Bovenstaande is slechts een overzicht van de bij ons bekende en beproefde bronnen. Andere koppelvlakken en maatwerk zijn uiteraard ook mogelijk. Neem hiervoor contact op met een leverancier. ![OpenWeb Architecture](https://raw.githubusercontent.com/ConductionNL/woo-website-template/main/docs/Bronnen.svg) ## Totaalplaatje -De drie onderdelen samen geven ons een totaalbeeld van samenwerkende componenten die als ecosysteem een oplossing leveren. +De drie onderdelen samen geven ons een totaalbeeld van samenwerkende componenten die als ecosysteem een complete oplossing leveren. ![OpenWeb Architecture](https://raw.githubusercontent.com/ConductionNL/woo-website-template/main/docs/Totaal.svg) -## Hoe werkt dat scrapen vanuit de woo service? +## Hoe werkt het scrapen/synchroniseren vanuit de woo service? -De woo service "scraped" elke nacht alle relevante informatie en synchronyseerd deze met de publicatie objecten in Open Registers. De stappen zijn (bijvoorbeeld bij een zaaksysteem) als volgt: +De woo service kan naast publicaties op basis van notifcaties (pubsub) inlezen deze ook via "scrapen"/synchronisatie inlezen. In het geval van scrapen draait er om een interval (bijvoorbeeld elke nacht) een synchronisatie die alle relevante informatie en synchronyseerd met de publicatie objecten in Open Registers. De synchronisatie stappen zijn (bijvoorbeeld bij een zaaksysteem) als volgt: 1. Ophalen van alle zaaktypen. 2. Per zaaktype worden de beschikbare eigenschappen gecontroleerd (zie inrichting zaaksysteem). @@ -163,16 +162,18 @@ Het bovenstaande proces zorgt ervoor dat het zaaksysteem leidend is en dat zaken ## Integraal (Organisatiebreed) zoeken -De kern van de Woo is het zoeken in de openbare informatie van een overheid organisatie, hierbij zou het in theorie niet mogen uitmaken in welke bron/applicatie informatie staat. Deze vorm van bron en domein overstijgend zoeken kennen we vanuit overheid architectuur al langer en noemen we doorgaans integrale zoekvraag. +De kern van de Woo is het zoeken in de openbare informatie van een overheidsorganisatie, waarbij het in theorie niet uitmaakt in welke bron of applicatie de informatie staat. Deze vorm van bron- en domeinoverstijgend zoeken kennen we al langer binnen de overheidsarchitectuur en noemen we doorgaans een integrale zoekvraag. -OpenWoo.app geeft invulling aan deze integrale zoekvraag door gebruik te maken van het commonground component [Open Index](), wat een standaardisatie is op reeds bestaande (en eventueel al binnen de organisatie beschikbare) tools. Waarin OpenWoo.app afwijkt is dat zij alleen publieke informatie in deze index opneemt waardoor een zoek index openbare informatie ontstaat. Dit heeft een aantal privacy, security en architectuur voordeelen. +OpenWoo.app geeft invulling aan deze integrale zoekvraag door gebruik te maken van het commonground component [Open Index](), wat een standaardisatie is op reeds bestaande (en eventueel al binnen de organisatie beschikbare) tools. Waarin OpenWoo.app afwijkt, is dat het alleen publieke informatie in deze index opneemt, waardoor een zoekindex voor openbare informatie ontstaat. Dit heeft verschillende voordelen op het gebied van privacy, beveiliging en architectuur. -Deze OpenIndex is echter ook buiten OpenWoo bruikbaar en kan bijvoorbeeld worden ingezet vanuit de website, zaaksysteem of klant contact centrum om burgers, inwoners en medewerkers van relevante informatie te voorzien. +Open Index is echter ook buiten OpenWoo.app bruikbaar en kan bijvoorbeeld worden ingezet via de website, het zaaksysteem of het klantcontactcentrum om burgers, inwoners en medewerkers van relevante informatie te voorzien. ## Federatief (Landelijk) zoeken -OpenWoo.app maakt gebruik van de federatieve zoekvraag ontwikkeld binnen [OpenCatalogi](https://opencatalogi.nl/) om verschillende integrale zoekvragen virtueel samen te voegen. Simpel gezegd roept de landelijke zoek API meerdere instanties van [Open Index]() aan en aggregeert de resultaten. Technisch zitten daar nog wat haken en ogen aan die binnen Open Index worden [uitgelegd](). -Er word hierbij dus géén gebruik gemaakt van een landelijke index, het geen data duplicatie voorkomt en organisaties zelf in controlle houdt op hun publicaties. Dit dit concept is verder uitgewerkt in [koophulpje.nl](https://koophulpje.nl/) waarbij ook een voorziening is gerealiseerd voor het genereren van `robot.txt` en `sitemap.xml` bestanden (ten behoeve van KOOP). De facto is hiermee dus ook een landelijke Woo-API gerealiseerd met de beperking dat deze alleen organisaties bevat die participeren in OpenWoo.app -De bevragingen tussen de federale zoekvraag en de verschillende organisaties kan via [NLX/FSC]( https://www.nlx.io/) lopen, of daarbuiten. Gezien het publieke bevragingen zijn op openbare informatie is NLX an zich niet verplicht en kan het inregelen van een PKI certificaat nodeloos complex zijn. Dat gezegd hebbende biedt NLX ook voordelen met betrekking tot het monitoren en loggen van verkeer. +OpenWoo.app maakt gebruik van de federatieve zoekvraag ontwikkeld binnen [OpenCatalogi](https://opencatalogi.nl/) om verschillende integrale zoekvragen virtueel samen te voegen. Simpel gezegd, roept de landelijke zoek-API meerdere instanties van [Open Index](https://index.openregisters.app/) aan en aggregeert de resultaten. Technisch zijn er enkele complexiteiten die binnen Open Index worden [uitgelegd](https://index.openregisters.app/). + +Er wordt hierbij géén gebruik gemaakt van een landelijke index, wat dataduplicatie voorkomt en organisaties zelf controle geeft over hun publicaties. Dit dit concept is verder uitgewerkt in [koophulpje.nl](https://koophulpje.nl/) waarbij ook een voorziening is gerealiseerd voor het genereren van `robot.txt` en `sitemap.xml` bestanden (ten behoeve van KOOP). Hiermee is eigenlijk ook een landelijke Woo-API gerealiseerd met de beperking dat deze alleen organisaties bevat die participeren in OpenWoo.app + +De bevragingen tussen de federale zoekvraag en de verschillende organisaties kan via [NLX/FSC]( https://www.nlx.io/) lopen, of daarbuiten. Gezien het publieke bevragingen zijn op openbare informatie is NLX niet verplicht en kan het inregelen van een PKI certificaat nodeloos complex zijn. Dat gezegd hebbende biedt NLX ook voordelen met betrekking tot het monitoren en loggen van verkeer. ![OpenWeb Architecture](https://raw.githubusercontent.com/ConductionNL/woo-website-template/main/docs/Federatie.svg) @@ -197,7 +198,7 @@ OpenWoo.app is een organisatie specifieke applicatie waarvan de installaties ond Dit zijn de aangeboden domeinen vanuit OpenWoo.app, daarnaast zien de dat de meeste organisaties hun publicatie pagina ontsluiten op hun eigen domein e.g. open.[organisatie_naam].nl ## Documenten vs Publicatie Objecten -Vanuit de WOO denken we doorgaans aan documenten die gepubliceerd moeten worden, vanuit OpenWoo.app denken we echter in publicatie objecten waar een of meer documenten aan kunnen worden gekoppeld. Publicatie objecten omvatten de metadata waarmee documenten kunnen worden gevonden, geclusterd en weergegeven (zo als bijvoorbeeld thema's en typen). Publicatie objecten kunnen ook aan elkaar worden gerelateerd, dat is met name relavant in de casus van raads informatie systemen waarbij een stuk hoort bij een agenda item dat hoort bij een agenda bij een vergadering en gekopeld kan zijn aan stem gedrag van personen of facties. +Vanuit de WOO denken we doorgaans aan documenten die gepubliceerd moeten worden, vanuit OpenWoo.app denken we echter in publicatie objecten waar een of meer documenten aan kunnen worden gekoppeld. Publicatie objecten omvatten de metadata waarmee documenten kunnen worden gevonden, geclusterd en weergegeven (zoals bijvoorbeeld thema's en typen). Publicatie objecten kunnen ook aan elkaar worden gerelateerd, dat is met name relevant in de casus van raads informatie systemen waarbij een stuk hoort bij een agenda item dat hoort bij een agenda bij een vergadering en gekopeld kan zijn aan stem gedrag van personen of facties. Het onderling aan elkaar relateren van publicatie objecten leid onderwater tot een 3 dimensionaal datamodel en is een van de redenen waarom er binnen OpenWoo.app is gekozen voor linked data.