Work with Windows Azure from Mobile Apps

Preview:

DESCRIPTION

Talks about Windows Azure Toolkit for WP7, iOS, and Android. Presented on Microsoft TechDays event, Sept 29 2011, Jakarta.

Citation preview

work with Windows Azure from mobile platforms

jakarta, sep 29, 2011

Andri Yadiandri (at) dycode (dot) com@andri_yadi

about me

4 years in a row

start my own company & code for food

8 years in mobile development

a movie freak

the ceo of

i won’t talk much about Azure, but mostly on client side

azure?

receive notifications

use cloud as storage (blob + structured data)

access web applications hosted in azure

work with azure from mobile client apps can be complex

table storage

blob storage

http

scenario 1

you need to create storage, then remember the account name & key

blob storage

REST Endpoint:http://[account].blob.core.windows.net

•List, Create, and Delete Containers•List, Put, Get, Delete Blobs

blob storage

GET  http://watiosdemo.blob.core.windows.net/?comp=list&include=metadata

x-­‐ms-­‐date:  Thu,  14  Apr  2011  20:30:00  GMTx-­‐ms-­‐version:  2009-­‐09-­‐19x-­‐ms-­‐blob-­‐type:  BlockBlobAuthorization:  SharedKey  watiosdemo:[ComputedHash]

list all blob containers

compute hash

AccountKey:  /9seXadQ9HwOpXUO1jKxFN8q…

Request:  GET\n\n\n\n\n\n\n\n\n\n\n\nx-­‐ms-­‐blob-­‐type:BlockBlob\nx-­‐ms-­‐date:Thu,  14  Apr  2011  20:30:00  GMT\nx-­‐ms-­‐version:2009-­‐09-­‐19\n/watiosdemo/\ncomp:list\ninclude:metadata

Hash = HMACSHA256(UTF8Encode(Request), Base64Decode(AccountKey))

blob storage

GET  http://watiosdemo.blob.core.windows.net/?comp=list&include=metadata

x-­‐ms-­‐date:  Thu,  14  Apr  2011  20:30:00  GMTx-­‐ms-­‐version:  2009-­‐09-­‐19x-­‐ms-­‐blob-­‐type:  BlockBlobAuthorization:  SharedKey  watiosdemo:[ComputedHash]

list all blob containers

<?xml  version="1.0"  encoding="utf-­‐8"?><EnumerationResults  AccountName="http://watiosdemo.blob.core.windows.net/">    <Prefix>c</Prefix>    <MaxResults>3</MaxResults>    <Containers>        <Container>            <Name>movieposter</Name>            <Url>http://watiosdemo.blob.core.windows.net/movieposter</Url>            <Properties>                <Last-­‐Modified>Sun,  14  Apr  2011  20:09:03  GMT</Last-­‐Modified>            </Properties>        </Container>    </Containers>....

blob storage

PUT  http://watiosdemo.blob.core.windows.net/movieposter/poster.jpg  

x-­‐ms-­‐date:  Thu,  14  Apr  2011  20:30:00  GMTx-­‐ms-­‐version:  2009-­‐09-­‐19x-­‐ms-­‐blob-­‐type:  BlockBlobAuthorization:  SharedKey  watiosdemo:[ComputedHash]

{...binary  representation  of  image...}

add new image

table storage

REST Endpoint:http://[account].table.core.windows.net

•List, Create, and Delete Tables•List, Put, Get, Delete Table Entities

blob storage

GET  http://watiosdemo.table.core.windows.net/Tables

x-­‐ms-­‐date:  Thu,  14  Apr  2011  20:30:00  GMTx-­‐ms-­‐version:  2009-­‐09-­‐19DataServiceVersion:  1.0;NetFxMaxDataServiceVersion:  2.0;NetFxAuthorization:  SharedKey  watiosdemo:[ComputedHash]

list all tables

<feed  xml:base="http://iostest.tables.core.windows.net/"  xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices"  xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"  xmlns="http://www.w3.org/2005/Atom">    <title  type="text">Tables</title>    <id>http://watiosdemo.tables.core.windows.net/Tables</id>    <updated>2011-­‐04-­‐04T17:18:54.7062347Z</updated>    <link  rel="self"  title="Tables"  href="Tables"  />    <entry>        <id>http://watiosdemo.tables.core.windows.net/Tables(‘movie')</id>        <title  type="text"></title>        <updated>2009-­‐01-­‐04T17:18:54.7062347Z</updated>        <author>            <name  />        </author>....

it’s hard, right? luckily...

there’re toolkits for popular mobile platforms

iOS toolkit

android toolkit

wp7 toolkit

windows azure toolkit for windows phone 7

encapsulates authentication (directly or through proxy)

requests & responses abstraction for cloud storage & SQL Azure

source code is available at: https://watwp.codeplex.com

latest version 1.3.0, sep 30, 2011

supports both Apple push notification & MS push notification

windows azure toolkit for iOS

encapsulates authentication (directly or through proxy)

requests & responses abstraction for cloud storage

supports Apple push notification

source code is available at: https://github.com/microsoft-dpe/wa-toolkit-ios

latest version 1.2.1, aug 31, 2011

windows azure toolkit for android

encapsulates authentication (directly or through proxy)

requests & responses abstraction for cloud storage

source code is available at: https://github.com/microsoft-dpe/wa-toolkit-android

latest version 0.8, aug 31, 2011

demo

we do apps for all mobile platforms

our mobile apps portfolios

our mobile apps portfolios

Recommended