I created a diagram describing the flow of an order handling process
in a system I'm building:
http://www.flickr.com/photos/perwiklander/5350435346/sizes/l/
I did this (quick and simplified) diagram to make it easier for myself
to keep track of all the event and command handling involved. Looking
at the result I came to think that a CQRS system built on Axon
Framework would be a very good candidate for a visual editor in an IDE
like Eclipse. At least for generating all base classes and wire them
up. Of course we cannot generate the logic that goes into command
handlers, event handlers, aggregate roots and sagas but the boiler
plate code should be "easy".
Events and Commands - If the editor allows us to define properties
(like a normal class definition in UML) these classes could be fully
managed.
Command handlers - By drawing connections from commands to command
handlers the tool can add stub handle methods with the appropriate
@CommandHandler annotations.
Event handlers - Same as command handlers, given connected events the
tool can generate @EventHandler methods.
Sagas - Same as event handlers, given connected events the tool can
generate @SagaEventHandler methods. The green stars in my diagram
denote saga starting events. The red stop signs denote saga ending
events.
Aggregate roots - I don't know if these can have a place in the
diagram as well, I left them out of this one. Perhaps they could be
drawn between a command handler and the event that is generated (and
applied to the AR).
So, is this just a bunch of wishful thinking? Does anyone have
experience of Eclipse visual editors?