Ga naar hoofdinhoud

Entiteiten, aggregates en gevolgen

Het gevolgenjournaal is een volledige en onveranderlijke vastlegging van alle gevolgen die binnen een register werden geproduceerd, in de volgorde waarin die gevolgen ontstonden. Maar waar gaan die gevolgen over?

Naast een strikte ordening van alle gevolgen in het journaal, zijn gevolgen ook te groeperen op andere manieren. In een betekenisvol register gaan gevolgen ergens over. Gevolgen leggen veranderingen vast over dingen: personen, percelen, WOZ objecten, et cetera: met andere woorden, gevolgen leggen wat in de meer traditionele modellering een entiteit genoemd wordt. Zoals uitgelegd in het eerdere hoofdstuk bestaan entiteiten meer in concept.

Gevolgen leggen dus veranderingen vast over (conceptuele) entiteiten in de loop van de tijd, en je kan deze per entiteitinstantie aggregeren. Dit wordt typisch gedaan door de entiteit een unieke identiteit toe te kennen: de aggregate ID. Bij het ontstaan van een nieuwe instantie in de registratie (persoonsregistratie, een nieuw perceel uit splitsing, een nieuw WOZ object) wordt in het ontstaansgevolg een uniek ID toegekend, waarna elk opvolgende gebeurtenis voor deze entiteit ook dat ID toegekend krijgt.

Binnen de event sourcing wereld wordt ook wel gesproken over de aggregate. Bij de term entiteit wordt vaak gedacht aan een object met strikte eigenschappen, een specifiek aantal velden met duidelijke definities. Gevolgen beschrijven typisch veranderingen aan onderdelen van deze entiteiten zonder de hele entiteit te beschrijven, waarbij in de loop van de tijd eigenschappen van de entiteit qua inhoud, maar ook qua structuur of zelfs bestaansrecht kunnen veranderen. Gebeurtenissen zijn te aggregeren rondom identificeerbare entiteiten. De gebeurtenis, het gevolg, is de primaire wijze van vastlegging. Entiteitrestricties zijn ondergeschikt aan de gebeurtenis.