Slide 1

Slide 1 text

Event system evolution A Scientific Study on Event Sourcing, Lessons from Industry

Slide 2

Slide 2 text

Michiel Lead Software Architect @ AFAS Software PhD candidate @ University Utrecht [email protected] @michielovereem https://movereem.nl Overeem

Slide 3

Slide 3 text

25 engineers with 103 years of combined experience

Slide 4

Slide 4 text

RQ2 RQ3 RQ1 What types of systems apply event sourcing and why? How can event sourced systems be defined? What are the challenges faced in applying event sourcing?

Slide 5

Slide 5 text

THE PROBLEM

Slide 6

Slide 6 text

Project administration Marketing automation Website building Payment processing Content management Classified advertising …

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

Rationale Flexibility Complexity Trending Audit Immutability Strict Cut-off Mutable Technology .NET JVM PHP Ruby,Scala,Go

Slide 12

Slide 12 text

DDD Yes No MSA Yes No CQRS Yes No

Slide 13

Slide 13 text

THE SOLUTION

Slide 14

Slide 14 text

“business analysts are telling us what the events should be.” (E5) “you capture business changes as a flow of events, you align these events with real world events.” (E11)

Slide 15

Slide 15 text

internal versus external events

Slide 16

Slide 16 text

state propagation events

Slide 17

Slide 17 text

A single transaction crossing event & query database

Slide 18

Slide 18 text

THE CONSEQUENCES

Slide 19

Slide 19 text

Steep learning curve Learning curve Finding your way

Slide 20

Slide 20 text

Missing tools Related to the learning curve? Or the trend?

Slide 21

Slide 21 text

Projections Things might take a while

Slide 22

Slide 22 text

User Privacy Can we forget things?

Slide 23

Slide 23 text

Evolution Small steps, but how to stay stable?

Slide 24

Slide 24 text

Versioned Events Weak Schema Upcasters In-Place Copy- Transform 14/24 5/24 12/24 11/24 2/24

Slide 25

Slide 25 text

Michiel Overeem, Marten Spoor, Slinger Jansen, and Sjaak Brinkkemper. (2021). An Empirical Characterization of Event Sourced Systems and Their Schema Evolution - Lessons from Industry. In Journal of Systems and Software In Practice volume 178 (2021), 110970. https://dx.doi.org/10.1016/j.jss.2021.110970

Slide 26

Slide 26 text

Michiel [email protected] @michielovereem https://movereem.nl Overeem Event sourcing is a pattern that solves the three problems that modern systems face: flexibility, complexity, and reliability. These benefits give enough reason to incorporate event sourcing in modern systems.