21
DDD-ENABLING ARCHITECTURES WITH

DDD-Enabling Architectures with EventStore

Embed Size (px)

Citation preview

Page 1: DDD-Enabling Architectures with EventStore

DDD-ENABLING ARCHITECTURESWITH

Page 2: DDD-Enabling Architectures with EventStore

AGENDA

CRUDEVENT-SOURCINGEVENT-DRIVEN ARCHITECTURECOMPLEX EVENT PROCESSINGEVENT STOREBUILDING BLOCKSSERVICESYSTEM OF SERVICESCODEWORKSHOP TASK

Page 3: DDD-Enabling Architectures with EventStore

CRUD

Page 4: DDD-Enabling Architectures with EventStore

EVENT-SOURCING

Page 5: DDD-Enabling Architectures with EventStore

EVENT-DRIVEN ARCHITECTURE

Page 6: DDD-Enabling Architectures with EventStore

COMPLEX EVENT PROCESSING

Page 7: DDD-Enabling Architectures with EventStore
Page 8: DDD-Enabling Architectures with EventStore

EVENT STORE

Page 9: DDD-Enabling Architectures with EventStore

BUILDING BLOCKS

Page 10: DDD-Enabling Architectures with EventStore

IDEMPOTENCE

Page 11: DDD-Enabling Architectures with EventStore

IDEMPOTENCE

Page 12: DDD-Enabling Architectures with EventStore

SERVICE

Page 13: DDD-Enabling Architectures with EventStore

SYSTEM OF SERVICES

Page 14: DDD-Enabling Architectures with EventStore

RECAP

CRUD

EVENT-SOURCING

EVENT-DRIVEN ARCHITECTURE

COMPLEX EVENT PROCESSING

EVENT STORE

BUILDING BLOCKS

SERVICE

SYSTEM OF SERVICES

Page 15: DDD-Enabling Architectures with EventStore

SHOW ME THE CODE!

Page 16: DDD-Enabling Architectures with EventStore

THE TASK

Page 17: DDD-Enabling Architectures with EventStore

MONEY TRANSFER IS A TRANSACTION IN WHICH ONE ACCOUNT IS DEBITED AND THE OTHER IS CREDITED WITH GIVEN AMOUNT OF MONEY

Page 18: DDD-Enabling Architectures with EventStore

CONSISTENCY RULES

EITHER ONE ACCOUNT IS DEBITED AND THE OTHER IS CREDITED OR NONE OF THEM IS AFFECTED

ACCOUNT BALANCE CANNOT BE LESS THAN ZERO

Page 19: DDD-Enabling Architectures with EventStore
Page 20: DDD-Enabling Architectures with EventStore
Page 21: DDD-Enabling Architectures with EventStore

QUESTIONS?