Wow, the team just released a whole new set of features for Windows Azure Mobile Services that really flesh out the back-end service capability for your iOS, Android, Windows Phone, Windows 8 and HTML 5 Web applications.

Here’s the short list:

  • Mobile Services: Custom API support
  • Mobile Services: Git Source Control support
  • Mobile Services: Node.js NPM Module support
  • Mobile Services: A .NET API via NuGet
  • Mobile Services and Web Sites: Free 20MB SQL Database Option for Mobile Services and Web Sites
  • Mobile Notification Hubs: Android Broadcast Push Notification Support

Scott Guthrie of course has the best post about it, but here are a few highlights

With today’s update we are extending this support even further and introducing the ability for you to also create and expose Custom APIs from your Mobile Service backend, and easily publish them to your Mobile clients without having to associate them with a data table. This capability enables a whole set of new scenarios – including the ability to work with data sources other than SQL Databases (for example: Table Services or MongoDB), broker calls to 3rd party APIs, integrate with Windows Azure Queues or Service Bus, work with custom non-JSON payloads (e.g. Windows Periodic Notifications), route client requests to services back on-premises (e.g. with the new Windows Azure BizTalk Services), or simply implement functionality that doesn’t correspond to a database operation.  The custom APIs can be written in server-side JavaScript (using Node.js) and can use Node’s NPM packages.  We will also be adding support for custom APIs written using .NET in the future as well.

 

This really brings power to the ease of Mobile Services based apps. The previous ability to do basic CRUD scripting was pretty good, but this makes it industrial strength. So pretty much anything you can code, can be part of the back-end of your mobile services. Being able to have mobile services let you send messages to Azure queues, then after a long running transaction, be able to broker the notification back to the mobile clients is huge.

This of this in a government scenario. From whatever mobile device you have, you can fill in a change of address form, the details can be sent via the Service Bus to a BizTalk Services orchestration, which can dispense messages to each interested organisation in their own message format. The BizTalk Service can then correlate all of the responses and notify you that all of the agencies have been updated. All from one small submission form.  I love this idea!  Or the RTA (DMV for US people) can send you a notification that your driver’s license is about to expire and ask if you would you like to pre-fill your renewal form by verifying the current data and hitting a single button. The request can be digitally signed and routed to the RTA all from you phone. You stop in, get you picture taken and pick up your license without ever picking up a pen.

 

Now we are also bringing Notification hubs to Android applications. You know if you’ve heard me talk in the last year or so, I’ve been on this rant about Device Independent Delivery of Cloud based Services. This step helps you get even closer to that deployment model. From one back-end platform you can reach Web, Windows 8, Windows Phone, iOS and Android devices. It is the only truly multiplatform notification service.  Here’s what Scott said about the new Notification hubs:

Earlier this year, we introduced a new capability in Windows Azure for sending broadcast push notifications at high scale: Notification Hubs.

In the initial preview of Notification Hubs you could use this support with both iOS and Windows devices.  Today we’re excited to announce new Notification Hubs support for sending push notifications to Android devices as well.

Push notifications are a vital component of mobile applications.  They are critical not only in consumer apps, where they are used to increase app engagement and usage, but also in enterprise apps where up-to-date information increases employee responsiveness to business events.  You can use Notification Hubs to send push notifications to devices from any type of app (a Mobile Service, Web Site, Cloud Service or Virtual Machine).

Notification Hubs provide you with the following capabilities:

  • Cross-platform Push Notifications Support. Notification Hubs provide a common API to send push notifications to iOS, Android, or Windows Store at once.  Your app can send notifications in platform specific formats or in a platform-independent way. 
  • Efficient Multicast. Notification Hubs are optimized to enable push notification broadcast to thousands or millions of devices with low latency.  Your server back-end can fire one message into a Notification Hub, and millions of push notifications can automatically be delivered to your users.  Devices and apps can specify a number of per-user tags when registering with a Notification Hub. These tags do not need to be pre-provisioned or disposed, and provide a very easy way to send filtered notifications to an infinite number of users/devices with a single API call.  
  • Extreme Scale. Notification Hubs enable you to reach millions of devices without you having to re-architect or shard your application.  The pub/sub routing mechanism allows you to broadcast notifications in a super-efficient way.  This makes it incredibly easy to route and deliver notification messages to millions of users without having to build your own routing infrastructure.
  • Usable from any Backend App. Notification Hubs can be easily integrated into any back-end server app, whether it is a Mobile Service, a Web Site, a Cloud Service or an IAAS VM.

 

Very cool stuff, for very cool times. Check out the rest of Scott Guthrie’s post for more details and get coding!