SlideShare a Scribd company logo
The road to a Service
Oriented Architecture
is paved with messages
All I want to do when I wake up in
the morning is…
(cit. Rosanna, Toto, Toto IV)
Tickets web site
Buy a ticket
Stage dive… :-)
All what they want to do is…
Display available tickets
Reserve with the theater
Charge my credit card
Deal with insurance
Ship tickets
Deal with their stuff
sometimes order
doesn’t matter…
sometimes it does!
spot the
Warehouse
Insurance
DTC
Multiple resources
--
Multiple owners
Transaction boundaries
• user perspective: single operation
• system perspective: multiple operations
• That should be “atomic” (not as in ACID)
• The business transaction spans multiple boundaries
• Theater reservation
• Credit card
• Insurance
• Shipping
• Internal stuff
• and more…
…big ball of mud…
When crossing
service boundaries
we cannot expect
transactions to work
SOA
Boundaries
are explicit
DTC forget you must
Compensation you should welcome
Idempotency your best friend is
Messages you want
Messages are
Atomic
Messages are
Unique
Messages tell
stories
Messaging Patterns
Because not all communication is born equal
Request/Response
message sent to someone
implies some coupling
we know each other
Pub/Sub
broadcasted event, in the past
implies less coupling
subscribers know the publisher
FinanceMarketing
OrdersCheckout request
Shipping
Charge card
request
Payment
Gateway
Charge card
response
Warehouse
Collect
Items
Order Submitted
Shipping
Order
shipped
others
Order
Payed
Shipment request
FedEx
Gateway
Shipment response
Collection
Completed
Charge card
request
Payment
Gateway
Shipping
FinanceMarketing
OrdersCheckout request
Shipping
Warehouse
Collect
Items
Collection
Completed
Order Submitted
Payment Failure
We won’t ship! :-)
Messages in a nutshell
• Less coupling
• respect your boundaries
• No temporal coupling
• messages are asynchronous
• Much less maintenance/deployment headaches
• autonomous components
• Easy scale-out
• competing consumers
• Guaranteed delivery
• with error management
We do this all day long
Mauro Servienti
Solution Architect @ Particular Software
makers of NServiceBus
mauro.servienti@particular.net
@mauroservienti
//blogs.ugidotnet.org/topics
//milestone.topics.it
Thank you
Go! Tell stories about your world.

More Related Content

PPTX
Welcome to the (state) machine @ ExploreDDD 2019
PPTX
Designing a ui for microservices @ .NET Day Switzerland 2019
PPTX
Welcome to the (state) machine @ Xe One Day Enterprise Applications
PPTX
All our aggregates are wrong @ NDC Copenhagen 2019
PPTX
Be like water, my friend @ Agile for Innovation 2019
PPTX
Microservices architecture is it the right choice to design long-living syste...
PPTX
Titles, abstracts, and bio matter... oh my! @ Global Diversity CFP Day 2019
PPTX
Living organizations, particular software @ do IT Better Parma
Welcome to the (state) machine @ ExploreDDD 2019
Designing a ui for microservices @ .NET Day Switzerland 2019
Welcome to the (state) machine @ Xe One Day Enterprise Applications
All our aggregates are wrong @ NDC Copenhagen 2019
Be like water, my friend @ Agile for Innovation 2019
Microservices architecture is it the right choice to design long-living syste...
Titles, abstracts, and bio matter... oh my! @ Global Diversity CFP Day 2019
Living organizations, particular software @ do IT Better Parma

More from Mauro Servienti (20)

PPTX
Welcome to the (state) machine @ Crafted Software
PPTX
PO is dead, long live the PO - Italian Agile Day 2018
PPTX
Design a UI for your Microservices @ Do IT Better
PPTX
Microservices and pineapple on pizza what do they have in common - dos and ...
PPTX
All our aggregates are wrong (ExploreDDD 2018)
PPTX
Designing a ui for microservices
PPTX
Po is dead, long live the po
PPTX
Shipping code is not the problem, deciding what to ship it is!
PPTX
GraphQL - Where are you from? Where are you going?
PPTX
Dall'idea al deploy un lungo viaggio che passa per git flow e semver
PPTX
Progettare una UI per i Microservices
PPTX
La via verso SOA è lastricata di messaggi
PPTX
Implementare il single sign on con IdentityServer
PPTX
How we daily manage and work in a dispersed company: Particular Software
PPTX
From cogs to nirvana
PPTX
DevOps e scelte architetturali: tre scenari reali
PPTX
Croce e delizia del lavoro remoto
PPTX
Croce e delizia del lavoro remoto
PPTX
Applicazioni event driven__un_esempio_con_angular_js.
PPTX
Designing a ui for microservices
Welcome to the (state) machine @ Crafted Software
PO is dead, long live the PO - Italian Agile Day 2018
Design a UI for your Microservices @ Do IT Better
Microservices and pineapple on pizza what do they have in common - dos and ...
All our aggregates are wrong (ExploreDDD 2018)
Designing a ui for microservices
Po is dead, long live the po
Shipping code is not the problem, deciding what to ship it is!
GraphQL - Where are you from? Where are you going?
Dall'idea al deploy un lungo viaggio che passa per git flow e semver
Progettare una UI per i Microservices
La via verso SOA è lastricata di messaggi
Implementare il single sign on con IdentityServer
How we daily manage and work in a dispersed company: Particular Software
From cogs to nirvana
DevOps e scelte architetturali: tre scenari reali
Croce e delizia del lavoro remoto
Croce e delizia del lavoro remoto
Applicazioni event driven__un_esempio_con_angular_js.
Designing a ui for microservices
Ad

Recently uploaded (20)

PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PPTX
Odoo POS Development Services by CandidRoot Solutions
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PPTX
Essential Infomation Tech presentation.pptx
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PDF
How Creative Agencies Leverage Project Management Software.pdf
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
PDF
Nekopoi APK 2025 free lastest update
PPTX
L1 - Introduction to python Backend.pptx
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PPTX
ai tools demonstartion for schools and inter college
PPTX
Introduction to Artificial Intelligence
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
Design an Analysis of Algorithms I-SECS-1021-03
How to Migrate SBCGlobal Email to Yahoo Easily
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
Odoo POS Development Services by CandidRoot Solutions
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
Essential Infomation Tech presentation.pptx
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Odoo Companies in India – Driving Business Transformation.pdf
How Creative Agencies Leverage Project Management Software.pdf
Upgrade and Innovation Strategies for SAP ERP Customers
wealthsignaloriginal-com-DS-text-... (1).pdf
Nekopoi APK 2025 free lastest update
L1 - Introduction to python Backend.pptx
Design an Analysis of Algorithms II-SECS-1021-03
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
ai tools demonstartion for schools and inter college
Introduction to Artificial Intelligence
VVF-Customer-Presentation2025-Ver1.9.pptx
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
Ad

The road to a Service Oriented Architecture is paved with messages

Editor's Notes

  • #7: Let me tell that you of that time when {the vendor I cannot name} gifted me with a nice {flat x86 device with a very thin keyboard} {the story} It’s obvious that there are two very different point of views here.
  • #10: The ticket is one, from our point of of view is a ticket. From the point of view of Customer Care a ticket is something completely different to what it is from the point of view of someone else
  • #14: As in a ledger or a bank account statement