×
Copy
Open
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Event Driven Development Christopher Riley ConFoo 2018 1
Slide 2
Slide 2 text
Introduction
Slide 3
Slide 3 text
Introduction • Event sourcing 2
Slide 4
Slide 4 text
Introduction • Event sourcing • Event Driven Architecture 2
Slide 5
Slide 5 text
Introduction • Event sourcing • Event Driven Architecture • Task Based UI 2
Slide 6
Slide 6 text
Introduction • Event sourcing • Event Driven Architecture • Task Based UI • Event storming 2
Slide 7
Slide 7 text
What is an event? 2
Slide 8
Slide 8 text
What is an event? • Something which has happened in the past 3
Slide 9
Slide 9 text
What is an event? • Something which has happened in the past • Relevant to a domain expert 3
Slide 10
Slide 10 text
What is an event? • Something which has happened in the past • Relevant to a domain expert • Not technical 3
Slide 11
Slide 11 text
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
Slide 12
Slide 12 text
Task based UI
Slide 13
Slide 13 text
A CRUD UI 4
Slide 14
Slide 14 text
A Task Based UI 5
Slide 15
Slide 15 text
Everything a company does is part of a process 5
Slide 16
Slide 16 text
Why are task based UI’s helpful to event based systems? 5
Slide 17
Slide 17 text
Event sourcing
Slide 18
Slide 18 text
A familiar model 6
Slide 19
Slide 19 text
Event sourcing example 7
Slide 20
Slide 20 text
What does an event sourced system actually look like? 7
Slide 21
Slide 21 text
Event sourcing architecture 8
Slide 22
Slide 22 text
Handling a command 9
Slide 23
Slide 23 text
Inside the model 10
Slide 24
Slide 24 text
Inside the model 11
Slide 25
Slide 25 text
Handling Events 12
Slide 26
Slide 26 text
Projections
Slide 27
Slide 27 text
Projections • Turn events into read models 13
Slide 28
Slide 28 text
Projections • Turn events into read models • Can be eventually consistent 13
Slide 29
Slide 29 text
Projections • Turn events into read models • Can be eventually consistent • Can be rebuilt 13
Slide 30
Slide 30 text
A projection 14
Slide 31
Slide 31 text
Process Managers
Slide 32
Slide 32 text
Process managers • Handle business logic around events 15
Slide 33
Slide 33 text
Process managers • Handle business logic around events • A state machine 15
Slide 34
Slide 34 text
Process managers • Handle business logic around events • A state machine • Keep track of failures 15
Slide 35
Slide 35 text
Process managers • Handle business logic around events • A state machine • Keep track of failures • Be careful with replays 15
Slide 36
Slide 36 text
A Process Manager 16
Slide 37
Slide 37 text
Event Driven Architecture
Slide 38
Slide 38 text
Event Driven Architecture 17
Slide 39
Slide 39 text
Cross System Process 18
Slide 40
Slide 40 text
Conclusions
Slide 41
Slide 41 text
Thanks • @giveupalready • https://github.com/carnage • https://carnage.github.io 19