De status van dit document is voorlopig en zou nog kunnen wijzigen.
Hoe object identificeren?
Besluit
Een naar aanleiding van een objectexpressie ontstaan object heeft een ’eigen’ id
Vooronderstellingen
- Een objectexpressie resulteert in registratie van atomaire claim;
- dit is een eenmalige gebeurtenis (een object kan immers niet twee keer ontstaan);
- deze atomaire claim kan worden geïdentificeerd met een onveranderlijk UUID (7279);
- de levenscyclus van het object loopt in 100% van de gevallen gelijk met de levenscyclus van de claim die als gevolg van de objectepxressie werd geregistreerd.
Voorbeeld ACE:
Claimid | Claimtype | Claim-expression |
---|---|---|
UUID1 | Notificatie | Er bestaat een Notificatie geïdentificeerd met id id100 |
UUID2 | Notificatie / type | UUID1 is van type Overdracht eigendom en/of beperkt recht BRK-context |
UUID3 | Notificatie / schemaCompliant | UUID1 voldoet true aan schema |
Voorbeeld als de domein software verantwoordelijk is voor het toekennen van de id:
Claimid | Claimtype | Claim-expression |
---|---|---|
UUID1 | Notificatie | Er bestaat een Notificatie geïdentificeerd met id id100 |
UUID2 | Notificatie / type | id100 is van type Overdracht eigendom en/of beperkt recht BRK-context |
UUID3 | Notificatie / schemaCompliant | id100 voldoet true aan schema |
3 lagen van identificatie
- Iedere claim heeft een kan worden geïdentificeerd met een onveranderlijk UUID (7279);
Mogelijke antwoorden
Een object heeft een ’eigen’, gepersisteerd id, dat gelijk is aan het id van de claim die als gevolg van de objectexpressie werd geregistreerd -> kan, maar welk doel dient dit als punt 4 hierboven inderdaad standhoudt?
Het object heeft géén gepersisteerd id, in plaats daarvan wordt het id van de claim gebruikt die als gevolg van de objectexpressie werd geregistreerd -> kan, maar hoe ziet de objectexpressie er dan uit?
Het object heeft een ’eigen’ gepersiteerd id dat afwijkt van het id van de claim gebruikt die als gevolg van de objectexpressie werd geregistreerd, en
- dit id is een onveranderlijke surrogaatsleutel -> kan, maar welk doel dient dit als punt 4 hierboven inderdaad standhoudt?
- dit id is een natuurlijke sleutel uit het businessdomein -> kan niet, want:
- objectexpressie is eenmalige gebeurtenis en kan (bij append-only) niet worden bijgewerkt om het id aan te passen, terwijl
- wijzigingen in het businessdomein met gevolgen voor primaire sleutels niet uit te sluiten zijn.