Introduction to Azure’s Mobility Services
The Microsoft Azure mobility services is the definitive one stop solution for any app developer’s backend needs. This article describes the theory and helps you implement the same.
Introduction
Windows Azure Mobile Services (WAMS) is an MBaaS (Mobile Backend as a Service), connoting a light-weight Backend as a Service, primarily for mobile and tablet apps. These are services designed to accelerate the process of creating highly-functional mobile apps by offering easy-to-use, scalable backend services. Windows Azure Mobile Services (WAMS) has a set of services that enable backend capabilities for apps, thus allowing the developer to focus on the front end of the app. It is the ideal choice for app developers, as it reduces the development and deployment times for the app, without the developer needing to ever worry about hosting, configurations etc.
Why MBaaS?
Developers who use MBaaS need focus only on creating engaging app experiences on any client platform – WAMS takes care of the rest. Without MBaaS, an app developer would need to worry about configuring a server, setting up a database, setting up the service, managing users, setting up push notifications etc. apart from developing the app itself. With an MBaaS like WAMS though, all of that is provided in the package, with only the app needing to be developed. So instead of firing up a cloud-based database, a separate push-notification server, and a user-management system which requires constant managing, an MBaaS provides all of this while also not needing to bother about the uptime and scalability of the app. MBaaS also enables additional layers of security, all of this while Intellectual Property rights are fully protected as no business logic is exposed to the mobile clients.
Why Microsoft Azure Mobile Services?
The core functionalities of an MBaaS could be narrowed down to:
• Cross-platform support.
• Push notifications.
• User management
• Synchronised data & security.
Cross-platform support: A major reason for using an MBaaS is the ability to support an application across multiple platforms. WAMS fully supports Windows, Android and iOS platforms.
Push notification: Real-time push notifications are an essential element of mobile applications, and sending a push notification to display a toast or change the tile on the client device has never been easier. With one line of JavaScript embedded on Azure, Azure Mobiles Services provides the ability to send Push Notifications to supported platforms: Windows Phone, iOS and Android. With the following functions, the mobile service can send small messages globally or to individual devices.
• "push.wns” (Windows 8)
• push.apns” (Apple)
• "push.gcm” (Android)
• "push.mpns” (Windows Phone)
User Management: User management is a central facet of the functionality of MBaaS, as it ties directly into the security of the entire platform. WAMS supports authentication from different providers like Facebook, Google, Microsoft Account, and Twitter. Azure Active Directory is also an authentication provider for Azure Mobile Services. This lets the developer personalise the user experience based on their social APIs and also increases engagement. WAMS tries to simplify this process by providing a one-stop area for maintaining your OAuth credentials. An example of this is the ability to add scopes to the App Settings in the Configure area:
Synchronising data: Synchronising cross-platform data is essential for any application that aims to become a vital part of the users in all areas of their lives – as a user today rarely interacts with just one device, or even a platform. Not only does Azure provide this, it also facilitates an offline sync feature where developers can write apps that are usable even when the end user has no network access.
Additional key features of WAMS
Structured Storage: On Windows, iOS, or Android, using WAMS, the developer can easily store structured data in the cloud. The user can send and retrieve structured data between the client device and Azure using JSON messages or with the Windows Azure Mobile Services SDK. The backend of this storage is a SQL Server database but, as already mentioned, the user doesn’t have to take think about it.
Real-time Analysis: Capptain is a mobile analytics solution that Microsoft has acquired, and with it the app developers can engage with app users to deliver real-time reports analyzing their behavior. This also clearly showcases how the user interacts with the app – the push notifications, the in-app messaging etc. Combining this feature with push notifications lets the developer send the right message at the right time, creating an extremely satisfying customer experience.
On-premise integration: An on-premise solution is one where the MBaaS environment is deployed into servers that the user owns. WAMS provides a lot of options for on-premise integration. WAMS enables the user to easily create a cloud-hosted mobility layer on top while using Hybrid Connections to safely connect to them back on the user’s premises.
Relational database integration: Despite the advent of NOSQL based databases, relational databases are still majorly used, and support for relational databases is key. The .NET backend of WAMS makes it easy to take advantage of existing relational databases in creating a mobile service. An existing SQL database (on-premise, or on cloud) could also be used by other applications, to make existing data available to mobile clients.
Table management: Provisioning and management of tables for storing app data was never easier. WAMS prefixes all its tables, so that the user can just add it to an existing database if required. Connecting it to a new database also is easy with the user just needing to query the tables or add new ones. WAMS also gives the user precise control for authorizing access to tables.
And all of this was just the tip of the iceberg! Microsoft Azure Mobile Services is the definitive one stop solution for any app developer’s backend needs.