Event sourcing

816
-1

Published on

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

No Downloads
Views
Total Views
816
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
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×