SlideShare uma empresa Scribd logo
1 de 30
Baixar para ler offline
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
we do apps for all mobile platforms
our mobile apps portfolios
our mobile apps portfolios

Mais conteúdo relacionado

Destaque

WCF Data Services - Office Business Application &amp; iPhone
WCF Data Services - Office Business Application &amp; iPhoneWCF Data Services - Office Business Application &amp; iPhone
WCF Data Services - Office Business Application &amp; iPhone
Andri Yadi
 

Destaque (20)

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

Semelhante a Work with Windows Azure from Mobile Apps

Windows Azure Toolkit for iOS
Windows Azure Toolkit for iOSWindows Azure Toolkit for iOS
Windows Azure Toolkit for iOS
Simon Guest
 
Cross-Platform Mobile Development in Visual Studio
Cross-Platform Mobile Development in Visual StudioCross-Platform Mobile Development in Visual Studio
Cross-Platform Mobile Development in Visual Studio
bryan costanich
 
HTML5 vs Silverlight
HTML5 vs SilverlightHTML5 vs Silverlight
HTML5 vs Silverlight
Matt Casto
 

Semelhante a Work with Windows Azure from Mobile Apps (20)

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

Mais de Andri Yadi

Mais de Andri Yadi (20)

AIoT: Intelligence on Microcontroller
AIoT: Intelligence on MicrocontrollerAIoT: Intelligence on Microcontroller
AIoT: Intelligence on Microcontroller
 
TechInAsia PDC 2019 - Unlocking The Potential of IoT with AI
TechInAsia PDC 2019 - Unlocking The Potential of IoT with AITechInAsia PDC 2019 - Unlocking The Potential of IoT with AI
TechInAsia PDC 2019 - Unlocking The Potential of IoT with AI
 
Global Azure Bootcamp 2019 - AIoT powered by Azure
Global Azure Bootcamp 2019 - AIoT powered by AzureGlobal Azure Bootcamp 2019 - AIoT powered by Azure
Global Azure Bootcamp 2019 - AIoT powered by Azure
 
Introduction to AIoT & TinyML - with Arduino
Introduction to AIoT & TinyML - with ArduinoIntroduction to AIoT & TinyML - with Arduino
Introduction to AIoT & TinyML - with Arduino
 
Opportunities & Challenges in IoT - Future of IoT industry in Indonesia 2019 ...
Opportunities & Challenges in IoT - Future of IoT industry in Indonesia 2019 ...Opportunities & Challenges in IoT - Future of IoT industry in Indonesia 2019 ...
Opportunities & Challenges in IoT - Future of IoT industry in Indonesia 2019 ...
 
Microsoft Azure-powered IoT & AI Solution To Help Farmer
Microsoft Azure-powered IoT & AI Solution To Help FarmerMicrosoft Azure-powered IoT & AI Solution To Help Farmer
Microsoft Azure-powered IoT & AI Solution To Help Farmer
 
IoT Connectivity with LoRa
IoT Connectivity with LoRaIoT Connectivity with LoRa
IoT Connectivity with LoRa
 
Ask the Expert: Internet of Things
Ask the Expert: Internet of ThingsAsk the Expert: Internet of Things
Ask the Expert: Internet of Things
 
Global Azure Bootcamp 2018 - Azure IoT Central
Global Azure Bootcamp 2018 - Azure IoT CentralGlobal Azure Bootcamp 2018 - Azure IoT Central
Global Azure Bootcamp 2018 - Azure IoT Central
 
Maker Movement toward IoT Ecosystem in Indonesia
Maker Movement toward IoT Ecosystem in IndonesiaMaker Movement toward IoT Ecosystem in Indonesia
Maker Movement toward IoT Ecosystem in Indonesia
 
IoT for Agriculture in a Nutshell: Technical Perspective
IoT for Agriculture in a Nutshell: Technical PerspectiveIoT for Agriculture in a Nutshell: Technical Perspective
IoT for Agriculture in a Nutshell: Technical Perspective
 
Road to Republic of IoT - IoT Technologies & Machine Learning
Road to Republic of IoT - IoT Technologies & Machine LearningRoad to Republic of IoT - IoT Technologies & Machine Learning
Road to Republic of IoT - IoT Technologies & Machine Learning
 
IoT Connectivity: The Technical & Potential
IoT Connectivity: The Technical & PotentialIoT Connectivity: The Technical & Potential
IoT Connectivity: The Technical & Potential
 
IT Solution through IoT Development
IT Solution through IoT DevelopmentIT Solution through IoT Development
IT Solution through IoT Development
 
Internet of Things - Technicals
Internet of Things - TechnicalsInternet of Things - Technicals
Internet of Things - Technicals
 
Global Azure Bootcamp 2017 - Azure IoT Hub with LoRa Connectivity
Global Azure Bootcamp 2017 - Azure IoT Hub with LoRa ConnectivityGlobal Azure Bootcamp 2017 - Azure IoT Hub with LoRa Connectivity
Global Azure Bootcamp 2017 - Azure IoT Hub with LoRa Connectivity
 
The state of NB-IoT in Indonesia
The state of NB-IoT in IndonesiaThe state of NB-IoT in Indonesia
The state of NB-IoT in Indonesia
 
Industrial IoT in a Nutshell
Industrial IoT in a NutshellIndustrial IoT in a Nutshell
Industrial IoT in a Nutshell
 
The Rise of Maker Movement in Indonesia
The Rise of Maker Movement in IndonesiaThe Rise of Maker Movement in Indonesia
The Rise of Maker Movement in Indonesia
 
Road to Republic of IoT - ESP32 Programming and LoRa
Road to Republic of IoT - ESP32 Programming and LoRaRoad to Republic of IoT - ESP32 Programming and LoRa
Road to Republic of IoT - ESP32 Programming and LoRa
 

Último

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Último (20)

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 

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
  • 27.
  • 28. we do apps for all mobile platforms
  • 29. our mobile apps portfolios
  • 30. our mobile apps portfolios