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
JWTB - Begin EventSourcing With Lagom
Search
Ola Petersson
April 17, 2018
Education
120
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
JWTB - Begin EventSourcing With Lagom
Ola Petersson
April 17, 2018
More Decks by Ola Petersson
See All by Ola Petersson
NDC_Oslo__DevOps_in_Real_Life_-_A_How_To.pdf
olbpetersson
0
88
Co(ol)routines - Javaforum Q1
olbpetersson
0
150
Coolroutines - non-blocking Kotlin
olbpetersson
0
100
Begin EventSourcing with Lagom - Javaforum Q4 2017
olbpetersson
0
90
Begin Event Sourcing with Lagom
olbpetersson
2
200
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 Education
See All in Education
プロポーザルを書く技術とアンチパターン/proposal-writing-and-antipatterns
moriyuya
14
3.7k
悩め!!言ってみろ!!
kazuki19992
0
100
FA26 CLU MS Clinical Psychology New Student Orientation
jdbedics
0
160
データマネジメント試験対策教材1〜データマネジメント基礎〜
yoshimura_datam
1
660
Del ojo entrenado a la visión computacional: evaluación de la severidad de enfermedades
emdelponte
0
120
Geografía y Fútbol: Chattanooga Geografía del Búnker de La Roja.
juanmartin2026
1
12k
AIってなぁに?
kenichiota0711
0
720
参加制約理論
roadofhope
0
160
[2026前期火5] 論理学(京都大学文学部 前期 第9回)「正規化の停止性——ヒドラゲームによる証明」
yatabe
0
260
Estimating Group × Time Interaction in Scale-Transformed CEFR-J Self-Assessment Scores: A Case in Study-Abroad Research
uranoken
1
210
Stardy 会社紹介資料
stardy
0
6.6k
Antigravityを使ってGeminiAPI(NanobananaPro)と連携して挿絵メーカーを作った
yoshimura_datam
0
190
Featured
See All Featured
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.7k
Optimizing for Happiness
mojombo
378
71k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.5k
Are puppies a ranking factor?
jonoalderson
2
3.9k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.6k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Abbi's Birthday
coloredviolet
3
9.6k
GitHub's CSS Performance
jonrohan
1033
470k
How Software Deployment tools have changed in the past 20 years
geshan
1
34k
Facilitating Awesome Meetings
lara
57
7.1k
My Coaching Mixtape
mlcsv
0
300
Transcript
EVENT SOURCING WITH LAGOM
JAVA WITH THE BEST...And me! Ola Petersson @gotoOla
[email protected]
JUG
Gothenburg (JavaForum Göteborg)
.
ID.1 50
ID.1 51
ID.1 52
None
50 + 1 + 1 = 52
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
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
SILVERBULLET!
SILVERBULLET!
Axon framework Sebastian Daschner (youtube) Eventuate EventStore Alternatives
http://widr.se/slides
http://widr.se/code
• lagom - lagomframework.com/ • Akka - https://akka.io/ • reactive
microsystems - https://t.co/dm4wLJKV6f by Jonas Bonér • develop reactive microservices - https://www.lightbend.com/blog/developing-reactive-microservices-free -oreilly-mini-book-by-java-champion-markus-eisele by Markus Eisele • Event Sourcing - https://martinfowler.com/eaaDev/EventSourcing.html by Martin Fowler • Sebastian Daschner - EventSourcing and JavaEE tutorial https://www.youtube.com/watch?v=CYocFQvl6s0&list=PLEV9ul4qfGOZ5gWIPMl FGMUpenSs1EvxZ • Axon framework - http://www.axonframework.org/ • Eventuate - http://eventuate.io/ • EventStore - https://eventstore.org/
QUESTIONS?
http://widr.se/survey