elixir applications approach to building an event-driven...2019/07/18  · domain event record of...

31
An event-driven approach to building Elixir applications

Upload: others

Post on 07-Jul-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

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

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

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
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
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
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
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
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
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

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

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

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

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

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
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

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
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

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
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

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
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
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

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
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
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
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

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
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

WhatElixirtoolingisavailable?

Page 29: 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

github.com/slashdotdash/awesome-elixir-cqrs

Page 30: 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

github.com/commanded

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

Wanttolearnmore?BuildingConduit

—ApplyingCQRS/EStoanElixir

andPhoenixwebapp

http://bit.ly/buildingconduitldn2019

Getintouch

[email protected]

Web10consulting.com