Elixir applications approach to building An event-driven...2019/07/18 · Domain event Record of...
31
An event-driven approach to building Elixir applications
Transcript of Elixir applications approach to building An event-driven...2019/07/18 · Domain event Record of...
![Page 1: Elixir applications approach to building An event-driven...2019/07/18 · Domain event Record of something that t ook place in the domain An immutable, hist orical fact Named in the](https://reader033.fdocuments.net/reader033/viewer/2022042410/5f27300300cb7767da1ca1af/html5/thumbnails/1.jpg)
Anevent-drivenapproachtobuildingElixirapplications
![Page 2: Elixir applications approach to building An event-driven...2019/07/18 · Domain event Record of something that t ook place in the domain An immutable, hist orical fact Named in the](https://reader033.fdocuments.net/reader033/viewer/2022042410/5f27300300cb7767da1ca1af/html5/thumbnails/2.jpg)
Let'sstartbyintroducingtheapplication
![Page 3: Elixir applications approach to building An event-driven...2019/07/18 · Domain event Record of something that t ook place in the domain An immutable, hist orical fact Named in the](https://reader033.fdocuments.net/reader033/viewer/2022042410/5f27300300cb7767da1ca1af/html5/thumbnails/3.jpg)
![Page 4: Elixir applications approach to building An event-driven...2019/07/18 · Domain event Record of something that t ook place in the domain An immutable, hist orical fact Named in the](https://reader033.fdocuments.net/reader033/viewer/2022042410/5f27300300cb7767da1ca1af/html5/thumbnails/4.jpg)
![Page 5: Elixir applications approach to building An event-driven...2019/07/18 · Domain event Record of something that t ook place in the domain An immutable, hist orical fact Named in the](https://reader033.fdocuments.net/reader033/viewer/2022042410/5f27300300cb7767da1ca1af/html5/thumbnails/5.jpg)
![Page 6: Elixir applications approach to building An event-driven...2019/07/18 · Domain event Record of something that t ook place in the domain An immutable, hist orical fact Named in the](https://reader033.fdocuments.net/reader033/viewer/2022042410/5f27300300cb7767da1ca1af/html5/thumbnails/6.jpg)
![Page 7: Elixir applications approach to building An event-driven...2019/07/18 · Domain event Record of something that t ook place in the domain An immutable, hist orical fact Named in the](https://reader033.fdocuments.net/reader033/viewer/2022042410/5f27300300cb7767da1ca1af/html5/thumbnails/7.jpg)
![Page 8: Elixir applications approach to building An event-driven...2019/07/18 · Domain event Record of something that t ook place in the domain An immutable, hist orical fact Named in the](https://reader033.fdocuments.net/reader033/viewer/2022042410/5f27300300cb7767da1ca1af/html5/thumbnails/8.jpg)
![Page 9: Elixir applications approach to building An event-driven...2019/07/18 · Domain event Record of something that t ook place in the domain An immutable, hist orical fact Named in the](https://reader033.fdocuments.net/reader033/viewer/2022042410/5f27300300cb7767da1ca1af/html5/thumbnails/9.jpg)
Pub/Sub
![Page 10: Elixir applications approach to building An event-driven...2019/07/18 · Domain event Record of something that t ook place in the domain An immutable, hist orical fact Named in the](https://reader033.fdocuments.net/reader033/viewer/2022042410/5f27300300cb7767da1ca1af/html5/thumbnails/10.jpg)
Usingdomain
eventsasthesourceoftruth
![Page 11: Elixir applications approach to building An event-driven...2019/07/18 · Domain event Record of something that t ook place in the domain An immutable, hist orical fact Named in the](https://reader033.fdocuments.net/reader033/viewer/2022042410/5f27300300cb7767da1ca1af/html5/thumbnails/11.jpg)
DomaineventRecordofsomethingthattookplaceinthedomain
Animmutable,historicalfact
Namedinthepasttenseusingthelanguageofthebusiness
Examples:
ChallengeStarted
CompetitorJoined
ActivityRecorded
LeaderboardRanked
•
•
•
•
•
•
•
•
![Page 12: Elixir applications approach to building An event-driven...2019/07/18 · Domain event Record of something that t ook place in the domain An immutable, hist orical fact Named in the](https://reader033.fdocuments.net/reader033/viewer/2022042410/5f27300300cb7767da1ca1af/html5/thumbnails/12.jpg)
Recordingdomainevents
![Page 13: Elixir applications approach to building An event-driven...2019/07/18 · Domain event Record of something that t ook place in the domain An immutable, hist orical fact Named in the](https://reader033.fdocuments.net/reader033/viewer/2022042410/5f27300300cb7767da1ca1af/html5/thumbnails/13.jpg)
Consumingdomainevents
![Page 14: Elixir applications approach to building An event-driven...2019/07/18 · Domain event Record of something that t ook place in the domain An immutable, hist orical fact Named in the](https://reader033.fdocuments.net/reader033/viewer/2022042410/5f27300300cb7767da1ca1af/html5/thumbnails/14.jpg)
![Page 15: Elixir applications approach to building An event-driven...2019/07/18 · Domain event Record of something that t ook place in the domain An immutable, hist orical fact Named in the](https://reader033.fdocuments.net/reader033/viewer/2022042410/5f27300300cb7767da1ca1af/html5/thumbnails/15.jpg)
HowdoIdesignusingevents?
![Page 16: Elixir applications approach to building An event-driven...2019/07/18 · Domain event Record of something that t ook place in the domain An immutable, hist orical fact Named in the](https://reader033.fdocuments.net/reader033/viewer/2022042410/5f27300300cb7767da1ca1af/html5/thumbnails/16.jpg)
![Page 17: Elixir applications approach to building An event-driven...2019/07/18 · Domain event Record of something that t ook place in the domain An immutable, hist orical fact Named in the](https://reader033.fdocuments.net/reader033/viewer/2022042410/5f27300300cb7767da1ca1af/html5/thumbnails/17.jpg)
Challengelifecycle
![Page 18: Elixir applications approach to building An event-driven...2019/07/18 · Domain event Record of something that t ook place in the domain An immutable, hist orical fact Named in the](https://reader033.fdocuments.net/reader033/viewer/2022042410/5f27300300cb7767da1ca1af/html5/thumbnails/18.jpg)
![Page 19: Elixir applications approach to building An event-driven...2019/07/18 · Domain event Record of something that t ook place in the domain An immutable, hist orical fact Named in the](https://reader033.fdocuments.net/reader033/viewer/2022042410/5f27300300cb7767da1ca1af/html5/thumbnails/19.jpg)
Whataboutchangingrequirements?
![Page 20: Elixir applications approach to building An event-driven...2019/07/18 · Domain event Record of something that t ook place in the domain An immutable, hist orical fact Named in the](https://reader033.fdocuments.net/reader033/viewer/2022042410/5f27300300cb7767da1ca1af/html5/thumbnails/20.jpg)
![Page 21: Elixir applications approach to building An event-driven...2019/07/18 · Domain event Record of something that t ook place in the domain An immutable, hist orical fact Named in the](https://reader033.fdocuments.net/reader033/viewer/2022042410/5f27300300cb7767da1ca1af/html5/thumbnails/21.jpg)
![Page 22: Elixir applications approach to building An event-driven...2019/07/18 · Domain event Record of something that t ook place in the domain An immutable, hist orical fact Named in the](https://reader033.fdocuments.net/reader033/viewer/2022042410/5f27300300cb7767da1ca1af/html5/thumbnails/22.jpg)
Dealingwithexternalevents
![Page 23: Elixir applications approach to building An event-driven...2019/07/18 · Domain event Record of something that t ook place in the domain An immutable, hist orical fact Named in the](https://reader033.fdocuments.net/reader033/viewer/2022042410/5f27300300cb7767da1ca1af/html5/thumbnails/23.jpg)
![Page 24: Elixir applications approach to building An event-driven...2019/07/18 · Domain event Record of something that t ook place in the domain An immutable, hist orical fact Named in the](https://reader033.fdocuments.net/reader033/viewer/2022042410/5f27300300cb7767da1ca1af/html5/thumbnails/24.jpg)
![Page 25: Elixir applications approach to building An event-driven...2019/07/18 · Domain event Record of something that t ook place in the domain An immutable, hist orical fact Named in the](https://reader033.fdocuments.net/reader033/viewer/2022042410/5f27300300cb7767da1ca1af/html5/thumbnails/25.jpg)
![Page 26: Elixir applications approach to building An event-driven...2019/07/18 · Domain event Record of something that t ook place in the domain An immutable, hist orical fact Named in the](https://reader033.fdocuments.net/reader033/viewer/2022042410/5f27300300cb7767da1ca1af/html5/thumbnails/26.jpg)
Extendingthirdpartyproviders
![Page 27: Elixir applications approach to building An event-driven...2019/07/18 · Domain event Record of something that t ook place in the domain An immutable, hist orical fact Named in the](https://reader033.fdocuments.net/reader033/viewer/2022042410/5f27300300cb7767da1ca1af/html5/thumbnails/27.jpg)
![Page 28: Elixir applications approach to building An event-driven...2019/07/18 · Domain event Record of something that t ook place in the domain An immutable, hist orical fact Named in the](https://reader033.fdocuments.net/reader033/viewer/2022042410/5f27300300cb7767da1ca1af/html5/thumbnails/28.jpg)
WhatElixirtoolingisavailable?
![Page 31: Elixir applications approach to building An event-driven...2019/07/18 · Domain event Record of something that t ook place in the domain An immutable, hist orical fact Named in the](https://reader033.fdocuments.net/reader033/viewer/2022042410/5f27300300cb7767da1ca1af/html5/thumbnails/31.jpg)
Wanttolearnmore?BuildingConduit
—ApplyingCQRS/EStoanElixir
andPhoenixwebapp
http://bit.ly/buildingconduitldn2019
Getintouch
Web10consulting.com
•
•
•
•