Bounded Context Bridge
Bounded Context Bridge
Berichten van buitenaf, bijvoorbeeld vanuit de BRK, hebben invloed op WOZ Objecten. Deze moeten dus op één of andere manier verwerkt worden. Commando's vallen binnen het WOZ Object beheer en mogen daarom WOZ Object definities gebruiken. Tegelijk kunnen externe definities en 'constructen' natuurlijk niet uitgesloten worden. De vertaling van extern naar WOZ Object beheer intern ligt tussen notificaties en commando's.
Het is echt zoeken naar de juiste vertaling van externe input (notificaties) naar interne commando's. In hoeverre worden externe constructen vertaald en in hoeverre moeten deze juist meegenomen worden? Daarna volgt een vergelijkbare zoektocht in welke events er nu precies geproduceerd worden.
Vragen:
- Hoe heten 'de dingen' in de verschillende domeinen?
- Zijn die 'dingen' daadwerkelijk hetzelfde als deze dezelfde benaming hebben?
- Wat is de omvang / grootte van commando's en/of events?
- Wat is een eenheid van verwerking?
- Wat moet integer / consistent zijn bij / na verwerking?
In het verwerken van berichten uit de BRK, Basisregistratie Kadaster, is het vrijwel onmogelijk om niet 'de nieuwe stand' als command en dus ook als event op te nemen.
Vragen:
- Is dat erg?
- Kan dat anders?
Om de uitdaging van het overbruggen van de verschillende contexten (BRK naar WOZ) te adresseren, stellen we het volgende patroon voor: de Bounded Context Bridge. Dit patroon heeft verschillende uitwerkingen, de keuze voor welke optie gekozen moet worden hangt af van hoe de informatie binnen komt. De bridge heeft twee doelstellingen:
- Zorgen voor volledigheid: dat geen bericht van de bron gemist worden of juist dubbel verwerkt worden.
- Zorgen voor een vertaalslag: de gegevens dienen een vertaling te ondergaan.

Van BRK event(s) direct naar WOZ event(s)
Door de input als event vast te leggen heb je, met behulp van het Axon Framework/Axon Server via relevante event processing patronen bepaalde garanties dat je elk event exact 1 keer leest. Vervolgens kan een event, als dit dezelfde aggregate betreft, direct vertaald worden naar de WOZ context door een nieuw event te produceren.
Dit patroon is geschikt in gevallen waarbij de 'vertaalslag' beperkt is.
Van BRK event(s) via commando's en processor naar WOZ events.
Dit patroon is uitgewerkt in de WozBoundedContextBridge en de PerceelMutatieCommandHandler. Om de 'sprong' te maken van Kadastrale objecten (met kadastraal object ids) naar Woz objecten (met WOZ Objectnummers) hebben we een extra tussenstap nodig waarin we op basis van de woz events kunnen vaststellen op welke WOZ objecten een perceelsplitsing of vereniging impact hebben.