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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
carnage
March 09, 2018
Technology
610
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
450
Nuclear powered software securty
carnage
0
470
Microservices vs The distributed monolith
carnage
1
2.4k
Passwords and how to handle them
carnage
0
440
A storm is brewing
carnage
0
110
The secrets of cryptography
carnage
0
210
The secrets of cryptography
carnage
0
200
You attended talk: An introduction to event sourcing (short)
carnage
0
700
Other Decks in Technology
See All in Technology
脆弱性対応、どこで線を引くか
rymiyamoto
0
140
GoとSIMDとWasmの今。
askua
3
520
React、まだ楽しくて草
uhyo
7
4.2k
Reliability in the Age of AI: Engineering for AI Velocity
rrreeeyyy
0
120
protovalidate-es を導入してみた
bengo4com
0
160
TypeScript Compiler APIとPHP-Parserを活用し、TypeScriptとPHPで型を共有する
shuta13
1
370
Dario Amodi『Policy on the AI Exponential』を理解する
nagatsu
0
210
ChatworkとBPaaS 異なる特性で学んだAI機能開発の ベストプラクティス
kubell_hr
2
3.3k
Snowflakeと仲良くなる第一歩
coco_se
4
340
運用を見据えたAIエージェント設計実践
amacbee
1
3.4k
AI Engineering Summit Tokyo 2026 AIの前に、やることがある 〜医療データ企業の4フェーズ〜
dtaniwaki
0
2.4k
価格.comをAI駆動で全面刷新する ー 30年分の技術的負債を返し、次の30年の土台をつくる ー / AI Engineering Summit Tokyo 2026
tkyowa
53
58k
Featured
See All Featured
KATA
mclloyd
PRO
35
15k
[SF Ruby Conf 2025] Rails X
palkan
2
1.1k
Rails Girls Zürich Keynote
gr2m
96
14k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
54k
Unsuck your backbone
ammeep
672
58k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.5k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
Believing is Seeing
oripsolob
1
140
GitHub's CSS Performance
jonrohan
1033
470k
Claude Code のすすめ
schroneko
67
230k
The Curse of the Amulet
leimatthew05
1
13k
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