Event sourcing Explained - part 2 - some things you should know about

September 27, 2018

In part 1 we had a look at some of the fundamental ideas behind Event Sourcing and why it is a powerful technique that brings us lots of benefits. In this post we’ll have a look at some skills that are important to know in order to succeed with Event Sourcing. 1. Use Event Storming to figure out what to do A great methodology for breaking down and understanding any current or new system is Event Storming - coined by Alberto Brandolini.

Event Sourcing Explained - part 1 - why you should care

September 26, 2018

With this series of posts I will try to shed some light on the original idea behind Event Sourcing and how we at Serialized think about it. I will also try to distinguish the technique from other similar architectural patterns and solutions that involves events. Finally we’ll get to how we can implement an event-sourced system and also look at some possible pitfalls and how to avoid them. In this post (part 1) I will try to describe the fundamentals of how Event Sourcing works and why you should care about it.

Apache Kafka is not for Event Sourcing

January 22, 2018

Apache Kafka is a cool product, but if you are thinking about using it for event sourcing you should think again. Kafka is a great tool for delivering messages between producers and consumers and the optional topic durability allows you to store your messages permanently. Forever if you’d like. So, if your messages are events you can use Kafka as an event store or an event log, but it really isn’t a suitable tool for event sourcing.

How Event Sourcing can improve your tests

December 7, 2017

Building your domain model with event sourcing is maybe not simpler than using a stateful snapshot-style modeling where everything is available at hand. There are however a few compelling reasons that makes it a very nice tool to use when the thing you’re building is really business-critical. In this post I will shed some light on some nice characteristics you get from event sourcing when it comes to testing your business logic.

Better domain modeling using Event Sourcing

October 11, 2017

The implementation of our core domain model should be the neatest part of our code base. We like to make an extra effort to make it as readable as possible and we also tend to be stricter when it comes to keeping immutability. However, developing a neat intention-revealing model with no side-effects and a clear business language can be tricky. We want to use value objects instead of primitive data structures as much as possible to create a rich model that speaks the language of the domain.

Your software is not your most valuable asset

October 9, 2017

Another day at a random large software company in Sweden. No one really knows how it works. The consultant who wrote the calculation routine quit 8 years ago (leaving a big mess) and now we need to handle this new law that’s being put into action this year. One of the most important customers just found a serious bug in the reporting tool. The stats are way off and they can’t tell how they got to where they are now.

Event Sourcing example application

October 4, 2017

We recently published the first versions of our Event Sourcing API and Event Projection API. We created a simple example application that shows how you can build a CQRS/Event Sourcing application using Node.js and Express. If you’re not that familiar with Node.js the code should be quite easy to port to other programming languages and platforms. The application is meant to showcase our APIs and is not in any way a gold standard for how to build web applications and that’s why we deliberately chose to use plain Javascript and JQuery for the frontend.