Introduction to Using Windows Azure Platform for Windows Phone Applications

Introduction

The Windows Phone
platform limits application development to either Silverlight based development or XNA based development. While
these platforms will work for most of the application scenarios, there are
still scenarios where you might want to refactor some of the application logic
into a dedicated functionality that resides outside the application and can be
called on an as needed basis as a web service.

Microsoft offers a cloud computing platform called Windows Azure that serves
this requirement.

Let us explore the Windows Azure platform in more detail.

Windows Azure Platform

Windows Azure platform is defined as a bunch of services
hosted by Microsoft that provide highly-scalable processing and storage
capabilities, database services, data subscriptions and other services.

Of the various offerings via the Windows Azure platform, let
us explore the ones that can be leveraged for use in the Windows Phone
applications.

Windows Azure Compute Offering

Windows
Azure Compute Services
offer scalable computing services that can execute
both managed and native code.

Windows Phone platform only allows managed code. This limits
the capability of many Windows Phone applications. Application developers can
use Azure compute service to do some computing not supported by the Windows
Phone platform.

Here are a few advantages of using Windows Azure compute
services:

  • Processing is no longer limited to the device, so CPU heavy
    computations, which can drain the battery life, can be done via a Windows Azure
    service. Also, since Azure services can be scaled up or down, you are not
    limited to how many processors you can use for computing.
  • Windows Azure environment is maintained at Microsoft datacenters
    so they are guaranteed to be always available for use in your Windows Phone
    application.
  • You are not limited to only using Silverlight and XNA framework
    libraries. You can write services in any of the languages/platforms that Azure
    supports, even native code.

Windows Azure Storage Offering

Since the phone only comes with 8GB and 16GB of storage
available, you can use Azure for storing your application data. Say you were
developing an application where you want to store state information. It is easy
for the state information to be misused by a rogue application. By having this
information in the cloud, you can protect it from malicious applications.

Database Offering

SQL Azure is a cloud-based relational database that is based
on SQL Server. SQL
Azure allows easy provisioning and deployment of databases because developers
do not have to install, setup or manage any software (It is taken care by
Microsoft). This also comes with high fault tolerance and high up-time. Windows
Phone application developers can use web services to store and retrieve data in
a SQL Azure database.

Marketplace Offering

Windows Azure
Marketplace DataMarket
enables developers to discover, purchase and manage
data subscriptions using oData feeds. We have already seen how to use oData
services in an earlier article (Using oData
Services in a Windows Phone Application
). oData offers REST-based APIs to
simply data access via the oData Client library for Windows Phone.

Summary

In this article, we learned about Windows Azure services,
which can be used in a Windows Phone application. I hope you have found this
information useful and can use it in developing Windows Phone application,
which uses the Windows Azure platform.

More by Author

Must Read