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
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

Similar to LIDNUG : Reliable applications with messaging

Change your architecture during deployment
Change your architecture during deploymentChange your architecture during deployment
Change your architecture during deployment
Dennis van der Stelt
 
Sunny Tech 2019 - Craft Forever
Sunny Tech 2019 - Craft ForeverSunny Tech 2019 - Craft Forever
Sunny Tech 2019 - Craft Forever
Cyrille Martraire
 
How to fail or succeed with desktop virtualization and workspace mobility
How to fail or succeed with desktop virtualization and workspace mobilityHow to fail or succeed with desktop virtualization and workspace mobility
How to fail or succeed with desktop virtualization and workspace mobilityDenis Gundarev
 
Rethink your architecture - Marten Deinum
Rethink your architecture - Marten DeinumRethink your architecture - Marten Deinum
Rethink your architecture - Marten Deinum
NLJUG
 
The Mobile Enterprise Cloud Hosted Virtual Desktops
The Mobile Enterprise Cloud Hosted Virtual DesktopsThe Mobile Enterprise Cloud Hosted Virtual Desktops
The Mobile Enterprise Cloud Hosted Virtual DesktopsDesktone
 
The Mobile Enterprise Cloud Hosted Virtual Desktops
The Mobile Enterprise Cloud Hosted Virtual DesktopsThe Mobile Enterprise Cloud Hosted Virtual Desktops
The Mobile Enterprise Cloud Hosted Virtual DesktopsDesktone
 
Virtual Desktops: How Secure Can They Be?
Virtual Desktops: How Secure Can They Be?Virtual Desktops: How Secure Can They Be?
Virtual Desktops: How Secure Can They Be?
Desktone
 
VladimirNovikovSlides.ppt
VladimirNovikovSlides.pptVladimirNovikovSlides.ppt
VladimirNovikovSlides.ppt
ragsahao2
 
Citrix Day 2013: Keynote von Carlos Rosal
Citrix Day 2013: Keynote von Carlos RosalCitrix Day 2013: Keynote von Carlos Rosal
Citrix Day 2013: Keynote von Carlos Rosal
Digicomp Academy AG
 
Elastically scalable architectures with microservices. The end of the monolith?
Elastically scalable architectures with microservices. The end of the monolith?Elastically scalable architectures with microservices. The end of the monolith?
Elastically scalable architectures with microservices. The end of the monolith?
Javier Arias Losada
 
Innovations that simplify desktop virtualization
Innovations that simplify desktop virtualization Innovations that simplify desktop virtualization
Innovations that simplify desktop virtualization
Dell World
 
Smalltalk speaks dot net
Smalltalk speaks dot netSmalltalk speaks dot net
Smalltalk speaks dot net
ESUG
 
Porta ovunque il tuo desktop
Porta ovunque il tuo desktopPorta ovunque il tuo desktop
Porta ovunque il tuo desktop
Project Informatica
 
Windows Embedded ESC Silicon Valley Keynote Address
Windows Embedded ESC Silicon Valley Keynote AddressWindows Embedded ESC Silicon Valley Keynote Address
Windows Embedded ESC Silicon Valley Keynote Address
Microsoft Windows Embedded
 
Keynote Dev Tech Days09
Keynote  Dev Tech Days09Keynote  Dev Tech Days09
Keynote Dev Tech Days09Gregory Renard
 
SEE the Cloud: Hans Timmerman - De cloud daalt neer op aarde
SEE the Cloud: Hans Timmerman - De cloud daalt neer op aardeSEE the Cloud: Hans Timmerman - De cloud daalt neer op aarde
SEE the Cloud: Hans Timmerman - De cloud daalt neer op aarde
TOPdesk
 
NextStep Boston 2018 - Monoliths or Microservices, Francisco Menezes
NextStep Boston 2018 - Monoliths or Microservices, Francisco MenezesNextStep Boston 2018 - Monoliths or Microservices, Francisco Menezes
NextStep Boston 2018 - Monoliths or Microservices, Francisco Menezes
OutSystems
 
Deconstructing the brian paradox
Deconstructing the brian paradoxDeconstructing the brian paradox
Deconstructing the brian paradox
Chetan Venkatesh
 

Similar to LIDNUG : Reliable applications with messaging (20)

Change your architecture during deployment
Change your architecture during deploymentChange your architecture during deployment
Change your architecture during deployment
 
Sunny Tech 2019 - Craft Forever
Sunny Tech 2019 - Craft ForeverSunny Tech 2019 - Craft Forever
Sunny Tech 2019 - Craft Forever
 
How to fail or succeed with desktop virtualization and workspace mobility
How to fail or succeed with desktop virtualization and workspace mobilityHow to fail or succeed with desktop virtualization and workspace mobility
How to fail or succeed with desktop virtualization and workspace mobility
 
Rethink your architecture - Marten Deinum
Rethink your architecture - Marten DeinumRethink your architecture - Marten Deinum
Rethink your architecture - Marten Deinum
 
The Mobile Enterprise Cloud Hosted Virtual Desktops
The Mobile Enterprise Cloud Hosted Virtual DesktopsThe Mobile Enterprise Cloud Hosted Virtual Desktops
The Mobile Enterprise Cloud Hosted Virtual Desktops
 
The Mobile Enterprise Cloud Hosted Virtual Desktops
The Mobile Enterprise Cloud Hosted Virtual DesktopsThe Mobile Enterprise Cloud Hosted Virtual Desktops
The Mobile Enterprise Cloud Hosted Virtual Desktops
 
Virtual Desktops: How Secure Can They Be?
Virtual Desktops: How Secure Can They Be?Virtual Desktops: How Secure Can They Be?
Virtual Desktops: How Secure Can They Be?
 
VladimirNovikovSlides.ppt
VladimirNovikovSlides.pptVladimirNovikovSlides.ppt
VladimirNovikovSlides.ppt
 
Citrix Day 2013: Keynote von Carlos Rosal
Citrix Day 2013: Keynote von Carlos RosalCitrix Day 2013: Keynote von Carlos Rosal
Citrix Day 2013: Keynote von Carlos Rosal
 
Elastically scalable architectures with microservices. The end of the monolith?
Elastically scalable architectures with microservices. The end of the monolith?Elastically scalable architectures with microservices. The end of the monolith?
Elastically scalable architectures with microservices. The end of the monolith?
 
Innovations that simplify desktop virtualization
Innovations that simplify desktop virtualization Innovations that simplify desktop virtualization
Innovations that simplify desktop virtualization
 
Smalltalk speaks dot net
Smalltalk speaks dot netSmalltalk speaks dot net
Smalltalk speaks dot net
 
Porta ovunque il tuo desktop
Porta ovunque il tuo desktopPorta ovunque il tuo desktop
Porta ovunque il tuo desktop
 
Windows Embedded ESC Silicon Valley Keynote Address
Windows Embedded ESC Silicon Valley Keynote AddressWindows Embedded ESC Silicon Valley Keynote Address
Windows Embedded ESC Silicon Valley Keynote Address
 
ESC Boston 2010
ESC Boston 2010ESC Boston 2010
ESC Boston 2010
 
Keynote Dev Tech Days09
Keynote  Dev Tech Days09Keynote  Dev Tech Days09
Keynote Dev Tech Days09
 
SEE the Cloud: Hans Timmerman - De cloud daalt neer op aarde
SEE the Cloud: Hans Timmerman - De cloud daalt neer op aardeSEE the Cloud: Hans Timmerman - De cloud daalt neer op aarde
SEE the Cloud: Hans Timmerman - De cloud daalt neer op aarde
 
Introduction to CQRS
Introduction to CQRSIntroduction to CQRS
Introduction to CQRS
 
NextStep Boston 2018 - Monoliths or Microservices, Francisco Menezes
NextStep Boston 2018 - Monoliths or Microservices, Francisco MenezesNextStep Boston 2018 - Monoliths or Microservices, Francisco Menezes
NextStep Boston 2018 - Monoliths or Microservices, Francisco Menezes
 
Deconstructing the brian paradox
Deconstructing the brian paradoxDeconstructing the brian paradox
Deconstructing the brian paradox
 

More from Dennis van der Stelt

Dealing with eventual consistency
Dealing with eventual consistencyDealing with eventual consistency
Dealing with eventual consistency
Dennis van der Stelt
 
Dealing with eventual consistency
Dealing with eventual consistencyDealing with eventual consistency
Dealing with eventual consistency
Dennis van der Stelt
 
Duplicating data or replicating data in Micro Services
Duplicating data or replicating data in Micro ServicesDuplicating data or replicating data in Micro Services
Duplicating data or replicating data in Micro Services
Dennis van der Stelt
 
Silverlight & WCF RIA
Silverlight & WCF RIASilverlight & WCF RIA
Silverlight & WCF RIA
Dennis van der Stelt
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
Dennis van der Stelt
 
AppFabric Velocity
AppFabric VelocityAppFabric Velocity
AppFabric Velocity
Dennis van der Stelt
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
Dennis van der Stelt
 
App fabric introduction
App fabric introductionApp fabric introduction
App fabric introduction
Dennis van der Stelt
 
SOLID Principles part 1
SOLID Principles part 1SOLID Principles part 1
SOLID Principles part 1
Dennis van der Stelt
 

More from Dennis van der Stelt (9)

Dealing with eventual consistency
Dealing with eventual consistencyDealing with eventual consistency
Dealing with eventual consistency
 
Dealing with eventual consistency
Dealing with eventual consistencyDealing with eventual consistency
Dealing with eventual consistency
 
Duplicating data or replicating data in Micro Services
Duplicating data or replicating data in Micro ServicesDuplicating data or replicating data in Micro Services
Duplicating data or replicating data in Micro Services
 
Silverlight & WCF RIA
Silverlight & WCF RIASilverlight & WCF RIA
Silverlight & WCF RIA
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
AppFabric Velocity
AppFabric VelocityAppFabric Velocity
AppFabric Velocity
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
App fabric introduction
App fabric introductionApp fabric introduction
App fabric introduction
 
SOLID Principles part 1
SOLID Principles part 1SOLID Principles part 1
SOLID Principles part 1
 

Recently uploaded

RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
UiPathCommunity
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 

Recently uploaded (20)

RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 

LIDNUG : Reliable applications with messaging

  • 1. 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
  • 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
  • 23.
  • 24.
  • 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 dvdstelt@outlook.com