際際滷

際際滷Share a Scribd company logo
Web Front-End CQRS
The crazy architect enters the
room
Web Front-End CQRS
We are doing 遺河檎皆!
WAT?
Command and Query
Responsibility Segregation
What?
Commands cant return data
Queries can only return data
And how are we doing that?
Command Handlers
Event Handlers
Service bus
Message queue
Event stores
Projections
NServiceBus
MassTransit
MsMQ
EventStore
RabbitMQ
Common Domain
Front-end?
Emil Cardell
@emilcardell
unwillingcoder.tumblr.com
CQRS Web Front-End Journey
Going from CRUD to CQRS
Teach our front-end to speak
CQRS
Just in time Front-End CQRS
Font-end CQRS domination
Why CQRS?
Reliability
Scalability
Reliability is to never loose
data and to never go down
even if hardware goes down
Scalability to scale linear by
distributing you application
to multiple servers
Separate in to parts only
responsible for one thing
It gives us focus to deliver
value faster
Replaceability
Distribute
UI keeps it togeather
How does a distributed
system effect the UI?
Eventual Consistency
Tserver vs Tclient
In the beginning
Web Front-End CQRS
Same same but different
Ugly CRUD syntax
Not separated
Why FubuMVC?
Speak the same language as
our domain. There is nothing
in our domain called
controller.
Separation of concerns
one class = one function
RESTish
methods = http methods
Web Front-End CQRS
Questions?
Reliable
Scalable
Replaceable
Distributed
Have courage to experiment,
respect your peers and keep
it simple
Emil Cardell
@emilcardell
unwillingcoder.tumblr.com

http://mvc.fubu-project.org/
http://jquery.com/
http://benalman.com/projects/jquery-
message-queuing-plugin/

More Related Content

Similar to Web Front-End CQRS (20)

Easy cloud scaling with Azure
Easy cloud scaling with AzureEasy cloud scaling with Azure
Easy cloud scaling with Azure
Bogdan Mustata
Azure and cloud design patterns
Azure and cloud design patternsAzure and cloud design patterns
Azure and cloud design patterns
Venkatesh Narayanan
The Public Cloud is a Lie
The Public Cloud is a LieThe Public Cloud is a Lie
The Public Cloud is a Lie
Tapio Rautonen
Erlang and the Cloud: A Fractal Approach to Throughput
Erlang and the Cloud: A Fractal Approach to ThroughputErlang and the Cloud: A Fractal Approach to Throughput
Erlang and the Cloud: A Fractal Approach to Throughput
Wooga
Erlang as a Cloud Citizen
Erlang as a Cloud CitizenErlang as a Cloud Citizen
Erlang as a Cloud Citizen
Wooga
Erlang as a cloud citizen, a fractal approach to throughput
Erlang as a cloud citizen, a fractal approach to throughputErlang as a cloud citizen, a fractal approach to throughput
Erlang as a cloud citizen, a fractal approach to throughput
Paolo Negri
Stuff About CQRS
Stuff About CQRSStuff About CQRS
Stuff About CQRS
thinkddd
20141021 AWS Cloud Taekwon - Startup Best Practices on AWS
20141021 AWS Cloud Taekwon - Startup Best Practices on AWS20141021 AWS Cloud Taekwon - Startup Best Practices on AWS
20141021 AWS Cloud Taekwon - Startup Best Practices on AWS
Amazon Web Services Korea
AWS Cloud Kata 2014 | Jakarta - Startup Best Practices
AWS Cloud Kata 2014 | Jakarta - Startup Best PracticesAWS Cloud Kata 2014 | Jakarta - Startup Best Practices
AWS Cloud Kata 2014 | Jakarta - Startup Best Practices
Amazon Web Services
Rockford Web Devs Meetup - AWS - November 10th, 2015
Rockford Web Devs Meetup - AWS - November 10th, 2015Rockford Web Devs Meetup - AWS - November 10th, 2015
Rockford Web Devs Meetup - AWS - November 10th, 2015
Karl Grzeszczak
Cloud TECHNOLOGY
Cloud TECHNOLOGYCloud TECHNOLOGY
Cloud TECHNOLOGY
YOGEESH M
Microsoft Zend webcast on Azure
Microsoft Zend webcast on AzureMicrosoft Zend webcast on Azure
Microsoft Zend webcast on Azure
Josh Holmes
Microsoft/Zend Webcast on Cloud Computing
Microsoft/Zend Webcast on Cloud ComputingMicrosoft/Zend Webcast on Cloud Computing
Microsoft/Zend Webcast on Cloud Computing
Josh Holmes
Battery Ventures: Simulating and Visualizing Large Scale Cassandra Deployments
Battery Ventures: Simulating and Visualizing Large Scale Cassandra DeploymentsBattery Ventures: Simulating and Visualizing Large Scale Cassandra Deployments
Battery Ventures: Simulating and Visualizing Large Scale Cassandra Deployments
DataStax Academy
Cloud Architecture Patterns for Mere Mortals - Bill Wilder - Vermont Code Cam...
Cloud Architecture Patterns for Mere Mortals - Bill Wilder - Vermont Code Cam...Cloud Architecture Patterns for Mere Mortals - Bill Wilder - Vermont Code Cam...
Cloud Architecture Patterns for Mere Mortals - Bill Wilder - Vermont Code Cam...
Bill Wilder
NoSQL and Cloud Services - Philip Balinow, Comfo
NoSQL and Cloud Services -  Philip Balinow, ComfoNoSQL and Cloud Services -  Philip Balinow, Comfo
NoSQL and Cloud Services - Philip Balinow, Comfo
beITconference
Stephane Lapointe & Alexandre Brisebois: D辿velopper des microservices avec Se...
Stephane Lapointe & Alexandre Brisebois: D辿velopper des microservices avec Se...Stephane Lapointe & Alexandre Brisebois: D辿velopper des microservices avec Se...
Stephane Lapointe & Alexandre Brisebois: D辿velopper des microservices avec Se...
MSDEVMTL
Cqrs but different
Cqrs but differentCqrs but different
Cqrs but different
Particular Software
Turkish Airlines' Journey on Cloud
Turkish Airlines' Journey on CloudTurkish Airlines' Journey on Cloud
Turkish Airlines' Journey on Cloud
Mustafa Ekrem KENTER
Gluecon Monitoring Microservices and Containers: A Challenge
Gluecon Monitoring Microservices and Containers: A ChallengeGluecon Monitoring Microservices and Containers: A Challenge
Gluecon Monitoring Microservices and Containers: A Challenge
Adrian Cockcroft
Easy cloud scaling with Azure
Easy cloud scaling with AzureEasy cloud scaling with Azure
Easy cloud scaling with Azure
Bogdan Mustata
Azure and cloud design patterns
Azure and cloud design patternsAzure and cloud design patterns
Azure and cloud design patterns
Venkatesh Narayanan
The Public Cloud is a Lie
The Public Cloud is a LieThe Public Cloud is a Lie
The Public Cloud is a Lie
Tapio Rautonen
Erlang and the Cloud: A Fractal Approach to Throughput
Erlang and the Cloud: A Fractal Approach to ThroughputErlang and the Cloud: A Fractal Approach to Throughput
Erlang and the Cloud: A Fractal Approach to Throughput
Wooga
Erlang as a Cloud Citizen
Erlang as a Cloud CitizenErlang as a Cloud Citizen
Erlang as a Cloud Citizen
Wooga
Erlang as a cloud citizen, a fractal approach to throughput
Erlang as a cloud citizen, a fractal approach to throughputErlang as a cloud citizen, a fractal approach to throughput
Erlang as a cloud citizen, a fractal approach to throughput
Paolo Negri
Stuff About CQRS
Stuff About CQRSStuff About CQRS
Stuff About CQRS
thinkddd
20141021 AWS Cloud Taekwon - Startup Best Practices on AWS
20141021 AWS Cloud Taekwon - Startup Best Practices on AWS20141021 AWS Cloud Taekwon - Startup Best Practices on AWS
20141021 AWS Cloud Taekwon - Startup Best Practices on AWS
Amazon Web Services Korea
AWS Cloud Kata 2014 | Jakarta - Startup Best Practices
AWS Cloud Kata 2014 | Jakarta - Startup Best PracticesAWS Cloud Kata 2014 | Jakarta - Startup Best Practices
AWS Cloud Kata 2014 | Jakarta - Startup Best Practices
Amazon Web Services
Rockford Web Devs Meetup - AWS - November 10th, 2015
Rockford Web Devs Meetup - AWS - November 10th, 2015Rockford Web Devs Meetup - AWS - November 10th, 2015
Rockford Web Devs Meetup - AWS - November 10th, 2015
Karl Grzeszczak
Cloud TECHNOLOGY
Cloud TECHNOLOGYCloud TECHNOLOGY
Cloud TECHNOLOGY
YOGEESH M
Microsoft Zend webcast on Azure
Microsoft Zend webcast on AzureMicrosoft Zend webcast on Azure
Microsoft Zend webcast on Azure
Josh Holmes
Microsoft/Zend Webcast on Cloud Computing
Microsoft/Zend Webcast on Cloud ComputingMicrosoft/Zend Webcast on Cloud Computing
Microsoft/Zend Webcast on Cloud Computing
Josh Holmes
Battery Ventures: Simulating and Visualizing Large Scale Cassandra Deployments
Battery Ventures: Simulating and Visualizing Large Scale Cassandra DeploymentsBattery Ventures: Simulating and Visualizing Large Scale Cassandra Deployments
Battery Ventures: Simulating and Visualizing Large Scale Cassandra Deployments
DataStax Academy
Cloud Architecture Patterns for Mere Mortals - Bill Wilder - Vermont Code Cam...
Cloud Architecture Patterns for Mere Mortals - Bill Wilder - Vermont Code Cam...Cloud Architecture Patterns for Mere Mortals - Bill Wilder - Vermont Code Cam...
Cloud Architecture Patterns for Mere Mortals - Bill Wilder - Vermont Code Cam...
Bill Wilder
NoSQL and Cloud Services - Philip Balinow, Comfo
NoSQL and Cloud Services -  Philip Balinow, ComfoNoSQL and Cloud Services -  Philip Balinow, Comfo
NoSQL and Cloud Services - Philip Balinow, Comfo
beITconference
Stephane Lapointe & Alexandre Brisebois: D辿velopper des microservices avec Se...
Stephane Lapointe & Alexandre Brisebois: D辿velopper des microservices avec Se...Stephane Lapointe & Alexandre Brisebois: D辿velopper des microservices avec Se...
Stephane Lapointe & Alexandre Brisebois: D辿velopper des microservices avec Se...
MSDEVMTL
Turkish Airlines' Journey on Cloud
Turkish Airlines' Journey on CloudTurkish Airlines' Journey on Cloud
Turkish Airlines' Journey on Cloud
Mustafa Ekrem KENTER
Gluecon Monitoring Microservices and Containers: A Challenge
Gluecon Monitoring Microservices and Containers: A ChallengeGluecon Monitoring Microservices and Containers: A Challenge
Gluecon Monitoring Microservices and Containers: A Challenge
Adrian Cockcroft

Recently uploaded (20)

"Surfing the IT Waves: How Not to Drown in the Information Ocean", Serhii Nem...
"Surfing the IT Waves: How Not to Drown in the Information Ocean", Serhii Nem..."Surfing the IT Waves: How Not to Drown in the Information Ocean", Serhii Nem...
"Surfing the IT Waves: How Not to Drown in the Information Ocean", Serhii Nem...
Fwdays
Redefining Efficiency in AI: The Impact of 1.58-bit LLMs on the Future of Com...
Redefining Efficiency in AI: The Impact of 1.58-bit LLMs on the Future of Com...Redefining Efficiency in AI: The Impact of 1.58-bit LLMs on the Future of Com...
Redefining Efficiency in AI: The Impact of 1.58-bit LLMs on the Future of Com...
Gregor Lyttek
Workload Prioritization: How to Balance Multiple Workloads in a Cluster by Fe...
Workload Prioritization: How to Balance Multiple Workloads in a Cluster by Fe...Workload Prioritization: How to Balance Multiple Workloads in a Cluster by Fe...
Workload Prioritization: How to Balance Multiple Workloads in a Cluster by Fe...
ScyllaDB
Global AI Bootcamp 2025 - Sydney - Model Agnostic AI Implementation
Global  AI Bootcamp 2025 - Sydney - Model Agnostic AI ImplementationGlobal  AI Bootcamp 2025 - Sydney - Model Agnostic AI Implementation
Global AI Bootcamp 2025 - Sydney - Model Agnostic AI Implementation
Anupam Ranku
[QUICK TALK] "How to study to acquire a skill, not a certificate?", Uliana Du...
[QUICK TALK] "How to study to acquire a skill, not a certificate?", Uliana Du...[QUICK TALK] "How to study to acquire a skill, not a certificate?", Uliana Du...
[QUICK TALK] "How to study to acquire a skill, not a certificate?", Uliana Du...
Fwdays
Spin Glass Models of Neural Networks: The Curie-Weiss Model from Statistical ...
Spin Glass Models of Neural Networks: The Curie-Weiss Model from Statistical ...Spin Glass Models of Neural Networks: The Curie-Weiss Model from Statistical ...
Spin Glass Models of Neural Networks: The Curie-Weiss Model from Statistical ...
Charles Martin
Object Storage in ScyllaDB by Ran Regev, ScyllaDB
Object Storage in ScyllaDB by Ran Regev, ScyllaDBObject Storage in ScyllaDB by Ran Regev, ScyllaDB
Object Storage in ScyllaDB by Ran Regev, ScyllaDB
ScyllaDB
Navigating SharePoint Integration: From Seamless Configuration to Workflow Au...
Navigating SharePoint Integration: From Seamless Configuration to Workflow Au...Navigating SharePoint Integration: From Seamless Configuration to Workflow Au...
Navigating SharePoint Integration: From Seamless Configuration to Workflow Au...
Safe Software
Cleveland Salesforce Developer Group March 2025
Cleveland Salesforce Developer Group March 2025Cleveland Salesforce Developer Group March 2025
Cleveland Salesforce Developer Group March 2025
Lynda Kane
How Yieldmo Cut Database Costs and Cloud Dependencies Fast by Todd Coleman
How Yieldmo Cut Database Costs and Cloud Dependencies Fast by Todd ColemanHow Yieldmo Cut Database Costs and Cloud Dependencies Fast by Todd Coleman
How Yieldmo Cut Database Costs and Cloud Dependencies Fast by Todd Coleman
ScyllaDB
Vector Search with ScyllaDB by Szymon Wasik
Vector Search with ScyllaDB by Szymon WasikVector Search with ScyllaDB by Szymon Wasik
Vector Search with ScyllaDB by Szymon Wasik
ScyllaDB
UiPath Automation Developer Associate Training Series 2025 - Session 4
UiPath Automation Developer Associate Training Series 2025 - Session 4UiPath Automation Developer Associate Training Series 2025 - Session 4
UiPath Automation Developer Associate Training Series 2025 - Session 4
DianaGray10
Expanding your DEIA with age and belonging
Expanding your DEIA with age and belongingExpanding your DEIA with age and belonging
Expanding your DEIA with age and belonging
Ted Drake
Kickstarting AI - Machine Learning from zero to model
Kickstarting AI - Machine Learning from zero to modelKickstarting AI - Machine Learning from zero to model
Kickstarting AI - Machine Learning from zero to model
haninsherif337
Lessons Learned from Building a Serverless Notifications System by Srushith R...
Lessons Learned from Building a Serverless Notifications System by Srushith R...Lessons Learned from Building a Serverless Notifications System by Srushith R...
Lessons Learned from Building a Serverless Notifications System by Srushith R...
ScyllaDB
The 4 Billion Device Future: IoT Insights for Commercial Building Leaders
The 4 Billion Device Future: IoT Insights for Commercial Building LeadersThe 4 Billion Device Future: IoT Insights for Commercial Building Leaders
The 4 Billion Device Future: IoT Insights for Commercial Building Leaders
Memoori
CradlePosture: Camera-Based Approach for Estimating Neonates Posture Based o...
CradlePosture: Camera-Based Approach for Estimating Neonates Posture Based o...CradlePosture: Camera-Based Approach for Estimating Neonates Posture Based o...
CradlePosture: Camera-Based Approach for Estimating Neonates Posture Based o...
sugiuralab
Unified Observability - Alkin Tezuysal - FOSSASIA Summit March 2025 .pdf
Unified Observability - Alkin Tezuysal - FOSSASIA Summit  March 2025 .pdfUnified Observability - Alkin Tezuysal - FOSSASIA Summit  March 2025 .pdf
Unified Observability - Alkin Tezuysal - FOSSASIA Summit March 2025 .pdf
Alkin Tezuysal
The Most Important Tech Innovations of 2024
The Most Important Tech Innovations of 2024The Most Important Tech Innovations of 2024
The Most Important Tech Innovations of 2024
Arif Efendi
How Agoda Scaled 50x Throughput with ScyllaDB by Worakarn Isaratham
How Agoda Scaled 50x Throughput with ScyllaDB by Worakarn IsarathamHow Agoda Scaled 50x Throughput with ScyllaDB by Worakarn Isaratham
How Agoda Scaled 50x Throughput with ScyllaDB by Worakarn Isaratham
ScyllaDB
"Surfing the IT Waves: How Not to Drown in the Information Ocean", Serhii Nem...
"Surfing the IT Waves: How Not to Drown in the Information Ocean", Serhii Nem..."Surfing the IT Waves: How Not to Drown in the Information Ocean", Serhii Nem...
"Surfing the IT Waves: How Not to Drown in the Information Ocean", Serhii Nem...
Fwdays
Redefining Efficiency in AI: The Impact of 1.58-bit LLMs on the Future of Com...
Redefining Efficiency in AI: The Impact of 1.58-bit LLMs on the Future of Com...Redefining Efficiency in AI: The Impact of 1.58-bit LLMs on the Future of Com...
Redefining Efficiency in AI: The Impact of 1.58-bit LLMs on the Future of Com...
Gregor Lyttek
Workload Prioritization: How to Balance Multiple Workloads in a Cluster by Fe...
Workload Prioritization: How to Balance Multiple Workloads in a Cluster by Fe...Workload Prioritization: How to Balance Multiple Workloads in a Cluster by Fe...
Workload Prioritization: How to Balance Multiple Workloads in a Cluster by Fe...
ScyllaDB
Global AI Bootcamp 2025 - Sydney - Model Agnostic AI Implementation
Global  AI Bootcamp 2025 - Sydney - Model Agnostic AI ImplementationGlobal  AI Bootcamp 2025 - Sydney - Model Agnostic AI Implementation
Global AI Bootcamp 2025 - Sydney - Model Agnostic AI Implementation
Anupam Ranku
[QUICK TALK] "How to study to acquire a skill, not a certificate?", Uliana Du...
[QUICK TALK] "How to study to acquire a skill, not a certificate?", Uliana Du...[QUICK TALK] "How to study to acquire a skill, not a certificate?", Uliana Du...
[QUICK TALK] "How to study to acquire a skill, not a certificate?", Uliana Du...
Fwdays
Spin Glass Models of Neural Networks: The Curie-Weiss Model from Statistical ...
Spin Glass Models of Neural Networks: The Curie-Weiss Model from Statistical ...Spin Glass Models of Neural Networks: The Curie-Weiss Model from Statistical ...
Spin Glass Models of Neural Networks: The Curie-Weiss Model from Statistical ...
Charles Martin
Object Storage in ScyllaDB by Ran Regev, ScyllaDB
Object Storage in ScyllaDB by Ran Regev, ScyllaDBObject Storage in ScyllaDB by Ran Regev, ScyllaDB
Object Storage in ScyllaDB by Ran Regev, ScyllaDB
ScyllaDB
Navigating SharePoint Integration: From Seamless Configuration to Workflow Au...
Navigating SharePoint Integration: From Seamless Configuration to Workflow Au...Navigating SharePoint Integration: From Seamless Configuration to Workflow Au...
Navigating SharePoint Integration: From Seamless Configuration to Workflow Au...
Safe Software
Cleveland Salesforce Developer Group March 2025
Cleveland Salesforce Developer Group March 2025Cleveland Salesforce Developer Group March 2025
Cleveland Salesforce Developer Group March 2025
Lynda Kane
How Yieldmo Cut Database Costs and Cloud Dependencies Fast by Todd Coleman
How Yieldmo Cut Database Costs and Cloud Dependencies Fast by Todd ColemanHow Yieldmo Cut Database Costs and Cloud Dependencies Fast by Todd Coleman
How Yieldmo Cut Database Costs and Cloud Dependencies Fast by Todd Coleman
ScyllaDB
Vector Search with ScyllaDB by Szymon Wasik
Vector Search with ScyllaDB by Szymon WasikVector Search with ScyllaDB by Szymon Wasik
Vector Search with ScyllaDB by Szymon Wasik
ScyllaDB
UiPath Automation Developer Associate Training Series 2025 - Session 4
UiPath Automation Developer Associate Training Series 2025 - Session 4UiPath Automation Developer Associate Training Series 2025 - Session 4
UiPath Automation Developer Associate Training Series 2025 - Session 4
DianaGray10
Expanding your DEIA with age and belonging
Expanding your DEIA with age and belongingExpanding your DEIA with age and belonging
Expanding your DEIA with age and belonging
Ted Drake
Kickstarting AI - Machine Learning from zero to model
Kickstarting AI - Machine Learning from zero to modelKickstarting AI - Machine Learning from zero to model
Kickstarting AI - Machine Learning from zero to model
haninsherif337
Lessons Learned from Building a Serverless Notifications System by Srushith R...
Lessons Learned from Building a Serverless Notifications System by Srushith R...Lessons Learned from Building a Serverless Notifications System by Srushith R...
Lessons Learned from Building a Serverless Notifications System by Srushith R...
ScyllaDB
The 4 Billion Device Future: IoT Insights for Commercial Building Leaders
The 4 Billion Device Future: IoT Insights for Commercial Building LeadersThe 4 Billion Device Future: IoT Insights for Commercial Building Leaders
The 4 Billion Device Future: IoT Insights for Commercial Building Leaders
Memoori
CradlePosture: Camera-Based Approach for Estimating Neonates Posture Based o...
CradlePosture: Camera-Based Approach for Estimating Neonates Posture Based o...CradlePosture: Camera-Based Approach for Estimating Neonates Posture Based o...
CradlePosture: Camera-Based Approach for Estimating Neonates Posture Based o...
sugiuralab
Unified Observability - Alkin Tezuysal - FOSSASIA Summit March 2025 .pdf
Unified Observability - Alkin Tezuysal - FOSSASIA Summit  March 2025 .pdfUnified Observability - Alkin Tezuysal - FOSSASIA Summit  March 2025 .pdf
Unified Observability - Alkin Tezuysal - FOSSASIA Summit March 2025 .pdf
Alkin Tezuysal
The Most Important Tech Innovations of 2024
The Most Important Tech Innovations of 2024The Most Important Tech Innovations of 2024
The Most Important Tech Innovations of 2024
Arif Efendi
How Agoda Scaled 50x Throughput with ScyllaDB by Worakarn Isaratham
How Agoda Scaled 50x Throughput with ScyllaDB by Worakarn IsarathamHow Agoda Scaled 50x Throughput with ScyllaDB by Worakarn Isaratham
How Agoda Scaled 50x Throughput with ScyllaDB by Worakarn Isaratham
ScyllaDB

Web Front-End CQRS

Editor's Notes

  • #32: Kod. Fr奪n CRUD till CQRS anrop
  • #33: Kod. Fr奪n CRUD till CQRS anrop
  • #40: FUBU Convetions > Command och Query1. Separatingoutcommands and queries.