SlideShare una empresa de Scribd logo
1 de 30
Descargar para leer sin conexión
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

Más contenido relacionado

Destacado

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
 

Destacado (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
 

Similar 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
 

Similar 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
 

Más de Andri Yadi

Más 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

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Último (20)

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
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...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 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