sageserpent-open / plutonium

CQRS providing bitemporal object modelling for Java POJOs and Scala too.
MIT License
5 stars 0 forks source link

Scaling - Spike - incremental recording of events #24

Closed sageserpent-open closed 6 years ago

sageserpent-open commented 8 years ago

This is a prelude of #17 and #18.

sageserpent-open commented 8 years ago

This will deliver a replacement for the existing 'PatchRecorder' class - the difference being that events are fed to the API along with event ids, and the recordings are demarcated by revisions. This allows the internals to use an incremental strategy for maintaining and accessing item state / patch data, and to associate revisions with the internal state.

sageserpent-open commented 8 years ago

In this spike, the consequence of recording the event data will still be the population of an identified item scope with the full set of items for a world at a given revision and business time. IOW, this population process will not be incremental; it will still recapitulate the entire world history (and do this for each revision).

sageserpent-open commented 8 years ago

It might be worth just producing a facade implementation of this to start with that delegates to the old patch recorder, encapsulating the existing storage of abstract event datums that is currently managed by the world implementations. This would allow tests to be written against the API which I suspect will be a major effort in themselves.