ROLE 1 ROLE 2 Q/T Durable 1:1 – 1:n – Filtered Sessions w/State De-duplication Transactions Batching Scheduling & TTL Auto-forwarding Dead-lettering Queue/Topic Features: And Many More…
Cloud-Hosted Service Service DB On-Premises Resources Relay
User Engagement
Registration at app launch Client app contacts Platform Notification Service, to retrieve a “handle” (e.g. ChannelURIs, device tokens) Client app informs back-end of the “handle” Sending notifications App back-end sends a notification to the PNS PNS pushes the notification to the device/app Maintenance App back-end must delete expired handles Platform Notification Service App back-end Client app
One-time set up Create a Notification Hub in Service Bus It stores the credentials required by the Platform Notification Service (PNS) Register Client app gets updated handle from PNS Client app creates (or updates) a registration on the Notification Hub with current handle Send Notification App back-end sends a message to the Hub Notification Hub pushes message to the PNS APNsWNS Service Bus Notification Hub App back-end iOS app Windows Store app
Service Bus Notification Hub Tag:”Beatles” Tag:”Wailers” App back-end Tag:”Beatles”
Service Bus Notification Hub App back-end $(message) { aps: { alert: “$(message)” }} { message: “Hello!” } Hello!
Location Transparency & Addressability
Service Bus Topics IIS (Node.js) Server 1IIS (Node.js) Server 2IIS (Node.js) Server 3IIS (Node.js) Server 4 Client Group 1 Client Group 2 Client Group 3 Client Group 4
Q7Q8Q9Q4Q5Q6Q1Q2Q3 Publisher
S7S8S9S4S5S6S1S2S3 Publisher Topic
S1’S2’ S3’ Publisher Topic (distribution layer) All messages forwarded to all second tier Topics
S7S8S9S4S5S6S1S2S3 Publisher Topic Q7Q8Q9Q4Q5Q6Q1Q2Q3 Up to 5 GB per Queue Up to 5 GB for the Topic
Client Platform Diversity
Choosing the Right Auth Model
Example rules for a SB Topic, i.e., windows.net/myTopic