Dataverse must publish invoice changes to downstream systems. A billing service, a data warehouse loader and a notification service each need every message, and more subscribers will be added later without changing anything in Dataverse. Which service endpoint design should the developer register?
Select an answer to reveal the explanation.
Short Explanation
A queue is a single inbox; whoever reads a letter takes it away. A topic is a mailing list: every subscriber gets a copy, and you add new subscribers on the Azure side. Webhooks per subscriber work until you notice each new one means editing Dataverse again.
Full Explanation
The topic contract posts each execution context to a Service Bus topic, and every subscription on that topic receives its own copy. Each downstream system reads from its own subscription at its own pace, and adding a subscriber later is an Azure-side change; the Dataverse registration stays the same. With a queue contract, competing consumers share one queue and each message is removed by whichever reader takes it, so the billing service, loader and notifier would each see only part of the stream. A webhook per subscriber delivers copies, but every new subscriber requires another webhook registration and step in Dataverse, which violates the requirement, and each receiver must be online when posts arrive. Event Hubs consumers do not delete events; they track their own position, so the idea of one subscriber removing events for others is mistaken, and Event Hubs targets high-volume streaming rather than per-message business processing. Exam caveat: choose a queue when one logical consumer processes each message, and a topic when several independent consumers each need everything. Operational check: create three subscriptions, update one invoice, and confirm the message count increases by one in each subscription.