In the CQRS world people don't like frameworks. People like to concentrate on the domain and on customer's problems. This is really great, but in the end you have to write some code to handle command, load aggregate, or save and dispatch events. Long story short, you need an infrastructure.
Although it is not that hard, to
write this code, it is still the code that has to be written, tested,
and maintained. There can also be some tricky places - especially if you
have to distribute the system, or implement sagas. So, why bother with
that, if we can take someting of the shelf, and just use it in our
system? If the framework does his job, is flexible and does not deny
things that we need, I would recommend to use it. It allows us to
concentrate on the business problem. Of course, if you use the right
tool for the job.
I mention that, because there was a major release of Axon Framework 2.0 couple of days ago. This is a Java open-source framework for CQRS and/or Event Sourcing based applications, but not only.
What we can find in Axon 2.0?
have been using Axon 1.3 with success, and it really helped me with the
infrastructure. In the 2.0 version, there are some improvements, which
can make this framework even more usable. The new version has added
easier API, performance improvements, out of the box scalability
support, and MongoDB-based event store implementation.
Let's take a closer look at the framework capabilities.