Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Dennis van der Stelt
and building reliable systems
Dennis van der Stelt
Software Architect
http://dennis.bloggingabout.net...
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 in...
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 cou...
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 ...
Dennis van der Stelt
TEMPORAL COUPLING
Asynchronous communication
Order accepted
DoesCompanyHaveCredit(companyId)
Place ne...
Dennis van der Stelt
TEMPORAL COUPLING
Event Driven Communication
Order accepted
Publish CompanyHasCredit status
Place new...
demo
NServiceBus Demo
Dennis van der Stelt
true loose coupling
retries / no data loss
smaller transactions
simplification of structure
improved ...
Dennis van der Stelt
Warehouse Service
Sales Service
Product Service
Ordering
Products
Shipping
CQRS & Event Sourcing
CRUD...
messaging is business agility
Dennis van der Stelt
find me.
http://dennis.bloggingabout.net
dvdstelt@outlook.com
LIDNUG : Reliable applications with messaging
LIDNUG : Reliable applications with messaging
Upcoming SlideShare
Loading in …5
×

LIDNUG : Reliable applications with messaging

440 views

Published on

Within a system, components communicate with each other through methods, services, etc. But what to do when a database connection times out, or the famous NullReference exception occurs? We log the error, but how do we offer call again to our system? Can we do this automated? During this session you’ll learn how to use messaging to solve the mentioned issues. How you can build more reliable, measurable and more robust software. You’ll also learn how to do this with both WCF and NServiceBus.

Published in: Technology
  • Be the first to comment

LIDNUG : Reliable applications with messaging

  1. 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. 2. Dennis van der Stelt AGENDA
  3. 3. Dennis van der Stelt
  4. 4. Dennis van der Stelt Separation of concerns Flexibility & Reusability Scalability why all the layers?
  5. 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. 6. Dennis van der Stelt COUPLING Which layer has the worst coupling?
  7. 7. Dennis van der Stelt
  8. 8. Dennis van der Stelt MONOLITHIC DESIGN How does my clean code become a big ball of mud? Database
  9. 9. Dennis van der Stelt MONOLITHIC DESIGN How does my clean code become a big ball of mud? Database
  10. 10. reduce coupling
  11. 11. Dennis van der Stelt SpatialTemporalPlatform coupling aspects
  12. 12. Dennis van der Stelt PLATFORM Also known as ‘interoperability’ http, json, xml, xsd, etc…
  13. 13. Dennis van der Stelt TEMPORAL Store Front End Shipping Service
  14. 14. Dennis van der Stelt TEMPORAL Store Front End Shipping ServiceShipping Service
  15. 15. Dennis van der Stelt TEMPORAL Store Front End Shipping ServiceOrder Queue
  16. 16. Dennis van der Stelt TEMPORAL Store Front End Shipping ServiceOrder Queue
  17. 17. Dennis van der Stelt TEMPORAL Store Front End Shipping ServiceOrder Queue
  18. 18. Dennis van der Stelt SPATIAL
  19. 19. Dennis van der Stelt SPATIAL .net application .net application ShipOrder AssignTask
  20. 20. Dennis van der Stelt Messaging  Reduces spatial coupling  XML/JSON for platform coupling  Asynchronous for temporal coupling
  21. 21. demo Messaging using WCF
  22. 22. Dennis van der Stelt PERFORMANCE RPC versus Messaging
  23. 23. what is the best pizza?
  24. 24. Dennis van der Stelt TEMPORAL COUPLING Synchronouscommunication Order accepted DoesCompanyHaveCredit(companyId) Place new order Company
  25. 25. Dennis van der Stelt TEMPORAL COUPLING Asynchronous communication Order accepted DoesCompanyHaveCredit(companyId) Place new order GotData? GotData? GotData? :)
  26. 26. Dennis van der Stelt TEMPORAL COUPLING Event Driven Communication Order accepted Publish CompanyHasCredit status Place new order Store data
  27. 27. demo NServiceBus Demo
  28. 28. Dennis van der Stelt true loose coupling retries / no data loss smaller transactions simplification of structure improved manageability
  29. 29. Dennis van der Stelt Warehouse Service Sales Service Product Service Ordering Products Shipping CQRS & Event Sourcing CRUD 3 Tier ARCHITECTURAL STYLES
  30. 30. messaging is business agility
  31. 31. Dennis van der Stelt find me. http://dennis.bloggingabout.net dvdstelt@outlook.com

×