Skip Main Navigation

Let's talk about CQRS & Event Sourcing

Another great meet up from Barcelona Java User Group. Oscar Farga highlights key points from Adrian Florea's talk on CQRS & Event Sourcing techniques applied to web applications.

Blog Image

The Barcelona Java User Group held a meet up recently on November 10th at our office in Barcelona. It featured Adrian Florea's talk about CQRS (Command Query Responsibility Segregation).

Adrian is a seasoned software developer with noteworthy experience, and a personal friend of our colleague Miklos Csere. Miklos asked Adrian to do this talk, along with our former colleague and organizer fo BCNJUG, Jonathan Vila. 


CQRS is an approach that has been around for a while already, although not very popular.


The main idea behind it is to split the conceptual model of our application into the two types of actions that we perform against it. The first are Commands, which change the state of the system, and Queries, which are views on the state of the system.

The advantages of this approach are:

  • Separate, independent optimization.
  • Increased security.
  • Easier scalability.

Event Sourcing

Event sourcing, on the other hand, changes what data we store from our applications. While in the classical approach we store the State of the system, the proposal is to store the sequence of Events that led the system to that state.


Some of the advantages of Event Sourcing, include:

  • Implicit, reliable audit system.
  • Time machine capabilities (we can go back to a determinate state).
  • Ability to answer requests not yet foreseen during the initial dev phase.


These techniques fit very well to the development of enterprise class web applications and may be applied with different technologies.


In my opinion, they encourage simplicity and separation of concerns, which have proved to be key factors in the success of software development and maintenance.


We were very proud to host this event and look forward to more collaborations with BCNJUG building up the developer community in Barcelona!


Make sure to check out the full talk video here:

CQRS - Event Sourcing by Adrian Florea

Oscar Farga

Senior Software Engineer

With a career spanning nearly 20 years, Oscar is a highly experienced and senior Java web developer and team mentor. Developing portals, intranets, e-commerce websites, web applications and advanced digital signatures, over the years he has also built up and led successful teams, delivering complex projects in a wide variety of business verticals. These range from public administration, banking, broadcasting, retail, online gaming, automotive to pharmaceuticals. Oscar loves funk music, travelling and learning languages. He is also committed to the preservation of primates.

More Developer Circle

  • Agile in practice: embracing autonomy and experimentation

    Stefan Franck

    Senior Director

    One Netcentric’s co-founders, Stefan is an expert in shaping solutions for clients - from requirements analysis to project specification and more. Stefan sees himself as the link between business and technology and, for over ten years now, he has filled various roles as architect, project lead and lead consultant. Stefan's focus is on the Adobe Marketing Cloud and AEM, to which he is strongly connected from his days at Day Software and Adobe. He says that co-founding Netcentric was one of the best choices in his professional life. Never before been able to work with so many brilliant people.