Skip to content

Commit

Permalink
architectuur
Browse files Browse the repository at this point in the history
  • Loading branch information
MWest2020 committed Dec 1, 2023
2 parents 37636db + 89e5d65 commit b9d1a53
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 9 deletions.
14 changes: 5 additions & 9 deletions docs/Architectuur.md
Original file line number Diff line number Diff line change
Expand Up @@ -87,24 +87,20 @@ De integratievoorziening "scraped" elke nacht alle relevante informatie en bouwt

Dit proces zorgt ervoor dat het zaaksysteem leidend is en dat zaken zowel kunnen worden gepubliceerd als worden gedepubliceerd.

## Federatie via OpenCatalogi
## Federatie (via OpenCatalogi)

OpenWoo.app maakt gebruik van het federatieve stelstel van OpenCatalogi om de verschillende varianten te kunnen ontsluiten. Dit betekent dat organisaties zelf kunnen bepalen welke variant ze willen gebruiken en dat ze niet afhankelijk zijn van een centrale partij.
OpenWoo.app maakt gebruik van het federatieve stelstel van [OpenCatalogi](https://opencatalogi.nl/) om verschillende integratievoorzieningen samen te binden. Hierbij verhoudt de organisatiespecifieke voorziening zich tot wat we binnen OpenCatalogi een catalogus noemen.

## Landelijke API
Dat betekent dat de integrale zoekvraag ook organisatie-overstijgend kan worden gesteld aan meerdere organisatie tegelijkertijd zonder dat er noodzaak is voor een landelijke index, 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. Defacto is hiermee dus ook een landelijke Woo-API gerealiseerd met die beperking dat deze alleen organisaties bevat die participeren in OpenWoo.app

Iedereen kan de landelijke API bevragen om alle Woo-verzoeken en convenanten op te halen. De API is gebaseerd op de [NL API Strategie](https://docs.geostandaarden.nl/api/cv-hr-API-Strategie-20190213/).
De reden dat we hebben gekozen voor OpenCatalogi is dat in deze `variant` van FSC géén PKI of overige certificaten benodigd zijn. Dat lijnt uit met beter uit met de gedachte dat dit open data betreft die conform de wet juist annoniem toegankenlijk zou moeten zijn.

(wordt nog aangevuld)
![OpenWeb Architecture](https://raw.githubusercontent.com/ConductionNL/woo-website-template/main/docs/Federatie.svg)

## Woo Publicatie Object

Het Woo Publicatie Object vormt de kern van zowel de Woo API als de Woo-website. Dit object bevat alle essentiële informatie over een Woo-publicatie, inclusief metadata, publicatiedatum, bijlagen en andere relevante eigenschappen. Het dient als de centrale entiteit waaromheen de functionaliteiten van de API en de website zijn gebouwd. Door deze gecentraliseerde aanpak is het eenvoudiger om Woo-publicaties efficiënt te beheren, op te halen en weer te geven, en draagt het bij aan een coherente en gestroomlijnde gebruikerservaring.

Toegepaste norm: [NL API Strategie over property namen](https://docs.geostandaarden.nl/api/cv-hr-API-Strategie-20190213/#veldnamen-in-snake_case-camelcase-uppercamelcase-of-kebab-case)

Alle componenten worden getest met [zaaksysteem.nl](https://xxllnc.nl/zaakgericht/), Rx.Fundament en Decos JOIN. Deze systemen zijn allemaal gebaseerd op de [Zaakgericht Werken API](https://vng-realisatie.github.io/gemma-zaken/standaard/).

## Roadmap

Organisaties kunnen bijdragen aan de ontwikkeling van deze componenten door items aan te dragen, deze zelf op te pakken en uit te voeren, of door de uitvoering ervan te financieren. Voor het huidige overzicht, zie [Roadmap](/docs/Roadmap.md).
25 changes: 25 additions & 0 deletions docs/Federatie.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
@startuml
title Federatie

' User Interface Component
interface "Landelijke API" as Api

' Backend Components
component "NLX/FSC/FDS" as NLX
component "Intergratie voorziening Org 1" as Org1
component "Intergratie voorziening Org 2" as Org2
component "Intergratie voorziening Org 3" as Org3
component "Bronnen" as BronnenOrg1
component "Bronnen" as BronnenOrg2
component "Bronnen" as BronnenOrg3

' Relationships
Api -down-> NLX : Connected trough outway
NLX -down-> Org1 : Connected trough inway
NLX -down-> Org2 : Connected trough inway
NLX -down-> Org3 : Connected trough inway
Org1 -down-> BronnenOrg1 : Internal connection
Org2 -down-> BronnenOrg2 : Internal connection
Org3 -down-> BronnenOrg3 : Internal connection

@enduml

0 comments on commit b9d1a53

Please sign in to comment.