This past week the Service Bus team at Microsoft rolled out a preview of their latest offering called Service Bus Notification Hubs. For those of those of you who keep an eye open for all things Middleware from Microsoft, you may recognize the code name of the project: Iguazu. You may have even seen Iguazu presented by Clemens Vasters at one of the recent Microsoft conferences/summits.
What are Service Bus Notification Hubs?
So what are Service Bus Notification Hubs? Probably the simplest way to explain it is an internet-scale Push Notification Service. Push Notifications are nothing new. The major mobile platforms all have them and you have inevitably used them if you use social media apps like Facebook, Twitter or even games. These notifications are often called “Toast Notifications” in the sense that they pop up and inform you of some relevant event such as someone commenting on a post of yours or informing you that you have been mentioned on Twitter.
If they have been around for a while, why do I care about them now?
Just because Notification Services from Apple, Google and Microsoft have been around for a long time, doesn’t mean that it has been easy to use them. Often times developers need to manage all of the subscriptions and channels within their own data stores. Developers were also required to deal with the nuances of the different platforms and managing which subscriptions were running on a particular platform. This results in a lot of fragmentation. Finally, dealing with large scale has also been challenging for some organizations. Imagine if you were a large media outlet with hundreds of thousands or millions of users. Providing timely notifications to users of this magnitude becomes extremely important. For example receiving a notification for a touchdown that happened in the 2nd Quarter when the game is already over is not a good user experience. Service Bus Notification Hubs can take care of this by delivering to a wide audience immediately.
Benefits of using Service Bus Notification Hubs
While I am relatively new to this technical domain(mobile notifications), I found building solutions off of Service Bus Notification Hubs was pretty straight forward. I find it very compelling that I can choose to use Native Notifications that are specific to a respective platform or I can just use one of the many generic templates that ship and can address devices on multiple platforms. Since the service is currently in “preview mode”, only Windows 8 and IOS notifications are supported but Microsoft is targeting Android and Windows Phone when the service becomes Generally Available. Another key benefit, and perhaps this is why it is in the Service Bus family, is the service is true Pub-Sub. I don’t have to worry about specific subscriptions. I just have to throw the message at the Service Bus and let it figure out who is interested in it. It could be 1 person/device or it could be 100 000. It doesn’t matter to my Server code. This features alone makes the service worth it.
There is quite a bit of content that is already available for this topic and I recommend checking out the following links:
- Service Bus Notification Announcement by Scott Guthrie
- Service Bus Notification Hubs – Code Walkthrough (Windows 8 Edition)
- Service Bus Notification Hubs – Code Walkthrough (IOS)
- Service Bus Notification Hubs – Elio Damaggio
Also stay tuned to this blog where I will be walking through a corporate scenario from the Energy sector where I will combine Service Bus Notification Hubs, BizTalk and Windows 8 Store Apps.