MOZa PoC Federatief Berichtenstelsel
master
master
v
0.0.0
Berichten Uitvraag Systeem
Centraal systeem voor het uitvragen, beheren en aanleveren van berichten in het Federatief Berichtenstelsel
Info
Context views
Container views
Component views
Dependencies
Aanmeld Service
BSNk Transformatie
Berichten Uitvraag Service
Berichtensessiecache
Berichten Uitvraag Systeem - Berichtensessiecache - Components
Berichten Uitvraag Systeem - Berichtensessiecache - Components
Berichtensessiecache
[Container: Quarkus / Kotlin — gedeelde library (in-process)]
Sessiecache-facade
[Component:
CDI
Facade]
De
enige
publieke
ingang:
lijst,
zoeken,
bericht,
status
bijwerken,
verwijderen,
ophalen-stream
en
aanmeld-write.
De
implementatie
erachter
is
Kotlin
`internal`
—
compile-afgedwongen
onzichtbaar
voor
consumenten.
MagazijnResolver
[Component:
CDI
Bean
(internal)]
Bepaalt
op
basis
van
dienstvoorkeuren
(Profiel
Service)
en
machtigingen
welke
magazijnen
bevraagd
worden
PseudoniemService
[Component:
CDI
Bean
(internal)]
Transformeert
PP
naar
EP
per
magazijn
via
BSNk
BerichtensessiecacheService
[Component:
CDI
Bean
(internal)]
Aggregeert
berichten
uit
de
door
MagazijnResolver
bepaalde
magazijnen
en
cachet
de
resultaten
per
pseudoniem
Cache
[Component:
Redis
/
RediSearch
(internal)]
Afgeschermd
implementatiedetail:
berichten
met
full-text
zoekindex
en
sliding-TTL,
gedeeld
over
pods
zodat
ophalen
én
aanmelden
dezelfde
tijdelijke
opslag
delen
MagazijnAggregatieBulkhead
[Component:
CDI
Bean
(internal)]
Semafoor-bulkhead
die
het
aantal
gelijktijdige
blokkerende
magazijn-aggregatie-calls
begrenst,
zodat
één
trage
leverancier
de
gedeelde
worker-pool
niet
laat
vollopen
en
overige
endpoints
responsief
blijven
MagazijnCircuitBreaker
[Component:
CDI
Bean
(internal)]
Per-magazijn
circuit
breaker:
opent
na
opeenvolgende
fouten/timeouts
zodat
een
onbereikbaar
magazijn
de
aggregatie
niet
blijft
ophouden
MagazijnClient
[Component:
REST
Client
(internal)]
REST
client
naar
berichtenmagazijnen
(per
magazijn
opgebouwd
via
MagazijnClientFactory)
Profiel
Service
[Software
System]
Contactgegevens,
communicatievoorkeuren
en
toestemmingsbeheer
(MoZa)
Berichtenmagazijn
(eigen
gehost)
[Software
System]
Door
een
deelnemende
organisatie
zelf
gehoste
berichtenmagazijn-instantie
met
dezelfde
koppelvlakken
(aanleveren,
ophalen/beheren,
aanmelden)
als
de
BBO-gehoste
variant.
Berichtenmagazijn
(BBO-gehost)
[Software
System]
Berichten
opslaan,
ophalen
en
beheren
(incl.
berichtstatus).
BBO-gehoste
referentie-implementatie
die
deelnemende
organisaties
kunnen
afnemen
in
plaats
van
zelf
te
hosten.
Berichten
Uitvraag
Service
[Container:
Quarkus
/
Kotlin]
Service
voor
burgers
en
ondernemers
-
berichtenbox
inzien
en
berichten
beheren
BSNk
Transformatie
[Container:
BSNk
container
(Logius)]
Transformeert
PP
naar
EP
per
berichtenmagazijn
—
vereist
sleutelmateriaal
per
deelnemer
Aanmeld
Service
[Container:
Quarkus
/
Kotlin]
Werkt
de
cache
bij
voor
nieuwe
berichten
verzonden
tijdens
de
sessie
van
de
ontvanger
Magazijnregister
[Container:
Quarkus
/
Kotlin
—
gedeelde
library
(in-process)]
Houdt
per
deelnemende
organisatie
(OIN)
bij
welk
berichtenmagazijn
erbij
hoort
—
1:1,
het
magazijnId
ís
de
OIN.
Nu
config-backed;
later
database-opslag
met
beheer-interface.
Haalt
berichten
op
[Digikoppeling
REST
API
via
FSC]
Haalt
dienstvoorkeuren
op
om
te
bepalen
welke
magazijnen
bevraagd
worden
[Digikoppeling
REST
API
via
FSC]
Haalt
berichten
op
[Digikoppeling
REST
API
via
FSC]
Gebruikt
[CDI]
Vraagt
op
welke
magazijnen
bevraagd
moeten
worden
[CDI]
Transformeert
PP
naar
EP
per
magazijn
[CDI]
Leest/schrijft
cache
[Redis]
Begrenst
gelijktijdigheid
van
aggregatie-calls
[CDI]
Schermt
per-magazijn
calls
af
[CDI]
Roept
magazijn
aan
(als
circuit
closed)
[CDI]
Transformeert
PP
naar
EP
per
magazijn
[BSNk
API
(lokaal)]
Werkt
cache
bij
(aanmeld-write,
in-sessie)
[CDI
(in-process
facade)]
Haalt
berichten
op
[CDI
(in-process
facade)]
Bepaalt
de
magazijn-set
en
endpoints
per
afzender-OIN
[CDI
(in-process)]
Berichten Uitvraag Systeem - Berichtensessiecache - Components
Componenten binnen de Berichtensessiecache
Berichten Uitvraag Systeem - Berichtensessiecache - Components
Berichten Uitvraag Systeem - Berichtensessiecache - Components
Berichtensessiecache
[Container: Quarkus / Kotlin — gedeelde library (in-process)]
Sessiecache-facade
[Component:
CDI
Facade]
De
enige
publieke
ingang:
lijst,
zoeken,
bericht,
status
bijwerken,
verwijderen,
ophalen-stream
en
aanmeld-write.
De
implementatie
erachter
is
Kotlin
`internal`
—
compile-afgedwongen
onzichtbaar
voor
consumenten.
MagazijnResolver
[Component:
CDI
Bean
(internal)]
Bepaalt
op
basis
van
dienstvoorkeuren
(Profiel
Service)
en
machtigingen
welke
magazijnen
bevraagd
worden
PseudoniemService
[Component:
CDI
Bean
(internal)]
Transformeert
PP
naar
EP
per
magazijn
via
BSNk
BerichtensessiecacheService
[Component:
CDI
Bean
(internal)]
Aggregeert
berichten
uit
de
door
MagazijnResolver
bepaalde
magazijnen
en
cachet
de
resultaten
per
pseudoniem
Cache
[Component:
Redis
/
RediSearch
(internal)]
Afgeschermd
implementatiedetail:
berichten
met
full-text
zoekindex
en
sliding-TTL,
gedeeld
over
pods
zodat
ophalen
én
aanmelden
dezelfde
tijdelijke
opslag
delen
MagazijnAggregatieBulkhead
[Component:
CDI
Bean
(internal)]
Semafoor-bulkhead
die
het
aantal
gelijktijdige
blokkerende
magazijn-aggregatie-calls
begrenst,
zodat
één
trage
leverancier
de
gedeelde
worker-pool
niet
laat
vollopen
en
overige
endpoints
responsief
blijven
MagazijnCircuitBreaker
[Component:
CDI
Bean
(internal)]
Per-magazijn
circuit
breaker:
opent
na
opeenvolgende
fouten/timeouts
zodat
een
onbereikbaar
magazijn
de
aggregatie
niet
blijft
ophouden
MagazijnClient
[Component:
REST
Client
(internal)]
REST
client
naar
berichtenmagazijnen
(per
magazijn
opgebouwd
via
MagazijnClientFactory)
Profiel
Service
[Software
System]
Contactgegevens,
communicatievoorkeuren
en
toestemmingsbeheer
(MoZa)
Berichtenmagazijn
(eigen
gehost)
[Software
System]
Door
een
deelnemende
organisatie
zelf
gehoste
berichtenmagazijn-instantie
met
dezelfde
koppelvlakken
(aanleveren,
ophalen/beheren,
aanmelden)
als
de
BBO-gehoste
variant.
Berichtenmagazijn
(BBO-gehost)
[Software
System]
Berichten
opslaan,
ophalen
en
beheren
(incl.
berichtstatus).
BBO-gehoste
referentie-implementatie
die
deelnemende
organisaties
kunnen
afnemen
in
plaats
van
zelf
te
hosten.
Berichten
Uitvraag
Service
[Container:
Quarkus
/
Kotlin]
Service
voor
burgers
en
ondernemers
-
berichtenbox
inzien
en
berichten
beheren
BSNk
Transformatie
[Container:
BSNk
container
(Logius)]
Transformeert
PP
naar
EP
per
berichtenmagazijn
—
vereist
sleutelmateriaal
per
deelnemer
Aanmeld
Service
[Container:
Quarkus
/
Kotlin]
Werkt
de
cache
bij
voor
nieuwe
berichten
verzonden
tijdens
de
sessie
van
de
ontvanger
Magazijnregister
[Container:
Quarkus
/
Kotlin
—
gedeelde
library
(in-process)]
Houdt
per
deelnemende
organisatie
(OIN)
bij
welk
berichtenmagazijn
erbij
hoort
—
1:1,
het
magazijnId
ís
de
OIN.
Nu
config-backed;
later
database-opslag
met
beheer-interface.
Haalt
berichten
op
[Digikoppeling
REST
API
via
FSC]
Haalt
dienstvoorkeuren
op
om
te
bepalen
welke
magazijnen
bevraagd
worden
[Digikoppeling
REST
API
via
FSC]
Haalt
berichten
op
[Digikoppeling
REST
API
via
FSC]
Gebruikt
[CDI]
Vraagt
op
welke
magazijnen
bevraagd
moeten
worden
[CDI]
Transformeert
PP
naar
EP
per
magazijn
[CDI]
Leest/schrijft
cache
[Redis]
Begrenst
gelijktijdigheid
van
aggregatie-calls
[CDI]
Schermt
per-magazijn
calls
af
[CDI]
Roept
magazijn
aan
(als
circuit
closed)
[CDI]
Transformeert
PP
naar
EP
per
magazijn
[BSNk
API
(lokaal)]
Werkt
cache
bij
(aanmeld-write,
in-sessie)
[CDI
(in-process
facade)]
Haalt
berichten
op
[CDI
(in-process
facade)]
Bepaalt
de
magazijn-set
en
endpoints
per
afzender-OIN
[CDI
(in-process)]
Berichten Uitvraag Systeem - Berichtensessiecache - Components [
svg
|
png
|
puml
]