SlideShare ist ein Scribd-Unternehmen logo
1 von 33
Edin Kapić & Marçal Serrate
CQRS (explicado a mi
compañero arquitecto)
BARCELONA DEVELOPERS CONFERENCE 2012
6 dic – 7 dic – 8 dic
www.pasiona.com
info@pasiona.com
(+34) 669 333 333
@pasiona            Barcelona                 Bilbao                      Madrid           Londres
                    Pujades 350, 10ª planta   Gran Vía 19-21, 2ª planta   Pinar 5,         1 Northumberland Avenue
                    08019 · Barcelona         48008 · Bilbao              28006 · Madrid   London · WC2N 5BW
Qué es



Microsoft                                 Innovación                                      Pasión
socio 100% alineado                       ligada a la mejora continua y basada            somos grandes entusiastas de todo
partner 100% especializado                en las nuevas oportunidades tecnológicas        aquello que creamos y vemos crecer


Desarrollo                                Tecnología                                      Experiencia
capacidad para realizar proyectos de      soluciones a cada una de las necesidades        o la garantía de la habilidad derivada
ámbito tecnológico con un fin de mejora   empresariales que se platean en cada ámbito     de años de vivencias y observación


Especialización                           Conocimiento                                    Valores humanos
ofrecemos soluciones a medida con         adquirido a través de la realización de         guía de lo que hacemos y pretendemos
las mejores herramientas tecnológicas     proyectos, formación e innovación tecnológica   que nos enseña y nos conduce día a día
Servicios
Consultoría   Proyectos       Auditoría




              Servicios                    Social      Formación
              profesionales                Media



                                          Innovación    Azure
Edin Kapić
Key Consultant en pasiona Consulting
Divulgador Tecnológico en Fundación Techdencias
   @ekapic
ekapic@pasiona.com     ekapic@techdencias.net

           Marçal Serrate
           Key Consultant en pasiona Consulting
           Divulgador Tecnológico en Fundación Techdencias
               @mserrate
           mserrate@pasiona.com www.serrate.net
@techdencias

@pasiona




    #BDC1
    2
Agenda
CQRS.About();
CQRS.Query();
CQRS.Update();
CQRS.Implement();
CQRS.Demo();
(CQRS.Q && CQRS.A);
CQRS.About();
RDBMS
Modelo conocido y cómodo.
Pero…
No escala bien.
Teorema CAP "Bin Laden"
Explica por que no podemos tenerlo todo.
Eric Brewer, 2002
Consistencia




Consistencia
 eventual
Consistencia eventual
 El precio que pagamos según la CAP.*
 Ventana de inconsistencia
     Datos viejos



*En RDBMS pagamos con la no tolerancia a particiones. No hay nada gratis.
¿Datos viejos?
 Formulario en papel  aplicación CRUD
   Ideal para una aplicación individual
 Aplicación multiusuario o cliente-servidor
   “Datos viejos” por naturaleza
   Nos inventamos varias cosas para huir de
     este hecho, sin éxito
Presentación

Controlador

      DTO

 Servicios

 Dominio

Repositorio

         SQL

    DB
Front-End
                Presentación

                Controlador

                      DTO

                               Back-End
                 Servicios

                 Dominio

                Repositorio

                         SQL
Base de datos
                    DB
Presentación

                          Controlador de servicios

                    DTO                               Comandos

Servicios de consulta                                Servicios de comandos

   Acceso a datos                                          Dominio

                                                          Repositorio
Consultas
                                                                   SQL
                                Sincronización
    Almacén de
                                                              DB
     consulta
Presentación

                                  Controlador de servicios

Query                       DTO                               Comandos           Command


        Servicios de consulta                                Servicios de comandos

           Acceso a datos            Responsibility                Dominio
                                      Segregation
                                                                  Repositorio
        Consultas
                                                                           SQL
                                        Sincronización
            Almacén de
                                                                      DB
             consulta
CQRS.Query();
Query
 Modelo de lectura != modelo de dominio
 View Model, Data Binding
 “One Table per View”
 NoSQL
 La denormalización es bienvenida
CQRS.Update();
Command
 Captura la intención, no sólo los datos
 Es un mensaje, no contiene lógica de dominio
 Es asíncrono por naturaleza
 Es un verbo
 Dispara una actualización del modelo de
  dominio
Eventos
 Cambio en el estado del sistema
 Se suelen usar para disparar la sincronización
  con el modelo de consulta
 Fundamentos del Event Sourcing
                              Me gusta que
                              me haga esa
                              pregunta....
CQRS.Implement();
ACID          BASE



DocumentStore   IndexStore




     Insert
    Delete        Queries
    Update
Microsoft SharePoint 2013
CQRS.Demo();
Moraleja
CQRS no es la respuesta a todo pero es una
manera diferente de atacar algunos problemas
de las aplicaciones actuales.

http://www.udidahan.com/2009/12/09/clarified-cqrs/
https://github.com/ncqrs/ncqrs
http://msdn.microsoft.com/en-us/library/jj554200.aspx
Edin Kapić               CQRS.Q &&
                            CQRS.A
   @ekapic
ekapic@pasiona.com
ekapic@techdencias.net

Marçal Serrate
  @mserrate
mserrate@pasiona.com
www.serrate.net
BARCELONA DEVELOPERS CONFERENCE 2012
                       | 6 dic – 7 dic – 8 dic

Weitere ähnliche Inhalte

Ähnlich wie BcnDevCon12 - CQRS explicado a mi compañero arquitecto

Codecamp 2010 - Arquitecturas en la nube
Codecamp 2010 - Arquitecturas en la nubeCodecamp 2010 - Arquitecturas en la nube
Codecamp 2010 - Arquitecturas en la nubeNicolas Padula
 
Servicios de Calidad de Datos Empresariales con Data Quality Service "Denali"
Servicios de Calidad de Datos Empresariales con Data Quality Service "Denali"Servicios de Calidad de Datos Empresariales con Data Quality Service "Denali"
Servicios de Calidad de Datos Empresariales con Data Quality Service "Denali"Joseph Lopez
 
JBoss para Tramites Gubernamentales
JBoss para Tramites GubernamentalesJBoss para Tramites Gubernamentales
JBoss para Tramites GubernamentalesRicardo Payan
 
Webinar: Descubre los diferentes servicios Cloud Native en Azure
Webinar: Descubre los diferentes servicios Cloud Native en AzureWebinar: Descubre los diferentes servicios Cloud Native en Azure
Webinar: Descubre los diferentes servicios Cloud Native en AzureatSistemas
 
Cloud Native en Azure Webinar atSistemas
Cloud Native en Azure Webinar atSistemasCloud Native en Azure Webinar atSistemas
Cloud Native en Azure Webinar atSistemasSanti Macias Rodriguez
 
Introducción a Cloud computing y Office 365
Introducción a Cloud computing y Office 365Introducción a Cloud computing y Office 365
Introducción a Cloud computing y Office 365Gonzalo Balladares Rivera
 
Sql server 2008 novedades en BI - es - tech net
Sql server 2008 novedades en BI - es - tech netSql server 2008 novedades en BI - es - tech net
Sql server 2008 novedades en BI - es - tech netSalvador Ramos
 
Seminario Web MongoDB-Paradigma: Cree aplicaciones más escalables utilizando ...
Seminario Web MongoDB-Paradigma: Cree aplicaciones más escalables utilizando ...Seminario Web MongoDB-Paradigma: Cree aplicaciones más escalables utilizando ...
Seminario Web MongoDB-Paradigma: Cree aplicaciones más escalables utilizando ...MongoDB
 
Digital Week Innovation - TIVIT & AWS.pdf
Digital Week Innovation - TIVIT & AWS.pdfDigital Week Innovation - TIVIT & AWS.pdf
Digital Week Innovation - TIVIT & AWS.pdfChristianMerchan8
 
Webinar Administracion de Servicios Nube Azure
Webinar Administracion de Servicios Nube AzureWebinar Administracion de Servicios Nube Azure
Webinar Administracion de Servicios Nube AzureIvan Martinez
 
Marcodetrabajode au
Marcodetrabajode auMarcodetrabajode au
Marcodetrabajode auFernando Paz
 
WorkShop SQL Azure
WorkShop SQL AzureWorkShop SQL Azure
WorkShop SQL AzureJohn Bulla
 
Dts y analysis services 2000
Dts y analysis services 2000Dts y analysis services 2000
Dts y analysis services 2000Salvador Ramos
 
Entorno de datos Microsoft Cloud
Entorno de datos Microsoft CloudEntorno de datos Microsoft Cloud
Entorno de datos Microsoft CloudJoseph Lopez
 
08 Cast V Semana CMMI 2009
08 Cast V Semana CMMI 200908 Cast V Semana CMMI 2009
08 Cast V Semana CMMI 2009Pepe
 
BcnDevCon12 - Una vuelta por Orchard CMS
BcnDevCon12 - Una vuelta por Orchard CMSBcnDevCon12 - Una vuelta por Orchard CMS
BcnDevCon12 - Una vuelta por Orchard CMSEdin Kapic
 
Presentación hp ess - (pablo ráez).- evento nube conectada 18042012
Presentación hp ess - (pablo ráez).- evento nube conectada 18042012Presentación hp ess - (pablo ráez).- evento nube conectada 18042012
Presentación hp ess - (pablo ráez).- evento nube conectada 18042012Datacity Comunicaciones S.L.
 

Ähnlich wie BcnDevCon12 - CQRS explicado a mi compañero arquitecto (20)

Codecamp 2010 - Arquitecturas en la nube
Codecamp 2010 - Arquitecturas en la nubeCodecamp 2010 - Arquitecturas en la nube
Codecamp 2010 - Arquitecturas en la nube
 
Servicios de Calidad de Datos Empresariales con Data Quality Service "Denali"
Servicios de Calidad de Datos Empresariales con Data Quality Service "Denali"Servicios de Calidad de Datos Empresariales con Data Quality Service "Denali"
Servicios de Calidad de Datos Empresariales con Data Quality Service "Denali"
 
JBoss para Tramites Gubernamentales
JBoss para Tramites GubernamentalesJBoss para Tramites Gubernamentales
JBoss para Tramites Gubernamentales
 
Webinar: Descubre los diferentes servicios Cloud Native en Azure
Webinar: Descubre los diferentes servicios Cloud Native en AzureWebinar: Descubre los diferentes servicios Cloud Native en Azure
Webinar: Descubre los diferentes servicios Cloud Native en Azure
 
Cloud Native en Azure Webinar atSistemas
Cloud Native en Azure Webinar atSistemasCloud Native en Azure Webinar atSistemas
Cloud Native en Azure Webinar atSistemas
 
Introducción a Cloud computing y Office 365
Introducción a Cloud computing y Office 365Introducción a Cloud computing y Office 365
Introducción a Cloud computing y Office 365
 
Sql server 2008 novedades en BI - es - tech net
Sql server 2008 novedades en BI - es - tech netSql server 2008 novedades en BI - es - tech net
Sql server 2008 novedades en BI - es - tech net
 
Seminario Web MongoDB-Paradigma: Cree aplicaciones más escalables utilizando ...
Seminario Web MongoDB-Paradigma: Cree aplicaciones más escalables utilizando ...Seminario Web MongoDB-Paradigma: Cree aplicaciones más escalables utilizando ...
Seminario Web MongoDB-Paradigma: Cree aplicaciones más escalables utilizando ...
 
Digital Week Innovation - TIVIT & AWS.pdf
Digital Week Innovation - TIVIT & AWS.pdfDigital Week Innovation - TIVIT & AWS.pdf
Digital Week Innovation - TIVIT & AWS.pdf
 
Webinar Administracion de Servicios Nube Azure
Webinar Administracion de Servicios Nube AzureWebinar Administracion de Servicios Nube Azure
Webinar Administracion de Servicios Nube Azure
 
Marcodetrabajode au
Marcodetrabajode auMarcodetrabajode au
Marcodetrabajode au
 
SEMANA 1 Introduccion.pptx
SEMANA 1 Introduccion.pptxSEMANA 1 Introduccion.pptx
SEMANA 1 Introduccion.pptx
 
WorkShop SQL Azure
WorkShop SQL AzureWorkShop SQL Azure
WorkShop SQL Azure
 
Dts y analysis services 2000
Dts y analysis services 2000Dts y analysis services 2000
Dts y analysis services 2000
 
Entorno de datos Microsoft Cloud
Entorno de datos Microsoft CloudEntorno de datos Microsoft Cloud
Entorno de datos Microsoft Cloud
 
08 Cast V Semana CMMI 2009
08 Cast V Semana CMMI 200908 Cast V Semana CMMI 2009
08 Cast V Semana CMMI 2009
 
Is soa
Is soaIs soa
Is soa
 
Arquitectura Orientada a Servicios
Arquitectura Orientada a ServiciosArquitectura Orientada a Servicios
Arquitectura Orientada a Servicios
 
BcnDevCon12 - Una vuelta por Orchard CMS
BcnDevCon12 - Una vuelta por Orchard CMSBcnDevCon12 - Una vuelta por Orchard CMS
BcnDevCon12 - Una vuelta por Orchard CMS
 
Presentación hp ess - (pablo ráez).- evento nube conectada 18042012
Presentación hp ess - (pablo ráez).- evento nube conectada 18042012Presentación hp ess - (pablo ráez).- evento nube conectada 18042012
Presentación hp ess - (pablo ráez).- evento nube conectada 18042012
 

Mehr von Edin Kapic

High-Trust Add-Ins SharePoint for On-Premises Development
High-Trust Add-Ins SharePoint for On-Premises DevelopmentHigh-Trust Add-Ins SharePoint for On-Premises Development
High-Trust Add-Ins SharePoint for On-Premises DevelopmentEdin Kapic
 
Extending Authentication and Authorization
Extending Authentication and AuthorizationExtending Authentication and Authorization
Extending Authentication and AuthorizationEdin Kapic
 
Rx la joya oculta de Net
Rx la joya oculta de NetRx la joya oculta de Net
Rx la joya oculta de NetEdin Kapic
 
ESPC15 - Extending Authentication and Authorization
ESPC15 - Extending Authentication and AuthorizationESPC15 - Extending Authentication and Authorization
ESPC15 - Extending Authentication and AuthorizationEdin Kapic
 
SPS London 2015 - IoT and Room Reservation Cloud-Style
SPS London 2015 - IoT and Room Reservation Cloud-StyleSPS London 2015 - IoT and Room Reservation Cloud-Style
SPS London 2015 - IoT and Room Reservation Cloud-StyleEdin Kapic
 
SPS Belgium 2015 - High-trust Apps for On-Premises Development
SPS Belgium 2015 -  High-trust Apps for On-Premises DevelopmentSPS Belgium 2015 -  High-trust Apps for On-Premises Development
SPS Belgium 2015 - High-trust Apps for On-Premises DevelopmentEdin Kapic
 
Personal Branding for Developers
Personal Branding for DevelopersPersonal Branding for Developers
Personal Branding for DevelopersEdin Kapic
 
SharePoint Saturday Stockholm 2015 - Building Maintainable and Testable Share...
SharePoint Saturday Stockholm 2015 - Building Maintainable and Testable Share...SharePoint Saturday Stockholm 2015 - Building Maintainable and Testable Share...
SharePoint Saturday Stockholm 2015 - Building Maintainable and Testable Share...Edin Kapic
 
ESPC14 Social Business Value Demystified
ESPC14 Social Business Value DemystifiedESPC14 Social Business Value Demystified
ESPC14 Social Business Value DemystifiedEdin Kapic
 
Maintainable Testable SharePoint Components SPSBE 2014
Maintainable Testable SharePoint Components SPSBE 2014Maintainable Testable SharePoint Components SPSBE 2014
Maintainable Testable SharePoint Components SPSBE 2014Edin Kapic
 
MVP Open Day 2014 - Hacking Human Behaviour
MVP Open Day 2014 - Hacking Human BehaviourMVP Open Day 2014 - Hacking Human Behaviour
MVP Open Day 2014 - Hacking Human BehaviourEdin Kapic
 
SPS Stockholm 7 Key Things for Building a Highly-Scalable SharePoint 2013 App
SPS Stockholm 7 Key Things for Building a Highly-Scalable SharePoint 2013 AppSPS Stockholm 7 Key Things for Building a Highly-Scalable SharePoint 2013 App
SPS Stockholm 7 Key Things for Building a Highly-Scalable SharePoint 2013 AppEdin Kapic
 
7 Key Things for Building a Highly-Scalable SharePoint 2013 App
7 Key Things for Building a Highly-Scalable SharePoint 2013 App7 Key Things for Building a Highly-Scalable SharePoint 2013 App
7 Key Things for Building a Highly-Scalable SharePoint 2013 AppEdin Kapic
 
Social Business Value Demystified: Real-World Experiences
Social Business Value Demystified: Real-World ExperiencesSocial Business Value Demystified: Real-World Experiences
Social Business Value Demystified: Real-World ExperiencesEdin Kapic
 
BcnDevCon13 - No Designer? No Problem!
BcnDevCon13 - No Designer? No Problem!BcnDevCon13 - No Designer? No Problem!
BcnDevCon13 - No Designer? No Problem!Edin Kapic
 
Modelos de madurez de SharePoint
Modelos de madurez de SharePointModelos de madurez de SharePoint
Modelos de madurez de SharePointEdin Kapic
 
SharePoint 2013 Novedades y más allá (Introducción de SUG.CAT)
SharePoint 2013 Novedades y más allá (Introducción de SUG.CAT)SharePoint 2013 Novedades y más allá (Introducción de SUG.CAT)
SharePoint 2013 Novedades y más allá (Introducción de SUG.CAT)Edin Kapic
 
SUG.CAT First Monday Noviembre 2012
SUG.CAT First Monday Noviembre 2012SUG.CAT First Monday Noviembre 2012
SUG.CAT First Monday Noviembre 2012Edin Kapic
 
JavaScript per a desenvolupadors de C#
JavaScript per a desenvolupadors de C#JavaScript per a desenvolupadors de C#
JavaScript per a desenvolupadors de C#Edin Kapic
 
CatDotNet - Farmville para SharePoint
CatDotNet - Farmville para SharePointCatDotNet - Farmville para SharePoint
CatDotNet - Farmville para SharePointEdin Kapic
 

Mehr von Edin Kapic (20)

High-Trust Add-Ins SharePoint for On-Premises Development
High-Trust Add-Ins SharePoint for On-Premises DevelopmentHigh-Trust Add-Ins SharePoint for On-Premises Development
High-Trust Add-Ins SharePoint for On-Premises Development
 
Extending Authentication and Authorization
Extending Authentication and AuthorizationExtending Authentication and Authorization
Extending Authentication and Authorization
 
Rx la joya oculta de Net
Rx la joya oculta de NetRx la joya oculta de Net
Rx la joya oculta de Net
 
ESPC15 - Extending Authentication and Authorization
ESPC15 - Extending Authentication and AuthorizationESPC15 - Extending Authentication and Authorization
ESPC15 - Extending Authentication and Authorization
 
SPS London 2015 - IoT and Room Reservation Cloud-Style
SPS London 2015 - IoT and Room Reservation Cloud-StyleSPS London 2015 - IoT and Room Reservation Cloud-Style
SPS London 2015 - IoT and Room Reservation Cloud-Style
 
SPS Belgium 2015 - High-trust Apps for On-Premises Development
SPS Belgium 2015 -  High-trust Apps for On-Premises DevelopmentSPS Belgium 2015 -  High-trust Apps for On-Premises Development
SPS Belgium 2015 - High-trust Apps for On-Premises Development
 
Personal Branding for Developers
Personal Branding for DevelopersPersonal Branding for Developers
Personal Branding for Developers
 
SharePoint Saturday Stockholm 2015 - Building Maintainable and Testable Share...
SharePoint Saturday Stockholm 2015 - Building Maintainable and Testable Share...SharePoint Saturday Stockholm 2015 - Building Maintainable and Testable Share...
SharePoint Saturday Stockholm 2015 - Building Maintainable and Testable Share...
 
ESPC14 Social Business Value Demystified
ESPC14 Social Business Value DemystifiedESPC14 Social Business Value Demystified
ESPC14 Social Business Value Demystified
 
Maintainable Testable SharePoint Components SPSBE 2014
Maintainable Testable SharePoint Components SPSBE 2014Maintainable Testable SharePoint Components SPSBE 2014
Maintainable Testable SharePoint Components SPSBE 2014
 
MVP Open Day 2014 - Hacking Human Behaviour
MVP Open Day 2014 - Hacking Human BehaviourMVP Open Day 2014 - Hacking Human Behaviour
MVP Open Day 2014 - Hacking Human Behaviour
 
SPS Stockholm 7 Key Things for Building a Highly-Scalable SharePoint 2013 App
SPS Stockholm 7 Key Things for Building a Highly-Scalable SharePoint 2013 AppSPS Stockholm 7 Key Things for Building a Highly-Scalable SharePoint 2013 App
SPS Stockholm 7 Key Things for Building a Highly-Scalable SharePoint 2013 App
 
7 Key Things for Building a Highly-Scalable SharePoint 2013 App
7 Key Things for Building a Highly-Scalable SharePoint 2013 App7 Key Things for Building a Highly-Scalable SharePoint 2013 App
7 Key Things for Building a Highly-Scalable SharePoint 2013 App
 
Social Business Value Demystified: Real-World Experiences
Social Business Value Demystified: Real-World ExperiencesSocial Business Value Demystified: Real-World Experiences
Social Business Value Demystified: Real-World Experiences
 
BcnDevCon13 - No Designer? No Problem!
BcnDevCon13 - No Designer? No Problem!BcnDevCon13 - No Designer? No Problem!
BcnDevCon13 - No Designer? No Problem!
 
Modelos de madurez de SharePoint
Modelos de madurez de SharePointModelos de madurez de SharePoint
Modelos de madurez de SharePoint
 
SharePoint 2013 Novedades y más allá (Introducción de SUG.CAT)
SharePoint 2013 Novedades y más allá (Introducción de SUG.CAT)SharePoint 2013 Novedades y más allá (Introducción de SUG.CAT)
SharePoint 2013 Novedades y más allá (Introducción de SUG.CAT)
 
SUG.CAT First Monday Noviembre 2012
SUG.CAT First Monday Noviembre 2012SUG.CAT First Monday Noviembre 2012
SUG.CAT First Monday Noviembre 2012
 
JavaScript per a desenvolupadors de C#
JavaScript per a desenvolupadors de C#JavaScript per a desenvolupadors de C#
JavaScript per a desenvolupadors de C#
 
CatDotNet - Farmville para SharePoint
CatDotNet - Farmville para SharePointCatDotNet - Farmville para SharePoint
CatDotNet - Farmville para SharePoint
 

Kürzlich hochgeladen

Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptxLINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptxkimontey
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
Análisis de Artefactos Tecnologicos (3) (1).pdf
Análisis de Artefactos Tecnologicos  (3) (1).pdfAnálisis de Artefactos Tecnologicos  (3) (1).pdf
Análisis de Artefactos Tecnologicos (3) (1).pdfsharitcalderon04
 
Actividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolarActividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolar24roberto21
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdfBetianaJuarez1
 
Herramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfHerramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfKarinaCambero3
 
Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointValerioIvanDePazLoja
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosAlbanyMartinez7
 
Viguetas Pretensadas en concreto armado
Viguetas Pretensadas  en concreto armadoViguetas Pretensadas  en concreto armado
Viguetas Pretensadas en concreto armadob7fwtwtfxf
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
Slideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan GerenciaSlideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan Gerenciacubillannoly
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)JuanStevenTrujilloCh
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docxobandopaula444
 
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxPLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxhasbleidit
 
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...Marketing BRANDING
 
La tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedadLa tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedadEduardoSantiagoSegov
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfFernandoOblitasVivan
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersIván López Martín
 

Kürzlich hochgeladen (20)

Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
El camino a convertirse en Microsoft MVP
El camino a convertirse en Microsoft MVPEl camino a convertirse en Microsoft MVP
El camino a convertirse en Microsoft MVP
 
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptxLINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
Análisis de Artefactos Tecnologicos (3) (1).pdf
Análisis de Artefactos Tecnologicos  (3) (1).pdfAnálisis de Artefactos Tecnologicos  (3) (1).pdf
Análisis de Artefactos Tecnologicos (3) (1).pdf
 
Actividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolarActividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolar
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
 
Herramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfHerramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdf
 
Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power Point
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos Juridicos
 
Viguetas Pretensadas en concreto armado
Viguetas Pretensadas  en concreto armadoViguetas Pretensadas  en concreto armado
Viguetas Pretensadas en concreto armado
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
Slideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan GerenciaSlideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan Gerencia
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
 
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxPLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
 
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
 
La tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedadLa tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedad
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdf
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 Testcontainers
 

BcnDevCon12 - CQRS explicado a mi compañero arquitecto

  • 1. Edin Kapić & Marçal Serrate CQRS (explicado a mi compañero arquitecto) BARCELONA DEVELOPERS CONFERENCE 2012 6 dic – 7 dic – 8 dic
  • 2. www.pasiona.com info@pasiona.com (+34) 669 333 333 @pasiona Barcelona Bilbao Madrid Londres Pujades 350, 10ª planta Gran Vía 19-21, 2ª planta Pinar 5, 1 Northumberland Avenue 08019 · Barcelona 48008 · Bilbao 28006 · Madrid London · WC2N 5BW
  • 3. Qué es Microsoft Innovación Pasión socio 100% alineado ligada a la mejora continua y basada somos grandes entusiastas de todo partner 100% especializado en las nuevas oportunidades tecnológicas aquello que creamos y vemos crecer Desarrollo Tecnología Experiencia capacidad para realizar proyectos de soluciones a cada una de las necesidades o la garantía de la habilidad derivada ámbito tecnológico con un fin de mejora empresariales que se platean en cada ámbito de años de vivencias y observación Especialización Conocimiento Valores humanos ofrecemos soluciones a medida con adquirido a través de la realización de guía de lo que hacemos y pretendemos las mejores herramientas tecnológicas proyectos, formación e innovación tecnológica que nos enseña y nos conduce día a día
  • 4. Servicios Consultoría Proyectos Auditoría Servicios Social Formación profesionales Media Innovación Azure
  • 5.
  • 6. Edin Kapić Key Consultant en pasiona Consulting Divulgador Tecnológico en Fundación Techdencias @ekapic ekapic@pasiona.com ekapic@techdencias.net Marçal Serrate Key Consultant en pasiona Consulting Divulgador Tecnológico en Fundación Techdencias @mserrate mserrate@pasiona.com www.serrate.net
  • 12. Teorema CAP "Bin Laden" Explica por que no podemos tenerlo todo. Eric Brewer, 2002
  • 14. Consistencia eventual  El precio que pagamos según la CAP.*  Ventana de inconsistencia  Datos viejos *En RDBMS pagamos con la no tolerancia a particiones. No hay nada gratis.
  • 15. ¿Datos viejos?  Formulario en papel  aplicación CRUD  Ideal para una aplicación individual  Aplicación multiusuario o cliente-servidor  “Datos viejos” por naturaleza  Nos inventamos varias cosas para huir de este hecho, sin éxito
  • 16.
  • 17.
  • 18. Presentación Controlador DTO Servicios Dominio Repositorio SQL DB
  • 19. Front-End Presentación Controlador DTO Back-End Servicios Dominio Repositorio SQL Base de datos DB
  • 20. Presentación Controlador de servicios DTO Comandos Servicios de consulta Servicios de comandos Acceso a datos Dominio Repositorio Consultas SQL Sincronización Almacén de DB consulta
  • 21. Presentación Controlador de servicios Query DTO Comandos Command Servicios de consulta Servicios de comandos Acceso a datos Responsibility Dominio Segregation Repositorio Consultas SQL Sincronización Almacén de DB consulta
  • 23. Query  Modelo de lectura != modelo de dominio  View Model, Data Binding  “One Table per View”  NoSQL  La denormalización es bienvenida
  • 25. Command  Captura la intención, no sólo los datos  Es un mensaje, no contiene lógica de dominio  Es asíncrono por naturaleza  Es un verbo  Dispara una actualización del modelo de dominio
  • 26. Eventos  Cambio en el estado del sistema  Se suelen usar para disparar la sincronización con el modelo de consulta  Fundamentos del Event Sourcing Me gusta que me haga esa pregunta....
  • 28. ACID BASE DocumentStore IndexStore Insert Delete Queries Update
  • 31. Moraleja CQRS no es la respuesta a todo pero es una manera diferente de atacar algunos problemas de las aplicaciones actuales. http://www.udidahan.com/2009/12/09/clarified-cqrs/ https://github.com/ncqrs/ncqrs http://msdn.microsoft.com/en-us/library/jj554200.aspx
  • 32. Edin Kapić CQRS.Q && CQRS.A @ekapic ekapic@pasiona.com ekapic@techdencias.net Marçal Serrate @mserrate mserrate@pasiona.com www.serrate.net
  • 33. BARCELONA DEVELOPERS CONFERENCE 2012 | 6 dic – 7 dic – 8 dic