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
0
530
Event Driven Development
carnage
March 09, 2018
Tweet
Share
More Decks by carnage
See All by carnage
Object re-orientation
carnage
2
480
More Secrets of Cryptography
carnage
0
380
Nuclear powered software securty
carnage
0
410
Microservices vs The distributed monolith
carnage
1
2.2k
Passwords and how to handle them
carnage
0
360
A storm is brewing
carnage
0
94
The secrets of cryptography
carnage
0
160
The secrets of cryptography
carnage
0
160
You attended talk: An introduction to event sourcing (short)
carnage
0
630
Other Decks in Technology
See All in Technology
PicoRabbit: a Tiny Presentation Device Powered by Ruby
harukasan
PRO
2
210
MCPを活用した検索システムの作り方/How to implement search systems with MCP #catalks
quiver
12
6.6k
AWSLambdaMCPServerを使ってツールとMCPサーバを分離する
tkikuchi
1
3k
AI AgentOps LT大会(2025/04/16) Algomatic伊藤発表資料
kosukeito
0
140
新卒エンジニアがCICDをモダナイズしてみた話
akashi_sn
2
240
Automatically generating types by running tests
sinsoku
2
3k
CBになったのでEKSのこともっと知ってもらいたい!
daitak
1
160
技術者はかっこいいものだ!!~キルラキルから学んだエンジニアの生き方~
masakiokuda
2
270
Стильный код: натуральный поиск редких атрибутов по картинке. Юлия Антохина, Data Scientist, Lamoda Tech
lamodatech
0
720
Writing Ruby Scripts with TypeProf
mame
0
150
Terraform Cloudで始めるおひとりさまOrganizationsのすゝめ
handy
2
180
持続可能なドキュメント運用のリアル: 1年間の成果とこれから
akitok_
1
150
Featured
See All Featured
Making Projects Easy
brettharned
116
6.1k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
41
2.2k
We Have a Design System, Now What?
morganepeng
52
7.5k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
23
2.6k
Optimizing for Happiness
mojombo
377
70k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Speed Design
sergeychernyshev
29
900
The Cult of Friendly URLs
andyhume
78
6.3k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
47
2.5k
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