SlideShare a Scribd company logo
1 of 12
CQRS, Event Sourcing Simplicity / Complexity AshicMahtabhttp://www.heartysoft.com@ashic
UI DB Schema Validation DTO Transformation Controller DTO Transformation Service Repository “Domain” IoC Containers Projection Caching Lazy Loading Leaky “Pointless” Abstractions
Simple, right?
I Hold Data(Just the way you want it) I Did Stuff Gimme Some Data I Do Stuff Please Do Stuff Application
ReadModel I Did Stuff Gimme Some Data Domain Please Do Stuff Application
Event Bus I Hold Data(Just the way you want it) Domain I Did Stuff Gimme Some Data Read Model I Do Stuff Please Do Stuff Application Command Service
Testing When_doing_tranche_payment_with… What about changes? Does “refactoring” require you to change tests? That’s not refactoring. Is the “BDD” output really human readable?
Testing with Events Given:-An account with account holder named “John”, account id=1243, account type=Silver-Account 1243 is debited £200 When a request is made to withdraw £300 from account 1243 The request should fail stating “Account limit will be exceeded” as the reason. [pass]
Adding new features to existing application
Performance
Resources www.cqrsinfo.com Jonathan Oliver’s blog RinatAbdullin’s blog Ncqrs (github) Google groups for CQRS / DDDD and Ncqrs

More Related Content

Viewers also liked

The Museum of Tomorrow
The Museum of TomorrowThe Museum of Tomorrow
The Museum of Tomorrowfcmdsc
 
Lavoro E Immigrazione Nova Milanese 29 Aprile 2009
Lavoro E Immigrazione   Nova Milanese 29 Aprile 2009Lavoro E Immigrazione   Nova Milanese 29 Aprile 2009
Lavoro E Immigrazione Nova Milanese 29 Aprile 2009Olijohn
 
Spangas Cinekid 22 october 2009 Amsterdam
Spangas Cinekid 22 october 2009 AmsterdamSpangas Cinekid 22 october 2009 Amsterdam
Spangas Cinekid 22 october 2009 AmsterdamWilko van Iperen
 
V1mobile futures enable presentation v1
V1mobile futures enable presentation v1V1mobile futures enable presentation v1
V1mobile futures enable presentation v1Gihan Lahoud
 
Leletezés, struktúrált leletezés és RadReport
Leletezés, struktúrált leletezés és RadReportLeletezés, struktúrált leletezés és RadReport
Leletezés, struktúrált leletezés és RadReportPéter Bágyi M.D.
 
ribbit..inc_portfolio 2017©
ribbit..inc_portfolio 2017©ribbit..inc_portfolio 2017©
ribbit..inc_portfolio 2017©ribbitrocks
 
Social Networking - Personal learning networts 2013 june tafe managers
Social Networking - Personal learning networts 2013 june tafe managersSocial Networking - Personal learning networts 2013 june tafe managers
Social Networking - Personal learning networts 2013 june tafe managersGihan Lahoud
 
ISO 9712 - Vantaggi o svantaggi?
ISO 9712 - Vantaggi o svantaggi?ISO 9712 - Vantaggi o svantaggi?
ISO 9712 - Vantaggi o svantaggi?Olijohn
 
Mining of massive datasets
Mining of massive datasetsMining of massive datasets
Mining of massive datasetsAshic Mahtab
 
Wwek 1 Literacy Tues Afternoon 2009
Wwek 1 Literacy Tues Afternoon 2009Wwek 1 Literacy Tues Afternoon 2009
Wwek 1 Literacy Tues Afternoon 2009Gihan Lahoud
 
Presentatie Iv Industrie
Presentatie Iv IndustriePresentatie Iv Industrie
Presentatie Iv IndustrieTriesscheijn
 
Agriculture
AgricultureAgriculture
Agriculturejespi
 
D+c 2011 03 – focus – robles why filipinos have reason to fear their nation’...
D+c 2011 03 – focus – robles  why filipinos have reason to fear their nation’...D+c 2011 03 – focus – robles  why filipinos have reason to fear their nation’...
D+c 2011 03 – focus – robles why filipinos have reason to fear their nation’...hotmanila
 
Urogenitalis képalkotó vizsgálati protokollok
Urogenitalis képalkotó vizsgálati protokollokUrogenitalis képalkotó vizsgálati protokollok
Urogenitalis képalkotó vizsgálati protokollokPéter Bágyi M.D.
 
Aan de slag met social media
Aan de slag met social mediaAan de slag met social media
Aan de slag met social mediahallofryslan
 
Képalkotó diagnosztikai eljárások szabványos negatív leletei (2009.v.3.)
Képalkotó diagnosztikai eljárások szabványos negatív leletei (2009.v.3.)Képalkotó diagnosztikai eljárások szabványos negatív leletei (2009.v.3.)
Képalkotó diagnosztikai eljárások szabványos negatív leletei (2009.v.3.)Péter Bágyi M.D.
 
Adobe connect set up instructions str
Adobe connect set up instructions strAdobe connect set up instructions str
Adobe connect set up instructions strGihan Lahoud
 

Viewers also liked (20)

The Museum of Tomorrow
The Museum of TomorrowThe Museum of Tomorrow
The Museum of Tomorrow
 
Lavoro E Immigrazione Nova Milanese 29 Aprile 2009
Lavoro E Immigrazione   Nova Milanese 29 Aprile 2009Lavoro E Immigrazione   Nova Milanese 29 Aprile 2009
Lavoro E Immigrazione Nova Milanese 29 Aprile 2009
 
Spangas Cinekid 22 october 2009 Amsterdam
Spangas Cinekid 22 october 2009 AmsterdamSpangas Cinekid 22 october 2009 Amsterdam
Spangas Cinekid 22 october 2009 Amsterdam
 
V1mobile futures enable presentation v1
V1mobile futures enable presentation v1V1mobile futures enable presentation v1
V1mobile futures enable presentation v1
 
Leletezés, struktúrált leletezés és RadReport
Leletezés, struktúrált leletezés és RadReportLeletezés, struktúrált leletezés és RadReport
Leletezés, struktúrált leletezés és RadReport
 
ribbit..inc_portfolio 2017©
ribbit..inc_portfolio 2017©ribbit..inc_portfolio 2017©
ribbit..inc_portfolio 2017©
 
Social Networking - Personal learning networts 2013 june tafe managers
Social Networking - Personal learning networts 2013 june tafe managersSocial Networking - Personal learning networts 2013 june tafe managers
Social Networking - Personal learning networts 2013 june tafe managers
 
ISO 9712 - Vantaggi o svantaggi?
ISO 9712 - Vantaggi o svantaggi?ISO 9712 - Vantaggi o svantaggi?
ISO 9712 - Vantaggi o svantaggi?
 
Mining of massive datasets
Mining of massive datasetsMining of massive datasets
Mining of massive datasets
 
Wwek 1 Literacy Tues Afternoon 2009
Wwek 1 Literacy Tues Afternoon 2009Wwek 1 Literacy Tues Afternoon 2009
Wwek 1 Literacy Tues Afternoon 2009
 
Mediaproof def
Mediaproof defMediaproof def
Mediaproof def
 
Presentatie Iv Industrie
Presentatie Iv IndustriePresentatie Iv Industrie
Presentatie Iv Industrie
 
Agriculture
AgricultureAgriculture
Agriculture
 
D+c 2011 03 – focus – robles why filipinos have reason to fear their nation’...
D+c 2011 03 – focus – robles  why filipinos have reason to fear their nation’...D+c 2011 03 – focus – robles  why filipinos have reason to fear their nation’...
D+c 2011 03 – focus – robles why filipinos have reason to fear their nation’...
 
Urogenitalis képalkotó vizsgálati protokollok
Urogenitalis képalkotó vizsgálati protokollokUrogenitalis képalkotó vizsgálati protokollok
Urogenitalis képalkotó vizsgálati protokollok
 
Emus
EmusEmus
Emus
 
My Wish for Jacinda
My Wish for JacindaMy Wish for Jacinda
My Wish for Jacinda
 
Aan de slag met social media
Aan de slag met social mediaAan de slag met social media
Aan de slag met social media
 
Képalkotó diagnosztikai eljárások szabványos negatív leletei (2009.v.3.)
Képalkotó diagnosztikai eljárások szabványos negatív leletei (2009.v.3.)Képalkotó diagnosztikai eljárások szabványos negatív leletei (2009.v.3.)
Képalkotó diagnosztikai eljárások szabványos negatív leletei (2009.v.3.)
 
Adobe connect set up instructions str
Adobe connect set up instructions strAdobe connect set up instructions str
Adobe connect set up instructions str
 

Similar to Cqrs, Event Sourcing

Building and deploying microservices with event sourcing, CQRS and Docker (QC...
Building and deploying microservices with event sourcing, CQRS and Docker (QC...Building and deploying microservices with event sourcing, CQRS and Docker (QC...
Building and deploying microservices with event sourcing, CQRS and Docker (QC...Chris Richardson
 
Patterns and Practices for Event Design With Adam Bellemare | Current 2022
Patterns and Practices for Event Design With Adam Bellemare | Current 2022Patterns and Practices for Event Design With Adam Bellemare | Current 2022
Patterns and Practices for Event Design With Adam Bellemare | Current 2022HostedbyConfluent
 
Powering Consistent, High-throughput, Real-time Distributed Calculation Engin...
Powering Consistent, High-throughput, Real-time Distributed Calculation Engin...Powering Consistent, High-throughput, Real-time Distributed Calculation Engin...
Powering Consistent, High-throughput, Real-time Distributed Calculation Engin...HostedbyConfluent
 
Events to the rescue: solving distributed data problems in a microservice arc...
Events to the rescue: solving distributed data problems in a microservice arc...Events to the rescue: solving distributed data problems in a microservice arc...
Events to the rescue: solving distributed data problems in a microservice arc...Chris Richardson
 
Building Microservices with Scala, functional domain models and Spring Boot -...
Building Microservices with Scala, functional domain models and Spring Boot -...Building Microservices with Scala, functional domain models and Spring Boot -...
Building Microservices with Scala, functional domain models and Spring Boot -...JAXLondon2014
 
#JaxLondon: Building microservices with Scala, functional domain models and S...
#JaxLondon: Building microservices with Scala, functional domain models and S...#JaxLondon: Building microservices with Scala, functional domain models and S...
#JaxLondon: Building microservices with Scala, functional domain models and S...Chris Richardson
 
Developing functional domain models with event sourcing (oakjug, sfscala)
Developing functional domain models with event sourcing (oakjug, sfscala)Developing functional domain models with event sourcing (oakjug, sfscala)
Developing functional domain models with event sourcing (oakjug, sfscala)Chris Richardson
 
Practical Ruby Projects (Alex Sharp)
Practical Ruby Projects (Alex Sharp)Practical Ruby Projects (Alex Sharp)
Practical Ruby Projects (Alex Sharp)MongoSF
 
Practical Ruby Projects with MongoDB - MongoSF
Practical Ruby Projects with MongoDB - MongoSFPractical Ruby Projects with MongoDB - MongoSF
Practical Ruby Projects with MongoDB - MongoSFAlex Sharp
 
Building and deploying microservices with event sourcing, CQRS and Docker (Ha...
Building and deploying microservices with event sourcing, CQRS and Docker (Ha...Building and deploying microservices with event sourcing, CQRS and Docker (Ha...
Building and deploying microservices with event sourcing, CQRS and Docker (Ha...Chris Richardson
 
Developing event-driven microservices with event sourcing and CQRS (svcc, sv...
Developing event-driven microservices with event sourcing and CQRS  (svcc, sv...Developing event-driven microservices with event sourcing and CQRS  (svcc, sv...
Developing event-driven microservices with event sourcing and CQRS (svcc, sv...Chris Richardson
 
Keep Your Code Low, Low, Low, Low, Low: Getting to Digitally Driven With Orac...
Keep Your Code Low, Low, Low, Low, Low: Getting to Digitally Driven With Orac...Keep Your Code Low, Low, Low, Low, Low: Getting to Digitally Driven With Orac...
Keep Your Code Low, Low, Low, Low, Low: Getting to Digitally Driven With Orac...Jim Czuprynski
 
Developing Event-driven Microservices with Event Sourcing & CQRS (gotoams)
Developing Event-driven Microservices with Event Sourcing & CQRS (gotoams)Developing Event-driven Microservices with Event Sourcing & CQRS (gotoams)
Developing Event-driven Microservices with Event Sourcing & CQRS (gotoams)Chris Richardson
 
JavaOne2017: ACID Is So Yesterday: Maintaining Data Consistency with Sagas
JavaOne2017: ACID Is So Yesterday: Maintaining Data Consistency with SagasJavaOne2017: ACID Is So Yesterday: Maintaining Data Consistency with Sagas
JavaOne2017: ACID Is So Yesterday: Maintaining Data Consistency with SagasChris Richardson
 
Event-Driven Systems With MongoDB
Event-Driven Systems With MongoDBEvent-Driven Systems With MongoDB
Event-Driven Systems With MongoDBAndrii Litvinov
 

Similar to Cqrs, Event Sourcing (20)

Building and deploying microservices with event sourcing, CQRS and Docker (QC...
Building and deploying microservices with event sourcing, CQRS and Docker (QC...Building and deploying microservices with event sourcing, CQRS and Docker (QC...
Building and deploying microservices with event sourcing, CQRS and Docker (QC...
 
Payments On Rails
Payments On RailsPayments On Rails
Payments On Rails
 
Patterns and Practices for Event Design With Adam Bellemare | Current 2022
Patterns and Practices for Event Design With Adam Bellemare | Current 2022Patterns and Practices for Event Design With Adam Bellemare | Current 2022
Patterns and Practices for Event Design With Adam Bellemare | Current 2022
 
Powering Consistent, High-throughput, Real-time Distributed Calculation Engin...
Powering Consistent, High-throughput, Real-time Distributed Calculation Engin...Powering Consistent, High-throughput, Real-time Distributed Calculation Engin...
Powering Consistent, High-throughput, Real-time Distributed Calculation Engin...
 
When the connection fails
When the connection failsWhen the connection fails
When the connection fails
 
Events to the rescue: solving distributed data problems in a microservice arc...
Events to the rescue: solving distributed data problems in a microservice arc...Events to the rescue: solving distributed data problems in a microservice arc...
Events to the rescue: solving distributed data problems in a microservice arc...
 
Building Microservices with Scala, functional domain models and Spring Boot -...
Building Microservices with Scala, functional domain models and Spring Boot -...Building Microservices with Scala, functional domain models and Spring Boot -...
Building Microservices with Scala, functional domain models and Spring Boot -...
 
#JaxLondon: Building microservices with Scala, functional domain models and S...
#JaxLondon: Building microservices with Scala, functional domain models and S...#JaxLondon: Building microservices with Scala, functional domain models and S...
#JaxLondon: Building microservices with Scala, functional domain models and S...
 
Developing functional domain models with event sourcing (oakjug, sfscala)
Developing functional domain models with event sourcing (oakjug, sfscala)Developing functional domain models with event sourcing (oakjug, sfscala)
Developing functional domain models with event sourcing (oakjug, sfscala)
 
Practical Ruby Projects (Alex Sharp)
Practical Ruby Projects (Alex Sharp)Practical Ruby Projects (Alex Sharp)
Practical Ruby Projects (Alex Sharp)
 
Practical Ruby Projects with MongoDB - MongoSF
Practical Ruby Projects with MongoDB - MongoSFPractical Ruby Projects with MongoDB - MongoSF
Practical Ruby Projects with MongoDB - MongoSF
 
Building and deploying microservices with event sourcing, CQRS and Docker (Ha...
Building and deploying microservices with event sourcing, CQRS and Docker (Ha...Building and deploying microservices with event sourcing, CQRS and Docker (Ha...
Building and deploying microservices with event sourcing, CQRS and Docker (Ha...
 
Developing event-driven microservices with event sourcing and CQRS (svcc, sv...
Developing event-driven microservices with event sourcing and CQRS  (svcc, sv...Developing event-driven microservices with event sourcing and CQRS  (svcc, sv...
Developing event-driven microservices with event sourcing and CQRS (svcc, sv...
 
Using Embulk at Treasure Data
Using Embulk at Treasure DataUsing Embulk at Treasure Data
Using Embulk at Treasure Data
 
Keep Your Code Low, Low, Low, Low, Low: Getting to Digitally Driven With Orac...
Keep Your Code Low, Low, Low, Low, Low: Getting to Digitally Driven With Orac...Keep Your Code Low, Low, Low, Low, Low: Getting to Digitally Driven With Orac...
Keep Your Code Low, Low, Low, Low, Low: Getting to Digitally Driven With Orac...
 
Serverless and IoT
Serverless and IoTServerless and IoT
Serverless and IoT
 
Developing Event-driven Microservices with Event Sourcing & CQRS (gotoams)
Developing Event-driven Microservices with Event Sourcing & CQRS (gotoams)Developing Event-driven Microservices with Event Sourcing & CQRS (gotoams)
Developing Event-driven Microservices with Event Sourcing & CQRS (gotoams)
 
Select * From Internet
Select * From InternetSelect * From Internet
Select * From Internet
 
JavaOne2017: ACID Is So Yesterday: Maintaining Data Consistency with Sagas
JavaOne2017: ACID Is So Yesterday: Maintaining Data Consistency with SagasJavaOne2017: ACID Is So Yesterday: Maintaining Data Consistency with Sagas
JavaOne2017: ACID Is So Yesterday: Maintaining Data Consistency with Sagas
 
Event-Driven Systems With MongoDB
Event-Driven Systems With MongoDBEvent-Driven Systems With MongoDB
Event-Driven Systems With MongoDB
 

Recently uploaded

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 

Recently uploaded (20)

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 

Cqrs, Event Sourcing

  • 1. CQRS, Event Sourcing Simplicity / Complexity AshicMahtabhttp://www.heartysoft.com@ashic
  • 2.
  • 3. UI DB Schema Validation DTO Transformation Controller DTO Transformation Service Repository “Domain” IoC Containers Projection Caching Lazy Loading Leaky “Pointless” Abstractions
  • 5. I Hold Data(Just the way you want it) I Did Stuff Gimme Some Data I Do Stuff Please Do Stuff Application
  • 6. ReadModel I Did Stuff Gimme Some Data Domain Please Do Stuff Application
  • 7. Event Bus I Hold Data(Just the way you want it) Domain I Did Stuff Gimme Some Data Read Model I Do Stuff Please Do Stuff Application Command Service
  • 8. Testing When_doing_tranche_payment_with… What about changes? Does “refactoring” require you to change tests? That’s not refactoring. Is the “BDD” output really human readable?
  • 9. Testing with Events Given:-An account with account holder named “John”, account id=1243, account type=Silver-Account 1243 is debited £200 When a request is made to withdraw £300 from account 1243 The request should fail stating “Account limit will be exceeded” as the reason. [pass]
  • 10. Adding new features to existing application
  • 12. Resources www.cqrsinfo.com Jonathan Oliver’s blog RinatAbdullin’s blog Ncqrs (github) Google groups for CQRS / DDDD and Ncqrs