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

  • Using Private Dependencies in Cloud Manager Builds

    Georg Henzler

    Principal Solution Architect

    Georg has grown up with the web space from the very beginning and has helped enterprises to design their solution for it from the time when images were first added to their web sites. Today he shapes the way Netcentric delivers IT projects technically by continuously evolving the development process and automating infrastructure to the last slash. Amongst being a committer for Apache Sling (the web framework in AEM) he has contributed to many other open source projects and talks regularly at tech conferences. He loves Netcentric for its culture of "Share, discuss and bring ideas to life"!