SlideShare a Scribd company logo
jakarta, sep 29, 2011




work with Windows Azure
   from mobile platforms




Andri Yadi
andri (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?
use cloud as storage
(blob + structured data)
access web applications
hosted in azure
receive notifications
work with azure from mobile
 client apps can be complex
scenario 1




       table storage

http



       blob storage
you need to create storage, then
remember the account name & key
REST Endpoint:
http://[account].blob.core.windows.net

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




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

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




                                                 blob storage
compute hash



AccountKey:	
  /9seXadQ9HwOpXUO1jKxFN8q…

Request:	
  GETnnnnnnnnnnnnx-­‐ms-­‐blob-­‐type:BlockBlobnx-­‐ms-­‐
date:Thu,	
  14	
  Apr	
  2011	
  20:30:00	
  GMTnx-­‐ms-­‐version:2009-­‐09-­‐19n/
watiosdemo/ncomp:listninclude:metadata


Hash = HMACSHA256(UTF8Encode(Request), Base64Decode(AccountKey))
list all blob containers
GET	
  http://watiosdemo.blob.core.windows.net/?comp=list&include=metadata

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




 <?xml	
  version="1.0"	
  encoding="utf-­‐8"?>
 <EnumerationResults	
  AccountName="http://watiosdemo.blob.core.windows.net/">

                                                                 blob storage
 	
  	
  <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>
 ....
add new image
PUT	
  http://watiosdemo.blob.core.windows.net/movieposter/poster.jpg	
  

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

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




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

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




                            table storage
list all tables
GET	
  http://watiosdemo.table.core.windows.net/Tables

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




 <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>
                                                 blob storage
 	
  	
  <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

supports both Apple push
notification & MS push notification

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


latest version 1.3.0, sep 30, 2011
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
Work with Windows Azure from Mobile Apps
we do apps for all mobile platforms
our mobile apps portfolios
our mobile apps portfolios

More Related Content

PPTX
The Ball Content Sync with Device Client
PDF
DEF CON 27 - workshop - GUILLAUME ROSS - defending environments and hunting m...
PDF
Building Your Startup with Technology
PDF
Monetizing Mobile Apps
PDF
How to Build and Sell Mobile Apps - Apple's App Store Case Study
PDF
Mobile Application Development with WP7 & Others
PDF
ID-ObjectiveConference 2012 - Introduction to iOS Development
The Ball Content Sync with Device Client
DEF CON 27 - workshop - GUILLAUME ROSS - defending environments and hunting m...
Building Your Startup with Technology
Monetizing Mobile Apps
How to Build and Sell Mobile Apps - Apple's App Store Case Study
Mobile Application Development with WP7 & Others
ID-ObjectiveConference 2012 - Introduction to iOS Development

Viewers also liked (20)

PDF
ID-ObjectiveConference 2012 - Keynote
PDF
Wearables + Azure development
PDF
WCF Data Services - Office Business Application &amp; iPhone
PPTX
Practical Office Business Application
PDF
Social App Development with Qt
PDF
Develop & Deploy Node.js app on Windows Azure
PPTX
Entity Framework v2 Best Practices
PDF
iOS Development - Offline Class for Jasakomer
PDF
Office 2010 Development in Visual Studio 2010
PDF
IoT Development from Software Developer Perspective
PDF
Introduction to Android App Development
PDF
Mobile Apps - The Business & Technology
PDF
Raspberry Pi 2 + Windows 10 IoT Core + Node.js
PDF
Mobile Development Platforms
PDF
End-to-end Mobile App Development (with iOS and Azure Mobile Services)
PDF
iCloud
PDF
Internet of Things - Technological Perspective
PDF
Global Azure Bootcamp 2016 - Real-world Internet of Things Backend with Azure...
PDF
iOS Development - A Beginner Guide
PDF
Echelon Indonesia 2016 - Innovation Through Opportunities in IoT & Arduino
ID-ObjectiveConference 2012 - Keynote
Wearables + Azure development
WCF Data Services - Office Business Application &amp; iPhone
Practical Office Business Application
Social App Development with Qt
Develop & Deploy Node.js app on Windows Azure
Entity Framework v2 Best Practices
iOS Development - Offline Class for Jasakomer
Office 2010 Development in Visual Studio 2010
IoT Development from Software Developer Perspective
Introduction to Android App Development
Mobile Apps - The Business & Technology
Raspberry Pi 2 + Windows 10 IoT Core + Node.js
Mobile Development Platforms
End-to-end Mobile App Development (with iOS and Azure Mobile Services)
iCloud
Internet of Things - Technological Perspective
Global Azure Bootcamp 2016 - Real-world Internet of Things Backend with Azure...
iOS Development - A Beginner Guide
Echelon Indonesia 2016 - Innovation Through Opportunities in IoT & Arduino
Ad

Similar to Work with Windows Azure from Mobile Apps (20)

PPTX
Developing iPhone and iPad apps that leverage Windows Azure
PPTX
Windows Azure Toolkit for iOS
PDF
Hopping in clouds: a tale of migration from one cloud provider to another
PPT
Cross-Platform Mobile Development in Visual Studio
PPT
Microsoft Azure, door Rob Brommer op de 4DotNet Developers Day
PPT
PowerShell Technical Overview
KEY
HTML5 vs Silverlight
PPTX
Windows Azure Web Sites - Things they don’t teach kids in school - Comunity D...
KEY
OSCON 2011 Learning CouchDB
PDF
One-Man Ops
KEY
Sjug aug 2010_cloud
PPTX
Azure and Umbraco CMS
PPTX
Node js introduction
PDF
Echo HTML5
PDF
Experts Live Switzerland 2017 - Automatisierte Docker Release Pipeline mit VS...
PPT
Windows Azure and a little SQL Data Services
PDF
Don't touch the mobile parts
PPTX
Azure serverless Full-Stack kickstart
PPT
Building Cloud-Native Applications with Microsoft Windows Azure
PPT
State ofappdevelopment
Developing iPhone and iPad apps that leverage Windows Azure
Windows Azure Toolkit for iOS
Hopping in clouds: a tale of migration from one cloud provider to another
Cross-Platform Mobile Development in Visual Studio
Microsoft Azure, door Rob Brommer op de 4DotNet Developers Day
PowerShell Technical Overview
HTML5 vs Silverlight
Windows Azure Web Sites - Things they don’t teach kids in school - Comunity D...
OSCON 2011 Learning CouchDB
One-Man Ops
Sjug aug 2010_cloud
Azure and Umbraco CMS
Node js introduction
Echo HTML5
Experts Live Switzerland 2017 - Automatisierte Docker Release Pipeline mit VS...
Windows Azure and a little SQL Data Services
Don't touch the mobile parts
Azure serverless Full-Stack kickstart
Building Cloud-Native Applications with Microsoft Windows Azure
State ofappdevelopment
Ad

More from Andri Yadi (20)

PDF
AIoT: Intelligence on Microcontroller
PDF
TechInAsia PDC 2019 - Unlocking The Potential of IoT with AI
PDF
Global Azure Bootcamp 2019 - AIoT powered by Azure
PDF
Introduction to AIoT & TinyML - with Arduino
PDF
Opportunities & Challenges in IoT - Future of IoT industry in Indonesia 2019 ...
PDF
Microsoft Azure-powered IoT & AI Solution To Help Farmer
PDF
IoT Connectivity with LoRa
PDF
Ask the Expert: Internet of Things
PDF
Global Azure Bootcamp 2018 - Azure IoT Central
PDF
Maker Movement toward IoT Ecosystem in Indonesia
PDF
IoT for Agriculture in a Nutshell: Technical Perspective
PDF
Road to Republic of IoT - IoT Technologies & Machine Learning
PDF
IoT Connectivity: The Technical & Potential
PDF
IT Solution through IoT Development
PDF
Internet of Things - Technicals
PDF
Global Azure Bootcamp 2017 - Azure IoT Hub with LoRa Connectivity
PDF
The state of NB-IoT in Indonesia
PDF
Industrial IoT in a Nutshell
PDF
The Rise of Maker Movement in Indonesia
PDF
Road to Republic of IoT - ESP32 Programming and LoRa
AIoT: Intelligence on Microcontroller
TechInAsia PDC 2019 - Unlocking The Potential of IoT with AI
Global Azure Bootcamp 2019 - AIoT powered by Azure
Introduction to AIoT & TinyML - with Arduino
Opportunities & Challenges in IoT - Future of IoT industry in Indonesia 2019 ...
Microsoft Azure-powered IoT & AI Solution To Help Farmer
IoT Connectivity with LoRa
Ask the Expert: Internet of Things
Global Azure Bootcamp 2018 - Azure IoT Central
Maker Movement toward IoT Ecosystem in Indonesia
IoT for Agriculture in a Nutshell: Technical Perspective
Road to Republic of IoT - IoT Technologies & Machine Learning
IoT Connectivity: The Technical & Potential
IT Solution through IoT Development
Internet of Things - Technicals
Global Azure Bootcamp 2017 - Azure IoT Hub with LoRa Connectivity
The state of NB-IoT in Indonesia
Industrial IoT in a Nutshell
The Rise of Maker Movement in Indonesia
Road to Republic of IoT - ESP32 Programming and LoRa

Recently uploaded (20)

PDF
Getting Started with Data Integration: FME Form 101
PDF
project resource management chapter-09.pdf
PDF
Hindi spoken digit analysis for native and non-native speakers
PDF
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
PDF
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
PPTX
SOPHOS-XG Firewall Administrator PPT.pptx
PDF
August Patch Tuesday
PDF
Web App vs Mobile App What Should You Build First.pdf
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
1 - Historical Antecedents, Social Consideration.pdf
PPTX
1. Introduction to Computer Programming.pptx
PPTX
Chapter 5: Probability Theory and Statistics
PPTX
A Presentation on Touch Screen Technology
PPTX
TLE Review Electricity (Electricity).pptx
PDF
Approach and Philosophy of On baking technology
PDF
Enhancing emotion recognition model for a student engagement use case through...
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Heart disease approach using modified random forest and particle swarm optimi...
PDF
A novel scalable deep ensemble learning framework for big data classification...
Getting Started with Data Integration: FME Form 101
project resource management chapter-09.pdf
Hindi spoken digit analysis for native and non-native speakers
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
SOPHOS-XG Firewall Administrator PPT.pptx
August Patch Tuesday
Web App vs Mobile App What Should You Build First.pdf
Assigned Numbers - 2025 - Bluetooth® Document
1 - Historical Antecedents, Social Consideration.pdf
1. Introduction to Computer Programming.pptx
Chapter 5: Probability Theory and Statistics
A Presentation on Touch Screen Technology
TLE Review Electricity (Electricity).pptx
Approach and Philosophy of On baking technology
Enhancing emotion recognition model for a student engagement use case through...
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Heart disease approach using modified random forest and particle swarm optimi...
A novel scalable deep ensemble learning framework for big data classification...

Work with Windows Azure from Mobile Apps

  • 1. jakarta, sep 29, 2011 work with Windows Azure from mobile platforms Andri Yadi andri (at) dycode (dot) com @andri_yadi
  • 3. 4 years in a row
  • 4. start my own company & code for food
  • 5. 8 years in mobile development
  • 8. i won’t talk much about Azure, but mostly on client side
  • 10. use cloud as storage (blob + structured data) access web applications hosted in azure receive notifications
  • 11. work with azure from mobile client apps can be complex
  • 12. scenario 1 table storage http blob storage
  • 13. you need to create storage, then remember the account name & key
  • 14. REST Endpoint: http://[account].blob.core.windows.net •List, Create, and Delete Containers •List, Put, Get, Delete Blobs blob storage
  • 15. list all blob containers GET  http://watiosdemo.blob.core.windows.net/?comp=list&include=metadata x-­‐ms-­‐date:  Thu,  14  Apr  2011  20:30:00  GMT x-­‐ms-­‐version:  2009-­‐09-­‐19 x-­‐ms-­‐blob-­‐type:  BlockBlob Authorization:  SharedKey  watiosdemo:[ComputedHash] blob storage
  • 16. compute hash AccountKey:  /9seXadQ9HwOpXUO1jKxFN8q… Request:  GETnnnnnnnnnnnnx-­‐ms-­‐blob-­‐type:BlockBlobnx-­‐ms-­‐ date:Thu,  14  Apr  2011  20:30:00  GMTnx-­‐ms-­‐version:2009-­‐09-­‐19n/ watiosdemo/ncomp:listninclude:metadata Hash = HMACSHA256(UTF8Encode(Request), Base64Decode(AccountKey))
  • 17. list all blob containers GET  http://watiosdemo.blob.core.windows.net/?comp=list&include=metadata x-­‐ms-­‐date:  Thu,  14  Apr  2011  20:30:00  GMT x-­‐ms-­‐version:  2009-­‐09-­‐19 x-­‐ms-­‐blob-­‐type:  BlockBlob Authorization:  SharedKey  watiosdemo:[ComputedHash] <?xml  version="1.0"  encoding="utf-­‐8"?> <EnumerationResults  AccountName="http://watiosdemo.blob.core.windows.net/"> blob storage    <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> ....
  • 18. add new image PUT  http://watiosdemo.blob.core.windows.net/movieposter/poster.jpg   x-­‐ms-­‐date:  Thu,  14  Apr  2011  20:30:00  GMT x-­‐ms-­‐version:  2009-­‐09-­‐19 x-­‐ms-­‐blob-­‐type:  BlockBlob Authorization:  SharedKey  watiosdemo:[ComputedHash] {...binary  representation  of  image...} blob storage
  • 19. REST Endpoint: http://[account].table.core.windows.net •List, Create, and Delete Tables •List, Put, Get, Delete Table Entities table storage
  • 20. list all tables GET  http://watiosdemo.table.core.windows.net/Tables x-­‐ms-­‐date:  Thu,  14  Apr  2011  20:30:00  GMT x-­‐ms-­‐version:  2009-­‐09-­‐19 DataServiceVersion:  1.0;NetFx MaxDataServiceVersion:  2.0;NetFx Authorization:  SharedKey  watiosdemo:[ComputedHash] <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> blob storage    <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> ....
  • 21. it’s hard, right? luckily...
  • 22. there’re toolkits for popular mobile platforms iOS toolkit android toolkit wp7 toolkit
  • 23. windows azure toolkit for windows phone 7 encapsulates authentication (directly or through proxy) requests & responses abstraction for cloud storage & SQL Azure supports both Apple push notification & MS push notification source code is available at: https://watwp.codeplex.com latest version 1.3.0, sep 30, 2011
  • 24. 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
  • 25. 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
  • 26. demo
  • 28. we do apps for all mobile platforms
  • 29. our mobile apps portfolios
  • 30. our mobile apps portfolios