SlideShare a Scribd company logo
Sponsored & Brought to you by
The top integration features you probably didn’t
know existed in Service Bus
Dan Rosanova
https://twitter.com/DanRosanova
https://www.linkedin.com/in/danrosanova
Some history
• Original Service Bus engineering team was (and continues to have
been) from BizTalk in the past – the messaging side of BizTalk in
particular.
• Same team also maintains MSMQ – still
I knew messaging
I thought I knew Service Bus
Duplicate Detection
• What: Ignore messages that are sent more than once in a specified
time window
• When
• Upstream applications are unpredictable and noisy
• They may send duplicate messages
• Why
• Ever seen a website that says 'don't click buy again to avoid multiple charges'
• How: Use a value as MessageId to control this behavior and set the
window you need on the queue or topic
• Impact: Idempotent processing -> yes you probably need this
Scheduled Messages
• What: place a message in a queue or topic that doesn’t “appear” until
a specified future time
• When
• Sender wants to send something now, but doesn't want an action to take
place on it until later
• Take actions to complete or rollback work at a specified point
• Why: Keep your services as simple as possible – we already have it
• How: Set the ScheduledEnqueueTimeUtc on BrokeredMessage
• Impact: Rich temporal control of long running processes
Defer
• What: Mark a message to be skipped so it doesn’t keep getting read
off a queue or topic
• When: Whenever you can’t process something immediately, but must
process it later
• Why: Not everything will arrive in the order in which you expect it – if
you need a resequencing aggregator this is a good option
• How: Call BrokeredMessage.Defer BUT SAVE the SequenceNumber
• Impact: Provide logical ordered processing even if your senders are
chaotic
If you lose the sequence number of a
message there is no way to read it
WARNING
Auto Forward
• What: Forward all messages to another entity
• When: If current senders have an address you don’t want to use
anymore – or if you want more fine grained security
• Why: Change is hard – getting others to change can be impossible!
• How: Set the ForwardTo property on the Queue or the Subscription
(for a topic)
• Impact: Free yourself from decisions you or someone else made last
year
Actions on Subscriptions
• What: Change message properties when a subscription receives a
message
• When: You want to create rich topologies
• Why:
• Actions allow you to set user properties that can change routing
• This allows expression of any sort of decision tree – almost like BRE
• How: Use the Action property of the RuleDescription
• Impact: Chaining rules with actions allows for creating very rich
topologies that can express almost any logic But maybe shouldn’t
Dead lettering with Auto forward
• What: Send dead letter messages to another entity (queue / topic)
• When: you want more control over where non-deliverable messages
go
• Why: Not all messages fail for the same reason – forwarding to
another entity enables rich failure routing
• How: Use the ForwardDeadLetteredMessagesTo property on Queue
or Subscription
Auto-delete on idle
• What: Delete entities that do not have a Send operation called for a
certain amount of time
• When: You need to create entities for specific flows or scenarios that
are transient in nature and don’t want to clean them up
• Why: No one ever wants to clean up their room – we’ll do it for you
• How: Specify a timespan for AutoDeleteOnIdle on the queue or topic
• Impact: A clean namespace is a happy namespace
OnMessage (.NET Client Only)
• What: A messaging pump that makes dispatching and processing
messages far easier.
• When: Any time you’re reading Service Bus in .NET
• Why: This is our modern approach – we’re making our client easier to
use - think of EventProcessorHost
• How: Set a lambda or function on OnMessage of the QueueClient or
SubscriptionClient
• Impact: Do more with less.

More Related Content

PPTX
BRE Deep Dive
PPTX
BizTalk Server Performance Tips
PPTX
How to automate your BizTalk Installations and Deployments with Chef
PPTX
Modifying and Extending the ESB Toolkit
PDF
BizTalk Server Extensibility
PPTX
Faas With Kata Container
PPTX
Angular4 kickstart
PPTX
Easyling xtm lt-innovate joint-final
BRE Deep Dive
BizTalk Server Performance Tips
How to automate your BizTalk Installations and Deployments with Chef
Modifying and Extending the ESB Toolkit
BizTalk Server Extensibility
Faas With Kata Container
Angular4 kickstart
Easyling xtm lt-innovate joint-final

What's hot (20)

PPTX
JavaScript & CSS Development Workflow
PPTX
WordPress Affiliate Toolkit - Affiliate Summit East 2014
PDF
Navigate around the edge with PowerShell
PPT
DesignPatternsForScalability
PPTX
Microservices: A developer's approach
PDF
Rigadevdays - Communication in a microservice architecture
PPTX
A practical approach on - How to design offline-online synchronization system
PPTX
Full stack development using javascript what and why - ajay chandravadiya
PPTX
Create a modern(ish) BAM portal in (roughly) one hour!
PDF
Keeping in Touch -- Collaborative Technologies
PDF
Saigon Ruby Meetup 06/10/2015 - Changeful Gem
PPTX
SDLC, Agile methodologies and Career in Product management
PPTX
PageSpeed Optimization
PPTX
Using REST with VSTS and TFS
PPTX
What’s right & wrong with WCF-WebHTTP Adapter?
PPTX
Deep Dive building solutions on the SharePoint Framework - SPS Brussels 2016
PPTX
BizTalk ALM
PPTX
Backendless 3.0 Overview
PPT
Create scalable and failure safe cluster MagentoCommerce using cloud hosting ...
PPT
Open-source web CMS: the right question? [+ audio]
JavaScript & CSS Development Workflow
WordPress Affiliate Toolkit - Affiliate Summit East 2014
Navigate around the edge with PowerShell
DesignPatternsForScalability
Microservices: A developer's approach
Rigadevdays - Communication in a microservice architecture
A practical approach on - How to design offline-online synchronization system
Full stack development using javascript what and why - ajay chandravadiya
Create a modern(ish) BAM portal in (roughly) one hour!
Keeping in Touch -- Collaborative Technologies
Saigon Ruby Meetup 06/10/2015 - Changeful Gem
SDLC, Agile methodologies and Career in Product management
PageSpeed Optimization
Using REST with VSTS and TFS
What’s right & wrong with WCF-WebHTTP Adapter?
Deep Dive building solutions on the SharePoint Framework - SPS Brussels 2016
BizTalk ALM
Backendless 3.0 Overview
Create scalable and failure safe cluster MagentoCommerce using cloud hosting ...
Open-source web CMS: the right question? [+ audio]
Ad

Viewers also liked (20)

PPTX
Overview of azure microservices and the impact on integration
PPTX
Azure Service Bus Overview
PPTX
Serverless tools for integrating systems
PPTX
Hybrid connectivity options with the microsoft cloud
PPTX
Microservices and the Cloud based future of integration final
PPTX
Minecraft Integration Demo Deep Dive
PPTX
Combining biz talk server + api apps
PPTX
The ART of Modern Azure Deployments
PPTX
Biz talk summit 2015 – Warm up – Azure Event Hubs
PPTX
Creating reusable pieces in Logic Apps
PPTX
Azure Web Jobs
PPTX
What to look for in an integration platform
PPTX
API Management and Hybrid Integration
PPTX
Azure API Apps
PPTX
Logic apps and PowerApps - Integrate across your APIs
PPTX
Azure Integration in Production with Logic Apps and more
PPTX
Building Push Triggers for Logic Apps
PPTX
Logic Apps – Deployments
PDF
Hybrid Integration using BizTalk and Azure
PPTX
Service Fabric – building tomorrows applications today
Overview of azure microservices and the impact on integration
Azure Service Bus Overview
Serverless tools for integrating systems
Hybrid connectivity options with the microsoft cloud
Microservices and the Cloud based future of integration final
Minecraft Integration Demo Deep Dive
Combining biz talk server + api apps
The ART of Modern Azure Deployments
Biz talk summit 2015 – Warm up – Azure Event Hubs
Creating reusable pieces in Logic Apps
Azure Web Jobs
What to look for in an integration platform
API Management and Hybrid Integration
Azure API Apps
Logic apps and PowerApps - Integrate across your APIs
Azure Integration in Production with Logic Apps and more
Building Push Triggers for Logic Apps
Logic Apps – Deployments
Hybrid Integration using BizTalk and Azure
Service Fabric – building tomorrows applications today
Ad

Similar to The top integration features you probably didn’t know existed in Service Bus (20)

PPTX
Best Features of Azure Service Bus
PPTX
NServiceBus workshop presentation
PPTX
Brokered Messaging in Windows Azure
PDF
Introduction to NServiceBus
PPTX
Azure Messaging Services 2
PPTX
Messaging in the cloud - Azure Service Bus
PPTX
Azure Messaging Services #1
PPTX
Making communication across boundaries simple with Azure Service Bus
PPTX
Message Oriented Architecture using NServiceBus
PPTX
Architectures with Windows Azure
PPTX
SOA Pattern-Asynchronous Queuing
PDF
Taking the hippie bus to the enterprise
PPTX
Azure Service Bus - Taming the Beast
PPTX
Making communications across boundaries simple with NServiceBus
PPTX
Scalable Persistent Message Brokering with WSO2 Message Broker
PPTX
Intro to Azure Service Bus
PPTX
NServiceBus - building a distributed system based on a messaging infrastructure
PDF
OMG Data-Distribution Service (DDS) Tutorial - 2009
PPTX
NServiceBus - introduction to a message based distributed architecture
PDF
Unit 4.pdf
Best Features of Azure Service Bus
NServiceBus workshop presentation
Brokered Messaging in Windows Azure
Introduction to NServiceBus
Azure Messaging Services 2
Messaging in the cloud - Azure Service Bus
Azure Messaging Services #1
Making communication across boundaries simple with Azure Service Bus
Message Oriented Architecture using NServiceBus
Architectures with Windows Azure
SOA Pattern-Asynchronous Queuing
Taking the hippie bus to the enterprise
Azure Service Bus - Taming the Beast
Making communications across boundaries simple with NServiceBus
Scalable Persistent Message Brokering with WSO2 Message Broker
Intro to Azure Service Bus
NServiceBus - building a distributed system based on a messaging infrastructure
OMG Data-Distribution Service (DDS) Tutorial - 2009
NServiceBus - introduction to a message based distributed architecture
Unit 4.pdf

More from BizTalk360 (20)

PPTX
Optimise Business Activity Tracking – Insights from Smurfit Kappa
PPTX
Optimise Business Activity Tracking – Insights from Smurfit Kappa
PPTX
What's inside "migrating to biz talk server 2020" Book (BizTalk360 Webinar)
PPTX
Integration Monday - Logic Apps: Development Experiences
PPTX
Integration Monday - BizTalk Migrator Deep Dive
PPTX
Testing for Logic App Solutions | Integration Monday
PPTX
No-Slides
PPTX
System Integration using Reactive Programming | Integration Monday
PPTX
Building workflow solution with Microsoft Azure and Cloud | Integration Monday
PPTX
Serverless Minimalism: How to architect your apps to save 98% on your Azure b...
PPTX
Migrating BizTalk Solutions to Azure: Mapping Messages | Integration Monday
PPTX
Integration-Monday-Infrastructure-As-Code-With-Terraform
PDF
Integration-Monday-Stateful-Programming-Models-Serverless-Functions
PPTX
Integration-Monday-Serverless-Slackbots-with-Azure-Durable-Functions
PPTX
Integration-Monday-Building-Stateful-Workloads-Kubernetes
PPTX
Integration-Monday-Logic-Apps-Tips-Tricks
PPTX
Integration-Monday-Terraform-Serverless
PPTX
Integration-Monday-Microsoft-Power-Platform
PDF
One name unify them all
PPTX
Securely Publishing Azure Services
Optimise Business Activity Tracking – Insights from Smurfit Kappa
Optimise Business Activity Tracking – Insights from Smurfit Kappa
What's inside "migrating to biz talk server 2020" Book (BizTalk360 Webinar)
Integration Monday - Logic Apps: Development Experiences
Integration Monday - BizTalk Migrator Deep Dive
Testing for Logic App Solutions | Integration Monday
No-Slides
System Integration using Reactive Programming | Integration Monday
Building workflow solution with Microsoft Azure and Cloud | Integration Monday
Serverless Minimalism: How to architect your apps to save 98% on your Azure b...
Migrating BizTalk Solutions to Azure: Mapping Messages | Integration Monday
Integration-Monday-Infrastructure-As-Code-With-Terraform
Integration-Monday-Stateful-Programming-Models-Serverless-Functions
Integration-Monday-Serverless-Slackbots-with-Azure-Durable-Functions
Integration-Monday-Building-Stateful-Workloads-Kubernetes
Integration-Monday-Logic-Apps-Tips-Tricks
Integration-Monday-Terraform-Serverless
Integration-Monday-Microsoft-Power-Platform
One name unify them all
Securely Publishing Azure Services

Recently uploaded (20)

PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Electronic commerce courselecture one. Pdf
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
cuic standard and advanced reporting.pdf
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPT
Teaching material agriculture food technology
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
Understanding_Digital_Forensics_Presentation.pptx
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Electronic commerce courselecture one. Pdf
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Agricultural_Statistics_at_a_Glance_2022_0.pdf
NewMind AI Weekly Chronicles - August'25 Week I
cuic standard and advanced reporting.pdf
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Programs and apps: productivity, graphics, security and other tools
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Teaching material agriculture food technology
MIND Revenue Release Quarter 2 2025 Press Release
MYSQL Presentation for SQL database connectivity
Unlocking AI with Model Context Protocol (MCP)
Understanding_Digital_Forensics_Presentation.pptx

The top integration features you probably didn’t know existed in Service Bus

  • 1. Sponsored & Brought to you by The top integration features you probably didn’t know existed in Service Bus Dan Rosanova https://twitter.com/DanRosanova https://www.linkedin.com/in/danrosanova
  • 2. Some history • Original Service Bus engineering team was (and continues to have been) from BizTalk in the past – the messaging side of BizTalk in particular. • Same team also maintains MSMQ – still
  • 3. I knew messaging I thought I knew Service Bus
  • 4. Duplicate Detection • What: Ignore messages that are sent more than once in a specified time window • When • Upstream applications are unpredictable and noisy • They may send duplicate messages • Why • Ever seen a website that says 'don't click buy again to avoid multiple charges' • How: Use a value as MessageId to control this behavior and set the window you need on the queue or topic • Impact: Idempotent processing -> yes you probably need this
  • 5. Scheduled Messages • What: place a message in a queue or topic that doesn’t “appear” until a specified future time • When • Sender wants to send something now, but doesn't want an action to take place on it until later • Take actions to complete or rollback work at a specified point • Why: Keep your services as simple as possible – we already have it • How: Set the ScheduledEnqueueTimeUtc on BrokeredMessage • Impact: Rich temporal control of long running processes
  • 6. Defer • What: Mark a message to be skipped so it doesn’t keep getting read off a queue or topic • When: Whenever you can’t process something immediately, but must process it later • Why: Not everything will arrive in the order in which you expect it – if you need a resequencing aggregator this is a good option • How: Call BrokeredMessage.Defer BUT SAVE the SequenceNumber • Impact: Provide logical ordered processing even if your senders are chaotic
  • 7. If you lose the sequence number of a message there is no way to read it WARNING
  • 8. Auto Forward • What: Forward all messages to another entity • When: If current senders have an address you don’t want to use anymore – or if you want more fine grained security • Why: Change is hard – getting others to change can be impossible! • How: Set the ForwardTo property on the Queue or the Subscription (for a topic) • Impact: Free yourself from decisions you or someone else made last year
  • 9. Actions on Subscriptions • What: Change message properties when a subscription receives a message • When: You want to create rich topologies • Why: • Actions allow you to set user properties that can change routing • This allows expression of any sort of decision tree – almost like BRE • How: Use the Action property of the RuleDescription • Impact: Chaining rules with actions allows for creating very rich topologies that can express almost any logic But maybe shouldn’t
  • 10. Dead lettering with Auto forward • What: Send dead letter messages to another entity (queue / topic) • When: you want more control over where non-deliverable messages go • Why: Not all messages fail for the same reason – forwarding to another entity enables rich failure routing • How: Use the ForwardDeadLetteredMessagesTo property on Queue or Subscription
  • 11. Auto-delete on idle • What: Delete entities that do not have a Send operation called for a certain amount of time • When: You need to create entities for specific flows or scenarios that are transient in nature and don’t want to clean them up • Why: No one ever wants to clean up their room – we’ll do it for you • How: Specify a timespan for AutoDeleteOnIdle on the queue or topic • Impact: A clean namespace is a happy namespace
  • 12. OnMessage (.NET Client Only) • What: A messaging pump that makes dispatching and processing messages far easier. • When: Any time you’re reading Service Bus in .NET • Why: This is our modern approach – we’re making our client easier to use - think of EventProcessorHost • How: Set a lambda or function on OnMessage of the QueueClient or SubscriptionClient • Impact: Do more with less.