ºÝºÝߣ

ºÝºÝߣShare a Scribd company logo
Command Query Responsibility
Segregation
In Babysteps
@talboomerik
Founder of Software craftsmanship guild Belgium
@talboomerik
Thanks to
@yreynhout @alastairs
@sandromancuso @adibolb
And a special thanks to
@StefanBilliet
ENTRY LEVEL INTRODUCTION
@talboomerik
WHERE DID IT COME FROM?
A little history
@talboomerik
Command and Query Separation
It states that every method should either be a
command that performs an action, or a query that
returns data to the caller, but not both. In other
words, asking a question should not change the
answer. More formally, methods should return a
value only if they are referentially transparent and
hence possess no side effects.
Wikipedia - Bertrand Meyer
@talboomerik
IF YOU HAVE A RETURN TYPE, YOU
SHOULD NOT CHANGE STATE
Query
@talboomerik
IF YOU CHANGE STATE YOUR
RETURN TYPE SHOULD BE VOID
Command
@talboomerik
BASICALLY CQRS IS CQS SPLIT IN
DIFFERENT OBJECTS
The simple definition
@talboomerik
QUERY OBJECTS OVER QUERY
SERVICES / REPOSITORIES
http://lostechies.com/jimmybogard/2012/10/08/favor-query-objects-over-repositories/
@talboomerik
WHAT IS THIS ALL ABOUT?
What¡¯s the fuss
@talboomerik
YOUR TYPICAL N-TIER
ARCHITECTURE
@talboomerik
http://codeofrob.com/entries/cqrs-is-too-complicated.html
REMEMBER WHAT UNCLE SANDRO
SHOWED US?
Cqrs in babysteps
FEELS FAMILIAR?
@talboomerik
WE CAN MAKE THIS SIMPLER
@talboomerik
http://codeofrob.com/entries/cqrs-is-too-complicated.html
REMOVING QUERIES FROM YOUR
DOMAIN MODEL
@talboomerik
@sandromancuso
@sandromancuso
LET¡¯S TAKE IT ONE STEP FURTHER
If needed
@talboomerik
http://codeofrob.com/entries/cqrs-is-too-complicated.html
OR EVEN FURTHER
If applicable
@talboomerik
http://codeofrob.com/entries/cqrs-is-too-complicated.html
HOW TO SYNCHRONIZE
READ/WRITE?
@talboomerik
DOMAIN EVENTS
A cool pattern
@talboomerik
LET¡¯S HAVE A LOOK AT SOME CODE
@talboomerik
TAKING IT TO ANOTHER LEVEL
Event sourcing
@talboomerik
FOCUSING ON BEHAVIOR INSTEAD
OF STATE
@talboomerik
http://codeofrob.com/entries/cqrs-is-too-complicated.html
SOME MISCONCEPTIONS ABOUT
CQRS
@talboomerik
CQRS <> DDD
It¡¯s not the same
@talboomerik
CQRS <> EVENT SOURCING
They just go well together
http://lostechies.com/jimmybogard/2012/08/22/busting-some-cqrs-myths/
@talboomerik
CQRS CAN HAVE AN IMMEDIATE
CONSISTENT READ STORE
http://lostechies.com/jimmybogard/2012/08/22/busting-some-cqrs-myths/
@talboomerik
CQRS DOES NOT FORCE YOU TO USE
A BUS
http://lostechies.com/jimmybogard/2012/08/22/busting-some-cqrs-myths/
@talboomerik
COMMANDS DO NOT NEED TO BE
FIRE-AND-FORGET
Accepting the request vs Fulfilling the request
http://lostechies.com/jimmybogard/2012/08/22/busting-some-cqrs-myths/
@talboomerik
WHY IS THIS A GOOD IDEA?
Pros and cons
@talboomerik
SIMPLER DOMAIN MODEL
By splitting
@talboomerik
BETTER SEPARATION OF CONCERNS
AND RESPONSIBILITIES
@talboomerik
SCALABILITY
Technical and team
@talboomerik
COMPLETE REBUILD OF THE
APPLICATION STATE THROUGH EVENT
SOURCING
http://martinfowler.com/eaaDev/EventSourcing.html
@talboomerik
TEMPORAL QUERYING
Replay history
http://martinfowler.com/eaaDev/EventSourcing.html
@talboomerik
AUDIT LOG
I see you
http://martinfowler.com/eaaDev/EventSourcing.html
@talboomerik
IT DOES REQUIRE ¡°SOME¡± WORK
UPFRONT
Set up infrastructure
@talboomerik
IT WORKS BEST WITH TASK-BASED
UI
Delivery mechanism and domain architecture need to collaborate
IT IS NOT EASY
It¡¯s a big shift from what we are used to
@talboomerik
HOW CAN WE GET THIS DONE?
Code, show us code
@talboomerik
THANK YOU
That¡¯s all folks
@talboomerik

More Related Content

Viewers also liked (8)

BDD with Cucumber-JVM as presented at I T.A.K.E. Unconference in Bucharest 2014
BDD with Cucumber-JVM as presented at I T.A.K.E. Unconference in Bucharest 2014BDD with Cucumber-JVM as presented at I T.A.K.E. Unconference in Bucharest 2014
BDD with Cucumber-JVM as presented at I T.A.K.E. Unconference in Bucharest 2014
TSundberg
?
Sandro Mancuso - Software Craftmanship @ I T.A.K.E. Unconference 2013, Bucharest
Sandro Mancuso - Software Craftmanship @ I T.A.K.E. Unconference 2013, BucharestSandro Mancuso - Software Craftmanship @ I T.A.K.E. Unconference 2013, Bucharest
Sandro Mancuso - Software Craftmanship @ I T.A.K.E. Unconference 2013, Bucharest
Mozaic Works
?
Erik talboom - TDD as if The Baby Meant it @I T.A.K.E. Unconference 2013, Buc...
Erik talboom - TDD as if The Baby Meant it @I T.A.K.E. Unconference 2013, Buc...Erik talboom - TDD as if The Baby Meant it @I T.A.K.E. Unconference 2013, Buc...
Erik talboom - TDD as if The Baby Meant it @I T.A.K.E. Unconference 2013, Buc...
Mozaic Works
?
Sandro Mancuso ¨C Testing and refactoring legacy code @ I T.A.K.E. Unconferenc...
Sandro Mancuso ¨C Testing and refactoring legacy code @ I T.A.K.E. Unconferenc...Sandro Mancuso ¨C Testing and refactoring legacy code @ I T.A.K.E. Unconferenc...
Sandro Mancuso ¨C Testing and refactoring legacy code @ I T.A.K.E. Unconferenc...
Mozaic Works
?
Simplifying your design with higher-order functions
Simplifying your design with higher-order functionsSimplifying your design with higher-order functions
Simplifying your design with higher-order functions
Samir Talwar
?
I T.A.K.E. talk: "When DDD meets FP, good things happen"
I T.A.K.E. talk: "When DDD meets FP, good things happen"I T.A.K.E. talk: "When DDD meets FP, good things happen"
I T.A.K.E. talk: "When DDD meets FP, good things happen"
Cyrille Martraire
?
The Good the Bad and the Ugly of Dealing with Smelly Code (ITAKE Unconference)
The Good the Bad and the Ugly of Dealing with Smelly Code (ITAKE Unconference)The Good the Bad and the Ugly of Dealing with Smelly Code (ITAKE Unconference)
The Good the Bad and the Ugly of Dealing with Smelly Code (ITAKE Unconference)
Radu Marinescu
?
Microservice Architecture with CQRS and Event Sourcing
Microservice Architecture with CQRS and Event SourcingMicroservice Architecture with CQRS and Event Sourcing
Microservice Architecture with CQRS and Event Sourcing
Ben Wilcock
?
BDD with Cucumber-JVM as presented at I T.A.K.E. Unconference in Bucharest 2014
BDD with Cucumber-JVM as presented at I T.A.K.E. Unconference in Bucharest 2014BDD with Cucumber-JVM as presented at I T.A.K.E. Unconference in Bucharest 2014
BDD with Cucumber-JVM as presented at I T.A.K.E. Unconference in Bucharest 2014
TSundberg
?
Sandro Mancuso - Software Craftmanship @ I T.A.K.E. Unconference 2013, Bucharest
Sandro Mancuso - Software Craftmanship @ I T.A.K.E. Unconference 2013, BucharestSandro Mancuso - Software Craftmanship @ I T.A.K.E. Unconference 2013, Bucharest
Sandro Mancuso - Software Craftmanship @ I T.A.K.E. Unconference 2013, Bucharest
Mozaic Works
?
Erik talboom - TDD as if The Baby Meant it @I T.A.K.E. Unconference 2013, Buc...
Erik talboom - TDD as if The Baby Meant it @I T.A.K.E. Unconference 2013, Buc...Erik talboom - TDD as if The Baby Meant it @I T.A.K.E. Unconference 2013, Buc...
Erik talboom - TDD as if The Baby Meant it @I T.A.K.E. Unconference 2013, Buc...
Mozaic Works
?
Sandro Mancuso ¨C Testing and refactoring legacy code @ I T.A.K.E. Unconferenc...
Sandro Mancuso ¨C Testing and refactoring legacy code @ I T.A.K.E. Unconferenc...Sandro Mancuso ¨C Testing and refactoring legacy code @ I T.A.K.E. Unconferenc...
Sandro Mancuso ¨C Testing and refactoring legacy code @ I T.A.K.E. Unconferenc...
Mozaic Works
?
Simplifying your design with higher-order functions
Simplifying your design with higher-order functionsSimplifying your design with higher-order functions
Simplifying your design with higher-order functions
Samir Talwar
?
I T.A.K.E. talk: "When DDD meets FP, good things happen"
I T.A.K.E. talk: "When DDD meets FP, good things happen"I T.A.K.E. talk: "When DDD meets FP, good things happen"
I T.A.K.E. talk: "When DDD meets FP, good things happen"
Cyrille Martraire
?
The Good the Bad and the Ugly of Dealing with Smelly Code (ITAKE Unconference)
The Good the Bad and the Ugly of Dealing with Smelly Code (ITAKE Unconference)The Good the Bad and the Ugly of Dealing with Smelly Code (ITAKE Unconference)
The Good the Bad and the Ugly of Dealing with Smelly Code (ITAKE Unconference)
Radu Marinescu
?
Microservice Architecture with CQRS and Event Sourcing
Microservice Architecture with CQRS and Event SourcingMicroservice Architecture with CQRS and Event Sourcing
Microservice Architecture with CQRS and Event Sourcing
Ben Wilcock
?

Similar to Cqrs in babysteps (6)

Domain Driven Rails
Domain Driven RailsDomain Driven Rails
Domain Driven Rails
Yan Pritzker
?
The Worst Technical SEO Nightmares and How to Avoid Them
The Worst Technical SEO Nightmares and How to Avoid ThemThe Worst Technical SEO Nightmares and How to Avoid Them
The Worst Technical SEO Nightmares and How to Avoid Them
Aleyda Sol¨ªs
?
tweetchat-leds
tweetchat-ledstweetchat-leds
tweetchat-leds
Casey Meserve
?
Contributing to WordPress Core
Contributing to WordPress CoreContributing to WordPress Core
Contributing to WordPress Core
Jeffrey Pearce
?
TDD That Was Easy!
TDD   That Was Easy!TDD   That Was Easy!
TDD That Was Easy!
Kaizenko
?
Migrating existing monolith to serverless in 8 steps
Migrating existing monolith to serverless in 8 stepsMigrating existing monolith to serverless in 8 steps
Migrating existing monolith to serverless in 8 steps
Yan Cui
?
The Worst Technical SEO Nightmares and How to Avoid Them
The Worst Technical SEO Nightmares and How to Avoid ThemThe Worst Technical SEO Nightmares and How to Avoid Them
The Worst Technical SEO Nightmares and How to Avoid Them
Aleyda Sol¨ªs
?
Contributing to WordPress Core
Contributing to WordPress CoreContributing to WordPress Core
Contributing to WordPress Core
Jeffrey Pearce
?
TDD That Was Easy!
TDD   That Was Easy!TDD   That Was Easy!
TDD That Was Easy!
Kaizenko
?
Migrating existing monolith to serverless in 8 steps
Migrating existing monolith to serverless in 8 stepsMigrating existing monolith to serverless in 8 steps
Migrating existing monolith to serverless in 8 steps
Yan Cui
?

More from Erik Talboom (7)

Docker for dev
Docker for devDocker for dev
Docker for dev
Erik Talboom
?
Gamestorming (opnieuw) leren samen spelen
Gamestorming  (opnieuw) leren samen spelenGamestorming  (opnieuw) leren samen spelen
Gamestorming (opnieuw) leren samen spelen
Erik Talboom
?
Why agile - ING bootcamp
Why agile - ING bootcampWhy agile - ING bootcamp
Why agile - ING bootcamp
Erik Talboom
?
AgileTour2010 Belgium - Ghent: Keynote
AgileTour2010 Belgium - Ghent: KeynoteAgileTour2010 Belgium - Ghent: Keynote
AgileTour2010 Belgium - Ghent: Keynote
Erik Talboom
?
AgileTour2010 Ghent Keynote
AgileTour2010 Ghent KeynoteAgileTour2010 Ghent Keynote
AgileTour2010 Ghent Keynote
Erik Talboom
?
Agile software developement
Agile software developementAgile software developement
Agile software developement
Erik Talboom
?
The agile state of mind
The agile state of mindThe agile state of mind
The agile state of mind
Erik Talboom
?
Gamestorming (opnieuw) leren samen spelen
Gamestorming  (opnieuw) leren samen spelenGamestorming  (opnieuw) leren samen spelen
Gamestorming (opnieuw) leren samen spelen
Erik Talboom
?
Why agile - ING bootcamp
Why agile - ING bootcampWhy agile - ING bootcamp
Why agile - ING bootcamp
Erik Talboom
?
AgileTour2010 Belgium - Ghent: Keynote
AgileTour2010 Belgium - Ghent: KeynoteAgileTour2010 Belgium - Ghent: Keynote
AgileTour2010 Belgium - Ghent: Keynote
Erik Talboom
?
AgileTour2010 Ghent Keynote
AgileTour2010 Ghent KeynoteAgileTour2010 Ghent Keynote
AgileTour2010 Ghent Keynote
Erik Talboom
?
Agile software developement
Agile software developementAgile software developement
Agile software developement
Erik Talboom
?
The agile state of mind
The agile state of mindThe agile state of mind
The agile state of mind
Erik Talboom
?

Recently uploaded (20)

The Future of Repair: Transparent and Incremental by Botond De?nes
The Future of Repair: Transparent and Incremental by Botond De?nesThe Future of Repair: Transparent and Incremental by Botond De?nes
The Future of Repair: Transparent and Incremental by Botond De?nes
ScyllaDB
?
Unlocking DevOps Secuirty :Vault & Keylock
Unlocking DevOps Secuirty :Vault & KeylockUnlocking DevOps Secuirty :Vault & Keylock
Unlocking DevOps Secuirty :Vault & Keylock
HusseinMalikMammadli
?
L01 Introduction to Nanoindentation - What is hardness
L01 Introduction to Nanoindentation - What is hardnessL01 Introduction to Nanoindentation - What is hardness
L01 Introduction to Nanoindentation - What is hardness
RostislavDaniel
?
What Makes "Deep Research"? A Dive into AI Agents
What Makes "Deep Research"? A Dive into AI AgentsWhat Makes "Deep Research"? A Dive into AI Agents
What Makes "Deep Research"? A Dive into AI Agents
Zilliz
?
DAO UTokyo 2025 DLT mass adoption case studies IBM Tsuyoshi Hirayama (ƽɽÒã)
DAO UTokyo 2025 DLT mass adoption case studies IBM Tsuyoshi Hirayama (ƽɽÒã)DAO UTokyo 2025 DLT mass adoption case studies IBM Tsuyoshi Hirayama (ƽɽÒã)
DAO UTokyo 2025 DLT mass adoption case studies IBM Tsuyoshi Hirayama (ƽɽÒã)
Tsuyoshi Hirayama
?
FinTech - US Annual Funding Report - 2024.pptx
FinTech - US Annual Funding Report - 2024.pptxFinTech - US Annual Funding Report - 2024.pptx
FinTech - US Annual Funding Report - 2024.pptx
Tracxn
?
Unlock AI Creativity: Image Generation with DALL¡¤E
Unlock AI Creativity: Image Generation with DALL¡¤EUnlock AI Creativity: Image Generation with DALL¡¤E
Unlock AI Creativity: Image Generation with DALL¡¤E
Expeed Software
?
1.1. Evolution-and-Scope-of-Business-Analytics.pptx
1.1. Evolution-and-Scope-of-Business-Analytics.pptx1.1. Evolution-and-Scope-of-Business-Analytics.pptx
1.1. Evolution-and-Scope-of-Business-Analytics.pptx
Jitendra Tomar
?
THE BIG TEN BIOPHARMACEUTICAL MNCs: GLOBAL CAPABILITY CENTERS IN INDIA
THE BIG TEN BIOPHARMACEUTICAL MNCs: GLOBAL CAPABILITY CENTERS IN INDIATHE BIG TEN BIOPHARMACEUTICAL MNCs: GLOBAL CAPABILITY CENTERS IN INDIA
THE BIG TEN BIOPHARMACEUTICAL MNCs: GLOBAL CAPABILITY CENTERS IN INDIA
Srivaanchi Nathan
?
Field Device Management Market Report 2030 - TechSci Research
Field Device Management Market Report 2030 - TechSci ResearchField Device Management Market Report 2030 - TechSci Research
Field Device Management Market Report 2030 - TechSci Research
Vipin Mishra
?
Inside Freshworks' Migration from Cassandra to ScyllaDB by Premkumar Patturaj
Inside Freshworks' Migration from Cassandra to ScyllaDB by Premkumar PatturajInside Freshworks' Migration from Cassandra to ScyllaDB by Premkumar Patturaj
Inside Freshworks' Migration from Cassandra to ScyllaDB by Premkumar Patturaj
ScyllaDB
?
[Webinar] Scaling Made Simple: Getting Started with No-Code Web Apps
[Webinar] Scaling Made Simple: Getting Started with No-Code Web Apps[Webinar] Scaling Made Simple: Getting Started with No-Code Web Apps
[Webinar] Scaling Made Simple: Getting Started with No-Code Web Apps
Safe Software
?
UiPath Document Understanding - Generative AI and Active learning capabilities
UiPath Document Understanding - Generative AI and Active learning capabilitiesUiPath Document Understanding - Generative AI and Active learning capabilities
UiPath Document Understanding - Generative AI and Active learning capabilities
DianaGray10
?
Endpoint Backup: 3 Reasons MSPs Ignore It
Endpoint Backup: 3 Reasons MSPs Ignore ItEndpoint Backup: 3 Reasons MSPs Ignore It
Endpoint Backup: 3 Reasons MSPs Ignore It
MSP360
?
Brave Browser Crack 1.45.133 Activated 2025
Brave Browser Crack 1.45.133 Activated 2025Brave Browser Crack 1.45.133 Activated 2025
Brave Browser Crack 1.45.133 Activated 2025
kherorpacca00126
?
UiPath Agentic Automation Capabilities and Opportunities
UiPath Agentic Automation Capabilities and OpportunitiesUiPath Agentic Automation Capabilities and Opportunities
UiPath Agentic Automation Capabilities and Opportunities
DianaGray10
?
EaseUS Partition Master Crack 2025 + Serial Key
EaseUS Partition Master Crack 2025 + Serial KeyEaseUS Partition Master Crack 2025 + Serial Key
EaseUS Partition Master Crack 2025 + Serial Key
kherorpacca127
?
Formal Methods: Whence and Whither? [Martin Fr?nzle Festkolloquium, 2025]
Formal Methods: Whence and Whither? [Martin Fr?nzle Festkolloquium, 2025]Formal Methods: Whence and Whither? [Martin Fr?nzle Festkolloquium, 2025]
Formal Methods: Whence and Whither? [Martin Fr?nzle Festkolloquium, 2025]
Jonathan Bowen
?
Technology use over time and its impact on consumers and businesses.pptx
Technology use over time and its impact on consumers and businesses.pptxTechnology use over time and its impact on consumers and businesses.pptx
Technology use over time and its impact on consumers and businesses.pptx
kaylagaze
?
Replacing RocksDB with ScyllaDB in Kafka Streams by Almog Gavra
Replacing RocksDB with ScyllaDB in Kafka Streams by Almog GavraReplacing RocksDB with ScyllaDB in Kafka Streams by Almog Gavra
Replacing RocksDB with ScyllaDB in Kafka Streams by Almog Gavra
ScyllaDB
?
The Future of Repair: Transparent and Incremental by Botond De?nes
The Future of Repair: Transparent and Incremental by Botond De?nesThe Future of Repair: Transparent and Incremental by Botond De?nes
The Future of Repair: Transparent and Incremental by Botond De?nes
ScyllaDB
?
Unlocking DevOps Secuirty :Vault & Keylock
Unlocking DevOps Secuirty :Vault & KeylockUnlocking DevOps Secuirty :Vault & Keylock
Unlocking DevOps Secuirty :Vault & Keylock
HusseinMalikMammadli
?
L01 Introduction to Nanoindentation - What is hardness
L01 Introduction to Nanoindentation - What is hardnessL01 Introduction to Nanoindentation - What is hardness
L01 Introduction to Nanoindentation - What is hardness
RostislavDaniel
?
What Makes "Deep Research"? A Dive into AI Agents
What Makes "Deep Research"? A Dive into AI AgentsWhat Makes "Deep Research"? A Dive into AI Agents
What Makes "Deep Research"? A Dive into AI Agents
Zilliz
?
DAO UTokyo 2025 DLT mass adoption case studies IBM Tsuyoshi Hirayama (ƽɽÒã)
DAO UTokyo 2025 DLT mass adoption case studies IBM Tsuyoshi Hirayama (ƽɽÒã)DAO UTokyo 2025 DLT mass adoption case studies IBM Tsuyoshi Hirayama (ƽɽÒã)
DAO UTokyo 2025 DLT mass adoption case studies IBM Tsuyoshi Hirayama (ƽɽÒã)
Tsuyoshi Hirayama
?
FinTech - US Annual Funding Report - 2024.pptx
FinTech - US Annual Funding Report - 2024.pptxFinTech - US Annual Funding Report - 2024.pptx
FinTech - US Annual Funding Report - 2024.pptx
Tracxn
?
Unlock AI Creativity: Image Generation with DALL¡¤E
Unlock AI Creativity: Image Generation with DALL¡¤EUnlock AI Creativity: Image Generation with DALL¡¤E
Unlock AI Creativity: Image Generation with DALL¡¤E
Expeed Software
?
1.1. Evolution-and-Scope-of-Business-Analytics.pptx
1.1. Evolution-and-Scope-of-Business-Analytics.pptx1.1. Evolution-and-Scope-of-Business-Analytics.pptx
1.1. Evolution-and-Scope-of-Business-Analytics.pptx
Jitendra Tomar
?
THE BIG TEN BIOPHARMACEUTICAL MNCs: GLOBAL CAPABILITY CENTERS IN INDIA
THE BIG TEN BIOPHARMACEUTICAL MNCs: GLOBAL CAPABILITY CENTERS IN INDIATHE BIG TEN BIOPHARMACEUTICAL MNCs: GLOBAL CAPABILITY CENTERS IN INDIA
THE BIG TEN BIOPHARMACEUTICAL MNCs: GLOBAL CAPABILITY CENTERS IN INDIA
Srivaanchi Nathan
?
Field Device Management Market Report 2030 - TechSci Research
Field Device Management Market Report 2030 - TechSci ResearchField Device Management Market Report 2030 - TechSci Research
Field Device Management Market Report 2030 - TechSci Research
Vipin Mishra
?
Inside Freshworks' Migration from Cassandra to ScyllaDB by Premkumar Patturaj
Inside Freshworks' Migration from Cassandra to ScyllaDB by Premkumar PatturajInside Freshworks' Migration from Cassandra to ScyllaDB by Premkumar Patturaj
Inside Freshworks' Migration from Cassandra to ScyllaDB by Premkumar Patturaj
ScyllaDB
?
[Webinar] Scaling Made Simple: Getting Started with No-Code Web Apps
[Webinar] Scaling Made Simple: Getting Started with No-Code Web Apps[Webinar] Scaling Made Simple: Getting Started with No-Code Web Apps
[Webinar] Scaling Made Simple: Getting Started with No-Code Web Apps
Safe Software
?
UiPath Document Understanding - Generative AI and Active learning capabilities
UiPath Document Understanding - Generative AI and Active learning capabilitiesUiPath Document Understanding - Generative AI and Active learning capabilities
UiPath Document Understanding - Generative AI and Active learning capabilities
DianaGray10
?
Endpoint Backup: 3 Reasons MSPs Ignore It
Endpoint Backup: 3 Reasons MSPs Ignore ItEndpoint Backup: 3 Reasons MSPs Ignore It
Endpoint Backup: 3 Reasons MSPs Ignore It
MSP360
?
Brave Browser Crack 1.45.133 Activated 2025
Brave Browser Crack 1.45.133 Activated 2025Brave Browser Crack 1.45.133 Activated 2025
Brave Browser Crack 1.45.133 Activated 2025
kherorpacca00126
?
UiPath Agentic Automation Capabilities and Opportunities
UiPath Agentic Automation Capabilities and OpportunitiesUiPath Agentic Automation Capabilities and Opportunities
UiPath Agentic Automation Capabilities and Opportunities
DianaGray10
?
EaseUS Partition Master Crack 2025 + Serial Key
EaseUS Partition Master Crack 2025 + Serial KeyEaseUS Partition Master Crack 2025 + Serial Key
EaseUS Partition Master Crack 2025 + Serial Key
kherorpacca127
?
Formal Methods: Whence and Whither? [Martin Fr?nzle Festkolloquium, 2025]
Formal Methods: Whence and Whither? [Martin Fr?nzle Festkolloquium, 2025]Formal Methods: Whence and Whither? [Martin Fr?nzle Festkolloquium, 2025]
Formal Methods: Whence and Whither? [Martin Fr?nzle Festkolloquium, 2025]
Jonathan Bowen
?
Technology use over time and its impact on consumers and businesses.pptx
Technology use over time and its impact on consumers and businesses.pptxTechnology use over time and its impact on consumers and businesses.pptx
Technology use over time and its impact on consumers and businesses.pptx
kaylagaze
?
Replacing RocksDB with ScyllaDB in Kafka Streams by Almog Gavra
Replacing RocksDB with ScyllaDB in Kafka Streams by Almog GavraReplacing RocksDB with ScyllaDB in Kafka Streams by Almog Gavra
Replacing RocksDB with ScyllaDB in Kafka Streams by Almog Gavra
ScyllaDB
?

Cqrs in babysteps

Editor's Notes

  • #29: Diagram would be better