The Art of CQRS

Embed Size (px)

DESCRIPTION

CQRS concept, concept, description and depth inside.

Citation preview

2. 1
Why?
Distributed System
Complex Enterprise Applications
High Load
Parallel Development
3. 2a
Current Warrior's Way
Layered Onion Structure
4. 2b
Current Warrior's Way
SOA
5. 2c
Current Warrior's Way
Custom Solution
6. 3a
Overview
CQRS
The Cult of
Shiny Things
Command Query
Responsibility
Segregation
7. Overview
CQRS as a concept is a way of designing disconnected solutions
3b
8. 4
Reinvent the Wheel
C Q RS
9. 5a
Meaning
10. Meaning
CQRS Principle
CQRS Architecture
DDDD
How, What, Why?
5b
11. 6
Principle
12. 7
Architectures
13. 8
DDDD
DDD - Aggregate Root
Event Sourcing
CQRS
Messaging System
14. Queries
View Model instead of DTO
Query Data Storage
Scaling
9
15. 10
Commands
Perform
Validation
Rethinking UI
Queue
Scaling
Independent
Fallacy reuse
16. 11
Command Handler Combinations
17. Domain Model
Aggregate Root within Command Handler
Context
Active Record
SPs
Monkey input
12
18. 13
Events
Happened
19. 14
Storage
Barrels
20. 15
Architecture Reminder
21. But
22. Caveats
Complexity?
Out of order
Distributed Transaction
Data staleness
Sagas
Domain Design
Focus on Domain Validation
Task-Based UI
Knowledge
16
23. 17
Value
Saga oriented! first-one-wins, or last-one-wins
Team collaboration
Scaling
Simplify complex logic support
Part of SOA
BASE
24. No
numbers
or
charts
25. Implementation
nCQRS
Axon Framework
Fohjin
Lokad.CQRS
BankSimplistic
SimpleCQRS
Agr.CQRS
JDon
18
26. Demo
27. 19
Production
LokadSalescast
Amazon (SOA)
No public available info about Enterprise systems
Tvene
28. 20
Future
29. 30. Answers
http://blog.pocheptsov.com/p/cqrs-references.html
http://cqrsinfo.com/http://codebetter.com/gregyoung/http://abdullin.com/http://groups.google.com/group/dddcqrshttp://blog.jonathanoliver.com/http://igor.quatrocode.com/http://cre8ivethought.com/http://www.dennisdoomen.net/http://thinkddd.com/http://www.udidahan.com/
31. @pocheptsov
31337