Event SourcingAndreas ÖhlundEnterprise Development Expert
Where does ES apply?       Queries                         Persistent View Model                                          ...
Where does ES apply?       Queries                         Persistent View Model                                          ...
Structural models             Order Line Order             Shipping info
Behavioral models                                      Shipping Order    Line Item X   Line Item Y                        ...
One model to rule              them all                                       Shipping Order     Line Item X   Line Item Y...
One model to rule              them all             What ever model your domain expert                        can dream up...
Effects on domain          models• No getters and setters• Easy testing without mocks• Enforces the “Aggregate roots as th...
Effects on teams          Event                     PersistentDomain                    View modelCommand            DTO  ...
Improved concurrency• Occasionally connected systems • More stale data • Higher chance of conflicting edits • Merge ala GIT
Using an EventStore• Demo...
No moreIWhatEverRepository• IRepository.Get(Guid aggregateId)• IRepository.Save(IAggregate aggregate)
Thanks for listening! Andreas Öhlund - Frontwalker Enterprise Development Expert                 andreas.ohlund@it-arkitek...
Upcoming SlideShare
Loading in …5
×

Event sourcing

893 views
855 views

Published on

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
893
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
18
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • Where do we do DDD? (business critical apps, competitive advantage)\nCan always give the BA’s what they want\n\nStructural model: WE need to predict what the business wants in the future (impossible)\n\nLittle investment up front\n\nIntent is not lost, no need to reverse engineer things\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Event sourcing

    1. 1. Event SourcingAndreas ÖhlundEnterprise Development Expert
    2. 2. Where does ES apply? Queries Persistent View Model Denormalizer Publish Command Input Handler PersistUI Validation Validation Rules Write store
    3. 3. Where does ES apply? Queries Persistent View Model Denormalizer Publish Command Input Handler PersistUI HERE! Validation Validation Rules Write store
    4. 4. Structural models Order Line Order Shipping info
    5. 5. Behavioral models Shipping Order Line Item X Line Item Y InfoCreated Added Added Added
    6. 6. One model to rule them all Shipping Order Line Item X Line Item Y Line Item Y InfoCreated Added Added Removed Added
    7. 7. One model to rule them all What ever model your domain expert can dream up Shipping Order Line Item X Line Item Y Line Item Y InfoCreated Added Added Removed Added
    8. 8. Effects on domain models• No getters and setters• Easy testing without mocks• Enforces the “Aggregate roots as the consistency boundary” concept
    9. 9. Effects on teams Event PersistentDomain View modelCommand DTO Client
    10. 10. Improved concurrency• Occasionally connected systems • More stale data • Higher chance of conflicting edits • Merge ala GIT
    11. 11. Using an EventStore• Demo...
    12. 12. No moreIWhatEverRepository• IRepository.Get(Guid aggregateId)• IRepository.Save(IAggregate aggregate)
    13. 13. Thanks for listening! Andreas Öhlund - Frontwalker Enterprise Development Expert andreas.ohlund@it-arkitekterna.se http://andreasohlund.net

    ×