Building Blocks
··1 min
Processes #
- Models a lifetime of an entity.
- Described by a state machine.
- State changes in response to Commands or Events.
- Publish Events on state change.
- Retain history of events for auditing, inspection.
- Uses versioning/etags to ensure data integrity.
- Uses CQRS interfaces.
Data Objects #
- Models the current state and properties of an entity.
- Described as a hierarchical data model (a document).
- State changes in response to Create, Update, Delete (CRUD) operations, that replaces the entire object of parts thereof.
- Publish a “Created”, “Updated” of “Deleted” event on state changes.
- Retain history of versions for auditing.
- Uses versioning/etags to ensure data integrity.
- Uses CQRS or CRUD interfaces.
Audit Records #
- Models the history of the state and properties of an entity.
- Described as a hierarchical data model (a document).
- Can only be created, not modified or deleted.
- Typically only created in response to an event, and do not need to publish themselves.
- Uses sequence indicators to ensure order correctness.
Reports #
- Models an aggregated view of a collection of entities.
- Representation depends on context.
- Calculated data.
- Typically generated by another entity, which is responsible for publishing events if needed.