fundamentos de cqrs

30
Twitter [@elemarjr ] | Facebook [facebook. com/elemarjr ] | Blog [elemarjr.net ] Fundamentos de CQRS Elemar Júnior

Upload: elemar-junior

Post on 11-Jan-2015

914 views

Category:

Technology


5 download

DESCRIPTION

Minha palestra, sobre CQRS, no

TRANSCRIPT

Page 1: Fundamentos de CQRS

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

Fundamentos de CQRSElemar Júnior

Page 2: Fundamentos de CQRS

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

P&D na Promob (www.promob.com)há ~15 anos!

Programação, arquitetura,carreira, filosofia, ...

elemarjr.net

elemarjr.github.comvoidpodcast.com

Elemar Who!?

Page 3: Fundamentos de CQRS

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

Page 4: Fundamentos de CQRS

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

CommandQueryResposibilitySegregation

Page 5: Fundamentos de CQRS

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

CommandQueryResposibilitySegregation

Page 6: Fundamentos de CQRS

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

CommandQueryResponsibilitySegregation

Page 7: Fundamentos de CQRS

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

CommandQueryResposibilitySegregation

Page 8: Fundamentos de CQRS

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

É um pattern!

Page 9: Fundamentos de CQRS

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

Quando usar?

Page 10: Fundamentos de CQRS

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

Quando usar?necessidade de colaboraçãoquando múltiplos agentes (humanos ou software) usam/modificam um conjunto limitado de dados – querendo ou não colaborar – com ou sem regras definidas;

Page 11: Fundamentos de CQRS

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

Quando usar?“envelhecimento potencial”já que, em um ambiente colaborativo, uma vez que um dado tenha sido apresentado para um agente, esse mesmo dado pode ter sido alterado por outro.

Page 12: Fundamentos de CQRS

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

Quando usar?Quando “disponibilidade” e “tolerânciaa particionamento” for indispensável!

Page 13: Fundamentos de CQRS

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

CAP Theorem

Page 14: Fundamentos de CQRS

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

CAP Theorem

Page 15: Fundamentos de CQRS

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

CAP Theorem

Page 16: Fundamentos de CQRS

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

CAP Theorem

Page 17: Fundamentos de CQRS

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

atomicity * consistency * isolation * durability

Page 18: Fundamentos de CQRS

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

Page 19: Fundamentos de CQRS

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

Page 20: Fundamentos de CQRS

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

Page 21: Fundamentos de CQRS

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

Page 22: Fundamentos de CQRS

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

Page 23: Fundamentos de CQRS

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

Page 24: Fundamentos de CQRS

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

Page 25: Fundamentos de CQRS

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

Page 26: Fundamentos de CQRS

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

Page 27: Fundamentos de CQRS

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

Page 28: Fundamentos de CQRS

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

E o tal Event-Sourcing

Page 29: Fundamentos de CQRS

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

Event-SourcingForma de persistir o estado da aplicação usando a "combinação" doseventos geradores.

Permite a recuperação do estado em qualquer "tempo"

Page 30: Fundamentos de CQRS

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

Teria bem mais...