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
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
Windows Azure Compute Offering
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
Here are a few advantages of using Windows Azure compute
- 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
- 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.
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 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.
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.