Skip to main content

Componenten

Basis Componenten

In de kern bestaat Open Catalogi uit een viertal basis componenten

  • Een publicatie platform waarin de burger kan zoeken
  • Een beheer interface waarin medewerkers publicaties en configuratie kunnen beheren
  • Een beheer API die de beheer interfae faciliteerd
  • Een zoeken API de het publicaite platform faciliteerd

De beide API's maken daarbij gebruik van data opslag, in de meest simpele vorm is dat

  • Objecten opslag voor publicaties, metadata over documenten, thema's, catalogi etc
  • Zoek Index voor het lezen van zoeken functionaliteit

Vanuit de architectuur doen we geen uitspraken over de dataopslag behalve dat er een harde scheiding moet zijn tussen de opslag van behandelgegevens (Objecten opslag) waar ook niet publieke informatie in kan voorkomen en de zoekgegevens (Zoek index) waarin alleen publieke informatie mag voorkomen.

Invulling van de Componenten

Bovenstaande abstracte componenten behoeven natuurlijk een concrete invulling, daarvoor heeft Open Catalogi een aantal open source oplossingen geraliseerd of hergebruikt.

ComponentInvulling
publicatie platformNlDesign app
beheer interfaceNextCloud app
beheer APINextCloud app
zoeken APINextCloud app
Objecten opslagmongodb of Objects API
Zoek IndexElastic Search

Daarnaast hebben diverse projecten zo als de software catalogus en open woo hun eigen aanvullende over vervangende componenten gerealiseerd. Kijk daarvoor bij projecten.

Data Opslag

Hoewel erg geen architecturele eis is, met betrekking tot hoe documenten en objecten worden opgeslagen, kiezen we er zelf bij de uitvoering voor om documenten (bestanden) en gegevens over documenten de scheiden. Voornaamste overweging hierbij is dat de documenten een spel apart zijn dat je graag in een DMS speelt.

Daarmee word de structuur zo als we die doorgaans zien

Basis Componenten

Scheiding van architectuur en uitvoering

Vanuit commonground plaatsen we binnen het 5 lagen model API's als losse laag en teken we ze in als losse application components .

We zelf Open Catalogi als application collaboration bestaande uit hanteren we één next cloud applicatie die beide api's kan uitleveren, hiermee laten we de keuze aan overheden of zij wel of geen losse installatie willen per API. Hoewel een functionele scheiding tussen de API's dus mogenlijk is, zien wij beide api's als één applicatie component dat naast de API's ook een (technisch) beheers interface, logging en andere randvoorwaardenlijke functionaliteiten voor haar rekening neemt. Hiermee lijnen we uit op andere commonground applicaties zo als open zaak.

Alternatieve naamgeving van componenten en applicaties

Vanuit commonground maken we een verschil tussen architecturele componenten (API's databases etc) en installeerbare componenten. Een goed voorbeeld hiervan is open zaak waarbij één applicatie meerdere

  • Open Index (Zoeken API + Zoek Index)
  • Open Registers (Beheer API + Objecten Api)

Vanuit Dimpact start archit

Afgelopen maand is de architectuur meer uitgeleind rondom het concept publicatie en het event publiceren. Daarmee lijkt het nu voor meer voor de hand te liggen om het te hebben over een "Publicatie Register" die kan worden benaderd via een publicatie API.