history graph tracking with GIT-like branching

26 views
Skip to first unread message

alain touret

unread,
Oct 5, 2017, 3:24:59 PM10/5/17
to Axon Framework Users
Hi,

In Axon, the event repository is organized as a simple linear path. I would like to get it organized as GIT-like graph in order to test hypothesis, or to undertake local projects before integrating them to the main work flow. Branches management shall be able to cope with branching, merging, rebasing along with additional business integrity controls for state validation. In order to reconstruct a particular state of the business objects, the event path from the origin to the current state in this graph shall be followed. While commiting a particular branch into another, the resulting merge node shall be created and checked upon business coherence rules.
Is there an elegant way to get this done with Axon as it is ?
Thank you for your answers.
Regards,

Alain Touret

Allard Buijze

unread,
Oct 9, 2017, 3:32:11 AM10/9/17
to Axon Framework Users
Hello Alain,

Axon has not been designed to work with this usecase. Instead, Axon favours consistency on the command model. We have had various discussions in the past about these kinds of usecases. Each time, the conclusion was that there are so many pitfalls in this approach, that it requires a different type of framework to deal with it. Perhaps using Git itself isn't even that bad of a idea.

On the other hand, depending on your exact needs, Axon might do the job for you. Axon only expects a unique aggregateIdentifier and sequenceNumber combination in the event store, but if you identify events in another way (e.g. branch name), then you can probably remove the uniqueness restriction from the event store. In the Meta-Data, you'd have to refer to the event ID of the "base" the changes were made on. That would allow you to recreate the graph. The sequence number would then just server to efficiently query the events in the right order.

Kind regards,

Allard Buijze

Op do 5 okt. 2017 om 21:25 schreef alain touret <touret...@gmail.com>:
--
You received this message because you are subscribed to the Google Groups "Axon Framework Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to axonframewor...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--

alain touret

unread,
Oct 10, 2017, 5:30:12 AM10/10/17
to axonfr...@googlegroups.com
Thank you Allard, I am glad to read your diagnosis. I will investigate this track. 
Regards

Alain Touret

To unsubscribe from this group and stop receiving emails from it, send an email to axonframework+unsubscribe@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to a topic in the Google Groups "Axon Framework Users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/axonframework/bb8m8SHi_4I/unsubscribe.
To unsubscribe from this group and all its topics, send an email to axonframework+unsubscribe@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages