Jason, sure they are not the same.
But let's go back to my original requirements, all I needed was a
mechanism to serialize and aggregate a high number of writes, so
instead of multiple/most-likely-concurrent writes very often, I have
batches more evenly distributed in time.
When I first looked at ESB, I was pretty aware there were several ways
to resolve this by serializing the entities into any type of storage:
filesystem, key-value-pair db, queues, etc.
I looked into ESB to check if they had a pretty/simple/elegant way to
do this (since I was originally considering MSMQ for this, and ESB
uses queues as transport).
As I said, I delivered something quick and effective but will continue
investigating on the sagas and other options because I personally
found the ESB very suitable for other scenarios.
If achieving the same I just did in a couple of hours is more
complicated with ESB we are probably not using the ESB on this case,
but it had been a great learning experience.
Maybe adding Rx support to the bus will give more flexibility in terms
of the rules you can create for the messages to be delivered/
consumed... just a thought.