SlideShare a Scribd company logo
Dennis van der Stelt
and building reliable systems
Dennis van der Stelt
Software Architect
http://dennis.bloggingabout.net/
dennis@bloggingabout.net
NServiceBus Community Champ
MESSAGING
@dvdstelt
#lidnug
Dennis van der Stelt
AGENDA
Dennis van der Stelt
Dennis van der Stelt
Separation of concerns
Flexibility & Reusability
Scalability
why all the layers?
Dennis van der Stelt
A monolithic design is characterized by such tight coupling
among modules that they really have no independent existence.
monolithic
Dennis van der Stelt
COUPLING
Which layer has the
worst coupling?
Dennis van der Stelt
Dennis van der Stelt
MONOLITHIC DESIGN
How does my clean code become a big ball of mud?
Database
Dennis van der Stelt
MONOLITHIC DESIGN
How does my clean code become a big ball of mud?
Database
reduce
coupling
Dennis van der Stelt
SpatialTemporalPlatform
coupling aspects
Dennis van der Stelt
PLATFORM
Also known as ‘interoperability’
http, json, xml, xsd, etc…
Dennis van der Stelt
TEMPORAL
Store Front End Shipping Service
Dennis van der Stelt
TEMPORAL
Store Front End Shipping ServiceShipping Service
Dennis van der Stelt
TEMPORAL
Store Front End Shipping ServiceOrder Queue
Dennis van der Stelt
TEMPORAL
Store Front End Shipping ServiceOrder Queue
Dennis van der Stelt
TEMPORAL
Store Front End Shipping ServiceOrder Queue
Dennis van der Stelt
SPATIAL
Dennis van der Stelt
SPATIAL .net
application
.net application
ShipOrder AssignTask
Dennis van der Stelt
Messaging
 Reduces spatial coupling
 XML/JSON for platform coupling
 Asynchronous for temporal coupling
demo
Messaging using WCF
Dennis van der Stelt
PERFORMANCE
RPC versus Messaging
LIDNUG : Reliable applications with messaging
LIDNUG : Reliable applications with messaging
what is the best pizza?
Dennis van der Stelt
TEMPORAL COUPLING
Synchronouscommunication
Order accepted
DoesCompanyHaveCredit(companyId)
Place new order
Company
Dennis van der Stelt
TEMPORAL COUPLING
Asynchronous communication
Order accepted
DoesCompanyHaveCredit(companyId)
Place new order
GotData?
GotData?
GotData?
:)
Dennis van der Stelt
TEMPORAL COUPLING
Event Driven Communication
Order accepted
Publish CompanyHasCredit status
Place new order
Store data
demo
NServiceBus Demo
Dennis van der Stelt
true loose coupling
retries / no data loss
smaller transactions
simplification of structure
improved manageability
Dennis van der Stelt
Warehouse Service
Sales Service
Product Service
Ordering
Products
Shipping
CQRS & Event Sourcing
CRUD
3 Tier
ARCHITECTURAL STYLES
messaging is business agility
Dennis van der Stelt
find me.
http://dennis.bloggingabout.net
dvdstelt@outlook.com

More Related Content

PDF
Distributed Systems Principles
Dennis van der Stelt
 
PDF
Building reliable applications with messaging
Dennis van der Stelt
 
PDF
Distributed Systems principles
Dennis van der Stelt
 
PDF
Distributed Systems Design
Dennis van der Stelt
 
PDF
Death of the batch job - NServiceBus Sagas
Dennis van der Stelt
 
PPTX
SOLID Principles part 2
Dennis van der Stelt
 
PDF
Death of the batch job
Dennis van der Stelt
 
PDF
Een andere kijk op Microservices
Dennis van der Stelt
 
Distributed Systems Principles
Dennis van der Stelt
 
Building reliable applications with messaging
Dennis van der Stelt
 
Distributed Systems principles
Dennis van der Stelt
 
Distributed Systems Design
Dennis van der Stelt
 
Death of the batch job - NServiceBus Sagas
Dennis van der Stelt
 
SOLID Principles part 2
Dennis van der Stelt
 
Death of the batch job
Dennis van der Stelt
 
Een andere kijk op Microservices
Dennis van der Stelt
 

Similar to LIDNUG : Reliable applications with messaging (20)

PPTX
The "Why", "What" & "How" of Microservices - short version
INPAY
 
PPTX
Lecture 04 - Loose Coupling
phanleson
 
PPT
SOA1-Background.ppt SOFTWARE ORIENTED SERVICES AND ARCHITECTURE
AnyaForger34
 
PDF
Meetup6 microservices for the IoT
Francesco Rago
 
PPTX
Let's talk about... Microservices
Alessandro Giorgetti
 
PDF
Patterns of Distributed Application Design
GlobalLogic Ukraine
 
PPTX
Patterns of Distributed Application Design
Orkhan Gasimov
 
PPTX
The "Why", "What" and "How" of Microservices
INPAY
 
PPTX
SERVICE ORIENTED ARCHITECTURE Software.pptx
ibadcui
 
PPT
Why Service Oriented Architecture DDD North 20151024
Sean Farmar
 
ODP
Service oriented architecture 27 May 2014
Khawar Nehal [email protected]
 
PPTX
SOA (Service Oriented Architecture)
Annie Comp
 
PDF
L11 Service Design and REST
Ólafur Andri Ragnarsson
 
PPTX
L02 Architecture
Ólafur Andri Ragnarsson
 
PDF
Software Architecture for Cloud Infrastructure
Tapio Rautonen
 
PPTX
Microservice & Service Mesh Workshop
Claudio Acquaviva
 
PPTX
Microservices Architecture
Alessandro Giorgetti
 
PPTX
SOA - Unit 2 - Service Oriented Architecture
hamsa nandhini
 
PDF
Modernising Change - Lime Point - Confluent - Kong
confluent
 
The "Why", "What" & "How" of Microservices - short version
INPAY
 
Lecture 04 - Loose Coupling
phanleson
 
SOA1-Background.ppt SOFTWARE ORIENTED SERVICES AND ARCHITECTURE
AnyaForger34
 
Meetup6 microservices for the IoT
Francesco Rago
 
Let's talk about... Microservices
Alessandro Giorgetti
 
Patterns of Distributed Application Design
GlobalLogic Ukraine
 
Patterns of Distributed Application Design
Orkhan Gasimov
 
The "Why", "What" and "How" of Microservices
INPAY
 
SERVICE ORIENTED ARCHITECTURE Software.pptx
ibadcui
 
Why Service Oriented Architecture DDD North 20151024
Sean Farmar
 
Service oriented architecture 27 May 2014
Khawar Nehal [email protected]
 
SOA (Service Oriented Architecture)
Annie Comp
 
L11 Service Design and REST
Ólafur Andri Ragnarsson
 
L02 Architecture
Ólafur Andri Ragnarsson
 
Software Architecture for Cloud Infrastructure
Tapio Rautonen
 
Microservice & Service Mesh Workshop
Claudio Acquaviva
 
Microservices Architecture
Alessandro Giorgetti
 
SOA - Unit 2 - Service Oriented Architecture
hamsa nandhini
 
Modernising Change - Lime Point - Confluent - Kong
confluent
 
Ad

More from Dennis van der Stelt (10)

PDF
Change your architecture during deployment
Dennis van der Stelt
 
PDF
Dealing with eventual consistency
Dennis van der Stelt
 
PDF
Dealing with eventual consistency
Dennis van der Stelt
 
PDF
Duplicating data or replicating data in Micro Services
Dennis van der Stelt
 
PPTX
Silverlight & WCF RIA
Dennis van der Stelt
 
PPTX
Test Driven Development
Dennis van der Stelt
 
PPTX
AppFabric Velocity
Dennis van der Stelt
 
PPTX
Continuous integration
Dennis van der Stelt
 
PPTX
App fabric introduction
Dennis van der Stelt
 
PPTX
SOLID Principles part 1
Dennis van der Stelt
 
Change your architecture during deployment
Dennis van der Stelt
 
Dealing with eventual consistency
Dennis van der Stelt
 
Dealing with eventual consistency
Dennis van der Stelt
 
Duplicating data or replicating data in Micro Services
Dennis van der Stelt
 
Silverlight & WCF RIA
Dennis van der Stelt
 
Test Driven Development
Dennis van der Stelt
 
AppFabric Velocity
Dennis van der Stelt
 
Continuous integration
Dennis van der Stelt
 
App fabric introduction
Dennis van der Stelt
 
SOLID Principles part 1
Dennis van der Stelt
 
Ad

Recently uploaded (20)

PDF
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
PPTX
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
PDF
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
PPT
Coupa-Kickoff-Meeting-Template presentai
annapureddyn
 
PPT
L2 Rules of Netiquette in Empowerment technology
Archibal2
 
PDF
Orbitly Pitch Deck|A Mission-Driven Platform for Side Project Collaboration (...
zz41354899
 
PDF
How-Cloud-Computing-Impacts-Businesses-in-2025-and-Beyond.pdf
Artjoker Software Development Company
 
PDF
NewMind AI Weekly Chronicles - July'25 - Week IV
NewMind AI
 
PDF
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
PDF
REPORT: Heating appliances market in Poland 2024
SPIUG
 
PDF
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
PPTX
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
PPTX
Coupa-Overview _Assumptions presentation
annapureddyn
 
PDF
Building High-Performance Oracle Teams: Strategic Staffing for Database Manag...
SMACT Works
 
PDF
Using Anchore and DefectDojo to Stand Up Your DevSecOps Function
Anchore
 
PDF
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
PDF
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
 
PDF
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
Principled Technologies
 
PDF
Chapter 1 Introduction to CV and IP Lecture Note.pdf
Getnet Tigabie Askale -(GM)
 
PDF
Event Presentation Google Cloud Next Extended 2025
minhtrietgect
 
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
Coupa-Kickoff-Meeting-Template presentai
annapureddyn
 
L2 Rules of Netiquette in Empowerment technology
Archibal2
 
Orbitly Pitch Deck|A Mission-Driven Platform for Side Project Collaboration (...
zz41354899
 
How-Cloud-Computing-Impacts-Businesses-in-2025-and-Beyond.pdf
Artjoker Software Development Company
 
NewMind AI Weekly Chronicles - July'25 - Week IV
NewMind AI
 
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
REPORT: Heating appliances market in Poland 2024
SPIUG
 
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
Coupa-Overview _Assumptions presentation
annapureddyn
 
Building High-Performance Oracle Teams: Strategic Staffing for Database Manag...
SMACT Works
 
Using Anchore and DefectDojo to Stand Up Your DevSecOps Function
Anchore
 
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
 
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
Principled Technologies
 
Chapter 1 Introduction to CV and IP Lecture Note.pdf
Getnet Tigabie Askale -(GM)
 
Event Presentation Google Cloud Next Extended 2025
minhtrietgect
 

LIDNUG : Reliable applications with messaging

  • 1. Dennis van der Stelt and building reliable systems Dennis van der Stelt Software Architect http://dennis.bloggingabout.net/ [email protected] NServiceBus Community Champ MESSAGING @dvdstelt #lidnug
  • 2. Dennis van der Stelt AGENDA
  • 4. Dennis van der Stelt Separation of concerns Flexibility & Reusability Scalability why all the layers?
  • 5. Dennis van der Stelt A monolithic design is characterized by such tight coupling among modules that they really have no independent existence. monolithic
  • 6. Dennis van der Stelt COUPLING Which layer has the worst coupling?
  • 8. Dennis van der Stelt MONOLITHIC DESIGN How does my clean code become a big ball of mud? Database
  • 9. Dennis van der Stelt MONOLITHIC DESIGN How does my clean code become a big ball of mud? Database
  • 11. Dennis van der Stelt SpatialTemporalPlatform coupling aspects
  • 12. Dennis van der Stelt PLATFORM Also known as ‘interoperability’ http, json, xml, xsd, etc…
  • 13. Dennis van der Stelt TEMPORAL Store Front End Shipping Service
  • 14. Dennis van der Stelt TEMPORAL Store Front End Shipping ServiceShipping Service
  • 15. Dennis van der Stelt TEMPORAL Store Front End Shipping ServiceOrder Queue
  • 16. Dennis van der Stelt TEMPORAL Store Front End Shipping ServiceOrder Queue
  • 17. Dennis van der Stelt TEMPORAL Store Front End Shipping ServiceOrder Queue
  • 18. Dennis van der Stelt SPATIAL
  • 19. Dennis van der Stelt SPATIAL .net application .net application ShipOrder AssignTask
  • 20. Dennis van der Stelt Messaging  Reduces spatial coupling  XML/JSON for platform coupling  Asynchronous for temporal coupling
  • 22. Dennis van der Stelt PERFORMANCE RPC versus Messaging
  • 25. what is the best pizza?
  • 26. Dennis van der Stelt TEMPORAL COUPLING Synchronouscommunication Order accepted DoesCompanyHaveCredit(companyId) Place new order Company
  • 27. Dennis van der Stelt TEMPORAL COUPLING Asynchronous communication Order accepted DoesCompanyHaveCredit(companyId) Place new order GotData? GotData? GotData? :)
  • 28. Dennis van der Stelt TEMPORAL COUPLING Event Driven Communication Order accepted Publish CompanyHasCredit status Place new order Store data
  • 30. Dennis van der Stelt true loose coupling retries / no data loss smaller transactions simplification of structure improved manageability
  • 31. Dennis van der Stelt Warehouse Service Sales Service Product Service Ordering Products Shipping CQRS & Event Sourcing CRUD 3 Tier ARCHITECTURAL STYLES
  • 33. Dennis van der Stelt find me. http://dennis.bloggingabout.net [email protected]