Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Event Driven Development
Search
carnage
March 09, 2018
Technology
600
0
Share
Event Driven Development
carnage
March 09, 2018
More Decks by carnage
See All by carnage
Object re-orientation
carnage
2
540
More Secrets of Cryptography
carnage
0
440
Nuclear powered software securty
carnage
0
470
Microservices vs The distributed monolith
carnage
1
2.4k
Passwords and how to handle them
carnage
0
420
A storm is brewing
carnage
0
100
The secrets of cryptography
carnage
0
200
The secrets of cryptography
carnage
0
190
You attended talk: An introduction to event sourcing (short)
carnage
0
680
Other Decks in Technology
See All in Technology
解剖"React Native"
hacusk
0
120
3つのボトルネックを解消し、リリースエンジニアリングを再定義した話
nealle
0
200
OCI技術資料 : 証明書サービス概要
ocise
1
7.2k
【関西電力KOI×VOLTMIND 生成AIハッカソン】空間AIブレイン ~⼤阪おばちゃんフィジカルAIに続く道~
tanakaseiya
0
180
I ran an automated simulation of fake news spread using OpenClaw.
zzzzico
1
980
OPENLOGI Company Profile for engineer
hr01
1
62k
40代からのアウトプット ― 経験は価値ある学びに変わる / 20260404 Naoki Takahashi
shift_evolve
PRO
5
900
2026-04-02 IBM Bobオンボーディング入門
yutanonaka
0
250
AgentCore RuntimeからS3 Filesをマウントしてみる
har1101
3
370
「できない」のアウトプット 同人誌『精神を壊してからの』シリーズ出版を 通して得られたこと
comi190327
3
620
チームで育てるAI自走環境_20260409
fuktig
0
930
GitHub Copilotを極める会 - 開発者のための活用術
findy_eventslides
5
3.5k
Featured
See All Featured
Discover your Explorer Soul
emna__ayadi
2
1.1k
Exploring anti-patterns in Rails
aemeredith
3
310
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.1k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
320
Color Theory Basics | Prateek | Gurzu
gurzu
0
280
Measuring & Analyzing Core Web Vitals
bluesmoon
9
800
What does AI have to do with Human Rights?
axbom
PRO
1
2.1k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.7k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.5k
The Limits of Empathy - UXLibs8
cassininazir
1
290
Typedesign – Prime Four
hannesfritz
42
3k
Transcript
Event Driven Development Christopher Riley ConFoo 2018 1
Introduction
Introduction • Event sourcing 2
Introduction • Event sourcing • Event Driven Architecture 2
Introduction • Event sourcing • Event Driven Architecture • Task
Based UI 2
Introduction • Event sourcing • Event Driven Architecture • Task
Based UI • Event storming 2
What is an event? 2
What is an event? • Something which has happened in
the past 3
What is an event? • Something which has happened in
the past • Relevant to a domain expert 3
What is an event? • Something which has happened in
the past • Relevant to a domain expert • Not technical 3
What is an event? • Something which has happened in
the past • Relevant to a domain expert • Not technical • Raised in response to an input 3
Task based UI
A CRUD UI 4
A Task Based UI 5
Everything a company does is part of a process 5
Why are task based UI’s helpful to event based systems?
5
Event sourcing
A familiar model 6
Event sourcing example 7
What does an event sourced system actually look like? 7
Event sourcing architecture 8
Handling a command 9
Inside the model 10
Inside the model 11
Handling Events 12
Projections
Projections • Turn events into read models 13
Projections • Turn events into read models • Can be
eventually consistent 13
Projections • Turn events into read models • Can be
eventually consistent • Can be rebuilt 13
A projection 14
Process Managers
Process managers • Handle business logic around events 15
Process managers • Handle business logic around events • A
state machine 15
Process managers • Handle business logic around events • A
state machine • Keep track of failures 15
Process managers • Handle business logic around events • A
state machine • Keep track of failures • Be careful with replays 15
A Process Manager 16
Event Driven Architecture
Event Driven Architecture 17
Cross System Process 18
Conclusions
Thanks • @giveupalready • https://github.com/carnage • https://carnage.github.io 19