SlideShare a Scribd company logo
1 of 10
CQRS
Command Query
Responsibility Segregation
¿Cómo nace CQRS?
• Modelo de dominio
• Acciones con validaciones
• Acciones sin validaciones
• Reglas de negocio
• Persistencia de datos
• Performance
• Cache
• Modelos CRUD
• Normalización
• Task based UI
• Reportes
¿Cómo nace CQRS?
• Consultas
• Cache
• Sin validaciones
• Reportes
• Performance
• Comandos
• Modelo de dominio
• Validaciones
• Reglas de negocio
• Persistencia de datos
• Modelos CRUD
• Normalización
• Task based UI
No es posible obtener una solución óptima para búsquedas,
reportes y procesamiento utilizando el mismo modelo.
Representación 1
Representación 2
Características
• Consistencia
• Almacenamiento de datos
• Escalabilidad
Ventajas
• Separación de conceptos
• Performance
• Permite separación hardware
• Permite separación de Base de Datos
• Consultas
• Comandos
• Evita traducciones del dominio a los DTOs
• Se puede integrar con DDD
• Se puede integrar con Event Sourcing
• Se puede integrar con Task Based User Interface
Cuando usar
• Dominios complejos
• Consultas y presentación de información compleja
• Aplicaciones de alto rendimiento
• ORMs
¿Preguntas?
Referencias
• http://www.udidahan.com/2009/12/09/clarified-cqrs/
• http://martinfowler.com/bliki/CQRS.html

More Related Content

What's hot

What's hot (20)

SpringBoot 3 Observability
SpringBoot 3 ObservabilitySpringBoot 3 Observability
SpringBoot 3 Observability
 
Observability
ObservabilityObservability
Observability
 
Microservice Architecture
Microservice ArchitectureMicroservice Architecture
Microservice Architecture
 
A visual introduction to Event Sourcing and CQRS
A visual introduction to Event Sourcing and CQRSA visual introduction to Event Sourcing and CQRS
A visual introduction to Event Sourcing and CQRS
 
12 factor app - Core Guidelines To Cloud Ready Solutions
12 factor app - Core Guidelines To Cloud Ready Solutions12 factor app - Core Guidelines To Cloud Ready Solutions
12 factor app - Core Guidelines To Cloud Ready Solutions
 
Domain Driven Design
Domain Driven DesignDomain Driven Design
Domain Driven Design
 
Dapr: distributed application runtime
Dapr: distributed application runtimeDapr: distributed application runtime
Dapr: distributed application runtime
 
Cloud Native Application Development
Cloud Native Application DevelopmentCloud Native Application Development
Cloud Native Application Development
 
Combining logs, metrics, and traces for unified observability
Combining logs, metrics, and traces for unified observabilityCombining logs, metrics, and traces for unified observability
Combining logs, metrics, and traces for unified observability
 
Understanding MicroSERVICE Architecture with Java & Spring Boot
Understanding MicroSERVICE Architecture with Java & Spring BootUnderstanding MicroSERVICE Architecture with Java & Spring Boot
Understanding MicroSERVICE Architecture with Java & Spring Boot
 
20190427 arquitectura de microservicios con contenedores
20190427 arquitectura de microservicios con contenedores20190427 arquitectura de microservicios con contenedores
20190427 arquitectura de microservicios con contenedores
 
Microservices Architecture - Cloud Native Apps
Microservices Architecture - Cloud Native AppsMicroservices Architecture - Cloud Native Apps
Microservices Architecture - Cloud Native Apps
 
¿Qué es docker?
¿Qué es docker?¿Qué es docker?
¿Qué es docker?
 
Microservices
MicroservicesMicroservices
Microservices
 
Why to Cloud Native
Why to Cloud NativeWhy to Cloud Native
Why to Cloud Native
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
Microservices in Practice
Microservices in PracticeMicroservices in Practice
Microservices in Practice
 
Elastic-Engineering
Elastic-EngineeringElastic-Engineering
Elastic-Engineering
 
Domain Driven Design Demonstrated
Domain Driven Design Demonstrated Domain Driven Design Demonstrated
Domain Driven Design Demonstrated
 
CQRS + Event Sourcing
CQRS + Event SourcingCQRS + Event Sourcing
CQRS + Event Sourcing
 

Viewers also liked

Student Research Award
Student Research AwardStudent Research Award
Student Research Award
Jonathan Lepp
 
Background Guide Update - Prioritizing Children's Rights in National and Inte...
Background Guide Update - Prioritizing Children's Rights in National and Inte...Background Guide Update - Prioritizing Children's Rights in National and Inte...
Background Guide Update - Prioritizing Children's Rights in National and Inte...
Thejasvi Ramu
 
Cách Chữa Bệnh Bốc Hỏa Nhanh Nhất
Cách Chữa Bệnh Bốc Hỏa Nhanh NhấtCách Chữa Bệnh Bốc Hỏa Nhanh Nhất
Cách Chữa Bệnh Bốc Hỏa Nhanh Nhất
tracey891
 
la cognotecnologia
la cognotecnologiala cognotecnologia
la cognotecnologia
auridis
 

Viewers also liked (20)

Transicionkanban
TransicionkanbanTransicionkanban
Transicionkanban
 
Calidad de Software y Certificación
Calidad de Software y CertificaciónCalidad de Software y Certificación
Calidad de Software y Certificación
 
Taller definición bugs
Taller definición bugsTaller definición bugs
Taller definición bugs
 
SOLID
SOLIDSOLID
SOLID
 
Matriz de evaluación de desempeño con TIC
Matriz de evaluación de desempeño con TICMatriz de evaluación de desempeño con TIC
Matriz de evaluación de desempeño con TIC
 
Introducción al análisis y relevamiento
Introducción al análisis y relevamientoIntroducción al análisis y relevamiento
Introducción al análisis y relevamiento
 
Student Research Award
Student Research AwardStudent Research Award
Student Research Award
 
Work microwave
Work microwaveWork microwave
Work microwave
 
Background Guide Update - Prioritizing Children's Rights in National and Inte...
Background Guide Update - Prioritizing Children's Rights in National and Inte...Background Guide Update - Prioritizing Children's Rights in National and Inte...
Background Guide Update - Prioritizing Children's Rights in National and Inte...
 
Abipbox
AbipboxAbipbox
Abipbox
 
Leadership Scott County Graduation Class of 2014-2015
Leadership Scott County Graduation Class of 2014-2015Leadership Scott County Graduation Class of 2014-2015
Leadership Scott County Graduation Class of 2014-2015
 
Cách Chữa Bệnh Bốc Hỏa Nhanh Nhất
Cách Chữa Bệnh Bốc Hỏa Nhanh NhấtCách Chữa Bệnh Bốc Hỏa Nhanh Nhất
Cách Chữa Bệnh Bốc Hỏa Nhanh Nhất
 
Flux勉強会資料
Flux勉強会資料Flux勉強会資料
Flux勉強会資料
 
la cognotecnologia
la cognotecnologiala cognotecnologia
la cognotecnologia
 
Who wants to_be_a_coastal_millionaire
Who wants to_be_a_coastal_millionaireWho wants to_be_a_coastal_millionaire
Who wants to_be_a_coastal_millionaire
 
Ballantyne Country Club Market Update
Ballantyne Country Club Market UpdateBallantyne Country Club Market Update
Ballantyne Country Club Market Update
 
Amiko
AmikoAmiko
Amiko
 
Taller de iluminación
Taller de iluminación Taller de iluminación
Taller de iluminación
 
Announcements Fri. Dec. 18th
Announcements Fri. Dec. 18th  Announcements Fri. Dec. 18th
Announcements Fri. Dec. 18th
 
Unidad iii incursiono en la cultura digital grupo 434206 873
Unidad iii incursiono en la cultura digital grupo 434206 873Unidad iii incursiono en la cultura digital grupo 434206 873
Unidad iii incursiono en la cultura digital grupo 434206 873
 

Similar to CQRS

Novedades de MS SQL Server 2012 para ambientes tecnológicos OLTP y OLAP
Novedades de MS SQL Server 2012 para ambientes tecnológicos OLTP y OLAPNovedades de MS SQL Server 2012 para ambientes tecnológicos OLTP y OLAP
Novedades de MS SQL Server 2012 para ambientes tecnológicos OLTP y OLAP
Joseph Lopez
 
Novedades sql server 2008 para developers
Novedades sql server 2008 para developersNovedades sql server 2008 para developers
Novedades sql server 2008 para developers
Enrique Catala Bañuls
 
Top BI Enhancements for Sql Server 2012
Top BI Enhancements for Sql Server 2012Top BI Enhancements for Sql Server 2012
Top BI Enhancements for Sql Server 2012
BILATAM
 

Similar to CQRS (20)

vOpenvOpenUy: El misterioso CQRS
vOpenvOpenUy: El misterioso CQRSvOpenvOpenUy: El misterioso CQRS
vOpenvOpenUy: El misterioso CQRS
 
azure-logic elementos de seleccion cuando utilizarlos
azure-logic elementos de seleccion cuando utilizarlosazure-logic elementos de seleccion cuando utilizarlos
azure-logic elementos de seleccion cuando utilizarlos
 
Azure 360º para Desarrolaldores
Azure 360º para DesarrolaldoresAzure 360º para Desarrolaldores
Azure 360º para Desarrolaldores
 
Performance Tuning en Azure SQL Database
Performance Tuning en Azure SQL DatabasePerformance Tuning en Azure SQL Database
Performance Tuning en Azure SQL Database
 
SQL Azure Administración, Desempeño y Mantenimiento
SQL Azure Administración, Desempeño y MantenimientoSQL Azure Administración, Desempeño y Mantenimiento
SQL Azure Administración, Desempeño y Mantenimiento
 
Uso_Avanzado_de_GPOs_en_Windows_Server_2003.ppt
Uso_Avanzado_de_GPOs_en_Windows_Server_2003.pptUso_Avanzado_de_GPOs_en_Windows_Server_2003.ppt
Uso_Avanzado_de_GPOs_en_Windows_Server_2003.ppt
 
Novedades de MS SQL Server 2012 para ambientes tecnológicos OLTP y OLAP
Novedades de MS SQL Server 2012 para ambientes tecnológicos OLTP y OLAPNovedades de MS SQL Server 2012 para ambientes tecnológicos OLTP y OLAP
Novedades de MS SQL Server 2012 para ambientes tecnológicos OLTP y OLAP
 
Desarrollo moderno con DevOps y Cloud Native
Desarrollo moderno con DevOps y Cloud NativeDesarrollo moderno con DevOps y Cloud Native
Desarrollo moderno con DevOps y Cloud Native
 
SQL Server 2014 Nuevas Capacidades
SQL Server 2014  Nuevas CapacidadesSQL Server 2014  Nuevas Capacidades
SQL Server 2014 Nuevas Capacidades
 
Windows Azure SQL Databases
Windows Azure SQL DatabasesWindows Azure SQL Databases
Windows Azure SQL Databases
 
Fundamentos en el diseño de bases de datos con MS SQL Server 2012
Fundamentos en el diseño de bases de datos con MS SQL Server 2012Fundamentos en el diseño de bases de datos con MS SQL Server 2012
Fundamentos en el diseño de bases de datos con MS SQL Server 2012
 
Novedades sql server 2008 para developers
Novedades sql server 2008 para developersNovedades sql server 2008 para developers
Novedades sql server 2008 para developers
 
Aqdsd
AqdsdAqdsd
Aqdsd
 
SQL como un servicio en la nube
SQL como un servicio en la nubeSQL como un servicio en la nube
SQL como un servicio en la nube
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
SQL Server 2014 y La Plataforma de Datos
SQL Server 2014 y La Plataforma de DatosSQL Server 2014 y La Plataforma de Datos
SQL Server 2014 y La Plataforma de Datos
 
Sql server 2014 y la plataforma de datos
Sql server 2014 y la plataforma de datosSql server 2014 y la plataforma de datos
Sql server 2014 y la plataforma de datos
 
Introducción a Azure DocumentDB
Introducción a Azure DocumentDBIntroducción a Azure DocumentDB
Introducción a Azure DocumentDB
 
Top BI Enhancements for Sql Server 2012
Top BI Enhancements for Sql Server 2012Top BI Enhancements for Sql Server 2012
Top BI Enhancements for Sql Server 2012
 
Herramientas Gráficas para MySQL
Herramientas Gráficas para MySQLHerramientas Gráficas para MySQL
Herramientas Gráficas para MySQL
 

More from Andrés Grosso (6)

Engee IT - Institucional
Engee IT - InstitucionalEngee IT - Institucional
Engee IT - Institucional
 
software testing
software testingsoftware testing
software testing
 
Esemap
EsemapEsemap
Esemap
 
Patrón de diseño Criteria
Patrón de diseño CriteriaPatrón de diseño Criteria
Patrón de diseño Criteria
 
Taller casos de prueba
Taller casos de pruebaTaller casos de prueba
Taller casos de prueba
 
Scrum
ScrumScrum
Scrum
 

Recently uploaded

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
FagnerLisboa3
 

Recently uploaded (11)

Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 

CQRS