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
we do apps for all mobile platforms
our mobile apps portfolios
our mobile apps portfolios

More Related Content

Viewers also liked

ID-ObjectiveConference 2012 - Keynote
ID-ObjectiveConference 2012 - KeynoteID-ObjectiveConference 2012 - Keynote
ID-ObjectiveConference 2012 - Keynote
Andri Yadi
 
Wearables + Azure development
Wearables + Azure developmentWearables + Azure development
Wearables + Azure development
Andri Yadi
 
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; iPhoneAndri Yadi
 
Practical Office Business Application
Practical Office Business ApplicationPractical Office Business Application
Practical Office Business Application
Andri Yadi
 
Social App Development with Qt
Social App Development with QtSocial App Development with Qt
Social App Development with Qt
Andri Yadi
 
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
Andri Yadi
 
Entity Framework v2 Best Practices
Entity Framework v2 Best PracticesEntity Framework v2 Best Practices
Entity Framework v2 Best Practices
Andri Yadi
 
iOS Development - Offline Class for Jasakomer
iOS Development - Offline Class for JasakomeriOS Development - Offline Class for Jasakomer
iOS Development - Offline Class for Jasakomer
Andri Yadi
 
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
Andri Yadi
 
IoT Development from Software Developer Perspective
IoT Development from Software Developer PerspectiveIoT Development from Software Developer Perspective
IoT Development from Software Developer Perspective
Andri Yadi
 
Introduction to Android App Development
Introduction to Android App DevelopmentIntroduction to Android App Development
Introduction to Android App Development
Andri Yadi
 
Mobile Apps - The Business & Technology
Mobile Apps - The Business & TechnologyMobile Apps - The Business & Technology
Mobile Apps - The Business & Technology
Andri Yadi
 
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
Andri Yadi
 
Mobile Development Platforms
Mobile Development PlatformsMobile Development Platforms
Mobile Development Platforms
Andri Yadi
 
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)
Andri Yadi
 
iCloud
iCloudiCloud
iCloud
Andri Yadi
 
Internet of Things - Technological Perspective
Internet of Things - Technological PerspectiveInternet of Things - Technological Perspective
Internet of Things - Technological Perspective
Andri Yadi
 
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...
Andri Yadi
 
iOS Development - A Beginner Guide
iOS Development - A Beginner GuideiOS Development - A Beginner Guide
iOS Development - A Beginner Guide
Andri Yadi
 
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
Andri Yadi
 

Viewers also liked (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 to Work with Windows Azure from Mobile Apps

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
Simon Guest
 
Windows Azure Toolkit for iOS
Windows Azure Toolkit for iOSWindows Azure Toolkit for iOS
Windows Azure Toolkit for iOSSimon Guest
 
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
Michele Orselli
 
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 Studiobryan costanich
 
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
Hanneke Dotnet
 
PowerShell Technical Overview
PowerShell Technical OverviewPowerShell Technical Overview
PowerShell Technical Overview
allandcp
 
HTML5 vs Silverlight
HTML5 vs SilverlightHTML5 vs Silverlight
HTML5 vs SilverlightMatt Casto
 
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...
Maarten Balliauw
 
OSCON 2011 Learning CouchDB
OSCON 2011 Learning CouchDBOSCON 2011 Learning CouchDB
OSCON 2011 Learning CouchDB
Bradley Holt
 
One-Man Ops
One-Man OpsOne-Man Ops
One-Man Ops
Jos Boumans
 
Sjug aug 2010_cloud
Sjug aug 2010_cloudSjug aug 2010_cloud
Sjug aug 2010_cloud
Michael Neale
 
Azure and Umbraco CMS
Azure and Umbraco CMSAzure and Umbraco CMS
Azure and Umbraco CMS
Orbit One - We create coherence
 
Node js introduction
Node js introductionNode js introduction
Node js introduction
Joseph de Castelnau
 
Echo HTML5
Echo HTML5Echo HTML5
Echo HTML5
Nathan Smith
 
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...
Marc Müller
 
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
ukdpe
 
Don't touch the mobile parts
Don't touch the mobile partsDon't touch the mobile parts
Don't touch the mobile parts
Francesco Fullone
 
Azure serverless Full-Stack kickstart
Azure serverless Full-Stack kickstartAzure serverless Full-Stack kickstart
Azure serverless Full-Stack kickstart
Davide Mauri
 
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
Bill Wilder
 
State ofappdevelopment
State ofappdevelopmentState ofappdevelopment
State ofappdevelopment
gillygize
 

Similar to 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
 

More from Andri Yadi

AIoT: Intelligence on Microcontroller
AIoT: Intelligence on MicrocontrollerAIoT: Intelligence on Microcontroller
AIoT: Intelligence on Microcontroller
Andri Yadi
 
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
Andri Yadi
 
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
Andri Yadi
 
Introduction to AIoT & TinyML - with Arduino
Introduction to AIoT & TinyML - with ArduinoIntroduction to AIoT & TinyML - with Arduino
Introduction to AIoT & TinyML - with Arduino
Andri Yadi
 
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 ...
Andri Yadi
 
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
Andri Yadi
 
IoT Connectivity with LoRa
IoT Connectivity with LoRaIoT Connectivity with LoRa
IoT Connectivity with LoRa
Andri Yadi
 
Ask the Expert: Internet of Things
Ask the Expert: Internet of ThingsAsk the Expert: Internet of Things
Ask the Expert: Internet of Things
Andri Yadi
 
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
Andri Yadi
 
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
Andri Yadi
 
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
Andri Yadi
 
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
Andri Yadi
 
IoT Connectivity: The Technical & Potential
IoT Connectivity: The Technical & PotentialIoT Connectivity: The Technical & Potential
IoT Connectivity: The Technical & Potential
Andri Yadi
 
IT Solution through IoT Development
IT Solution through IoT DevelopmentIT Solution through IoT Development
IT Solution through IoT Development
Andri Yadi
 
Internet of Things - Technicals
Internet of Things - TechnicalsInternet of Things - Technicals
Internet of Things - Technicals
Andri Yadi
 
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
Andri Yadi
 
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
Andri Yadi
 
Industrial IoT in a Nutshell
Industrial IoT in a NutshellIndustrial IoT in a Nutshell
Industrial IoT in a Nutshell
Andri Yadi
 
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
Andri Yadi
 
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
Andri Yadi
 

More from 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
 

Recently uploaded

Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 

Recently uploaded (20)

Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 

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