A perfect day

A few months ago, one customer of ours was about to change its business model to reach new markets; this challenge made us reflect and rethink the architecture of the solution.

10 ott 2014

“A perfect day“ is the title of a post by Mauro Servienti on his famous Blog. We shared a consultancy day with him to study and implement the concepts of Hexagonal Architecture in our new projects.

 

A few months ago, one customer of ours was about to change its business model to reach new markets; this challenge made us reflect and rethink the architecture of the solution.

 

Until then, we used to exploit the advantages of modeling through Domain Driven Design and the use of a domain model. Despite the effectiveness of this approach, we had some limits and difficulties. CQRS and Event Sourcing seemed a possible solution to our problems.
CQRS is a pattern that provides a split between the reading model and the writing model to manage the complexity in a better way.
Instead, Event Sourcing ensures that all modifications occurred to the state of application are stored like a sequence of events. Once these events are stored, they can be questioned and we can use the register to reconstruct past states.

 

To verify that our intuitions were right, we decided to make a comparison asking advice to Mauro Servienti, CTO & Partner of Managed Designs S.r.l., one of the best persons for this purpose, being recognized internationally as an expert on software architecture.

 

Together with Mauro, we tried to answer in real terms to the questions we had put, building a busy day based on the discussion of real-world scenarios.

 

The most interesting thing (according to Mauro as well) was the unfolding of the discussion.

 

On our wall-board, we were able to develop a kind of visual analysis of the scenario, draw, erase, break, move things, allowing us to understand how to model the entire system.

 

This approach allowed us to understand how our traditional architecture should evolve towards a hexagonal architecture accompanied by CQRS and Event Sourcing.

 

That’s something that excites us: understanding the needs of our customers and be able to answer.

 

May there be a more stimulating reason to improve ourselves?