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
Begin Event Sourcing with Lagom
Search
Ola Petersson
October 23, 2017
Programming
200
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Begin Event Sourcing with Lagom
Ola Petersson
October 23, 2017
More Decks by Ola Petersson
See All by Ola Petersson
NDC_Oslo__DevOps_in_Real_Life_-_A_How_To.pdf
olbpetersson
0
86
Co(ol)routines - Javaforum Q1
olbpetersson
0
150
Coolroutines - non-blocking Kotlin
olbpetersson
0
100
JWTB - Begin EventSourcing With Lagom
olbpetersson
0
120
Begin EventSourcing with Lagom - Javaforum Q4 2017
olbpetersson
0
89
JavaOne - Reactive Java EE
olbpetersson
0
160
JHipster - The best way to breed a new app
olbpetersson
0
860
Reactive Java EE
olbpetersson
0
360
Other Decks in Programming
See All in Programming
OpenSpecのproposalにbrainstormingを持たせてみた
tigertora7571
1
210
作るコストが小さくなった時代 幸せに働くために改めて考えたいこと 〜エンジニアとして価値を出し続けるために注視している二分野〜
yuppeeng
0
190
人間の目はかわらない、だからJPEGは30年もつ
yuzneri
12
18k
Lean は証明の正しさを確認するためだけのツールって思ってませんか?
inoueasei
1
150
源内ハンズオン概要編
hideg
0
140
わからない話を追いかけたら、プログラミング言語を作る側にいた
ydah
3
480
全PRの83%がAIレビューだけでマージできるようになった開発組織はその後どうなったか
athug
1
1.5k
ルールを書いて終わらせないハーネスエンジニアリング
yug1224
4
1.9k
PostgreSQL 18で考えるUUID主キー
kazuhiro1982
0
460
Terraform標準の組織で AWS CDKをどう使うか
mu7889yoon
1
490
Claude CodeとAgentCore Gatewayを繋ぐ際の認証認可 / Authentication and authorization when connecting Claude Code with AgentCore Gateway
har1101
2
260
FDEが実現するAI駆動経営の現在地
gonta
2
270
Featured
See All Featured
The Pragmatic Product Professional
lauravandoore
37
7.4k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
67k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
Practical Orchestrator
shlominoach
191
12k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
56k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
250
A designer walks into a library…
pauljervisheath
211
24k
The Language of Interfaces
destraynor
162
27k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
160
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4.2k
Skip the Path - Find Your Career Trail
mkilby
1
180
Transcript
EVENT SOURCING WITH LAGOM
ME A few words about Ola Petersson @gotoOla
[email protected]
JUG
Gothenburg (JavaForum Göteborg)
ID.1 50
ID.1 51
ID.1 52
None
50 + 1 + 1 = 52
COMMANDS EVENTS aggregates
COMMANDS EVENTS aggregates
COMMANDS EVENTS aggregates
CMD
CMD EVENT
CMD EVENT OLD
CMD EVENT OLD NEW
EVENT
{ food: [], drinks: [] } commands Events AGGREGATE
{ addBurger } { food: [], drinks: [] } commands
Events AGGREGATE
{ addBurger } { food: [], drinks: [] } {
burgerAdded } commands Events AGGREGATE
{ addBurger } { food: [burger], drinks: [] } {
burgerAdded } commands Events AGGREGATE
{ addBurger } { food: [burger], drinks: [] } {
addBeer } { burgerAdded } commands Events AGGREGATE
{ addBurger } { food: [burger], drinks: [] } {
addBeer } { burgerAdded } { beerAdded } commands Events AGGREGATE
{ addBurger } { food: [burger], drinks: [beer] } {
addBeer } { burgerAdded } { beerAdded } commands Events AGGREGATE
{ addBurger } { food: [burger], drinks: [beer] } {
addSalad } { addBeer } { burgerAdded } { beerAdded } commands Events AGGREGATE
{ addBurger } { food: [burger], drinks: [beer] } {
addSalad } { addBeer } { burgerAdded } { saladAdded } { beerAdded } commands Events AGGREGATE
{ addBurger } { food: [burger, salad ], drinks: [beer]
} { addSalad } { addBeer } { burgerAdded } { saladAdded } { beerAdded } commands Events AGGREGATE
{ addBurger } { food: [burger, salad ], drinks: [beer,
water] } { addSalad } { addBeer } { addWater } { burgerAdded } { saladAdded } { beerAdded } { waterAdded } commands Events AGGREGATE
.
None
akka
None
CHANGE HISTORY AUDIT LOG SPEED TIME TRAVEL
CHANGE HISTORY AUDIT LOG SPEED TIME TRAVEL
CHANGE HISTORY AUDIT LOG SPEED TIME TRAVEL
CHANGE HISTORY AUDIT LOG SPEED TIME TRAVEL
event storming
READ?
CQRS WRITE READ
EVENTUAL CONSISTENCY … a necessary evil
MICROSERVICES
QUESTIONS?