Slide 1

Slide 1 text

consuming Azure services from node.js & smartphones Microsoft TechDays, jakarta, feb 13, 2012

Slide 2

Slide 2 text

about andri yadi a (at) dycode (dot) com @andri_yadi

Slide 3

Slide 3 text

the ceo of

Slide 4

Slide 4 text

4 years in a row

Slide 5

Slide 5 text

2011-2012

Slide 6

Slide 6 text

start a company & code for food 9 years in mobile development

Slide 7

Slide 7 text

about arif setiawan arif (at) dycode (dot) com @ken121f

Slide 8

Slide 8 text

mobile division lead

Slide 9

Slide 9 text

master degree in computer engineering hardcore c/c++ developer, recently fall in love with Node.js & Azure

Slide 10

Slide 10 text

we won’t talk much about Azure, but mostly on mobile client side & node.js

Slide 11

Slide 11 text

azure?

Slide 12

Slide 12 text

receive notifications use cloud as storage (blob + structured data) access web applications hosted in azure

Slide 13

Slide 13 text

blob storage http scenario 1 - access webapp/web service table storage node.js app on azure

Slide 14

Slide 14 text

table storage blob storage http scenario 2 - access azure storage

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

blob storage REST Endpoint: http://[account].blob.core.windows.net •List, Create, and Delete Containers •List, Put, Get, Delete Blobs

Slide 17

Slide 17 text

blob storage GET  http://azuretechdemo.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] list all blob containers

Slide 18

Slide 18 text

compute hash AccountKey:  /9seXadQ9HwOpXUO1jKxFN8q… Request:  GET\n\n\n\n\n\n\n\n\n\n\n\nx-­‐ms-­‐blob-­‐type:BlockBlob\nx-­‐ms-­‐ date:Thu,  14  Apr  2011  20:30:00  GMT\nx-­‐ms-­‐version:2009-­‐09-­‐19\n/ watiosdemo/\ncomp:list\ninclude:metadata Hash = HMACSHA256(UTF8Encode(Request), Base64Decode(AccountKey))

Slide 19

Slide 19 text

blob storage GET  http://azuretechdemo.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] list all blob containers    c    3                        movieposter            http://watiosdemo.blob.core.windows.net/movieposter                            Sun,  14  Apr  2011  20:09:03  GMT                         ....

Slide 20

Slide 20 text

blob storage PUT  http://azuretechdemo.blob.core.windows.net/demoimages/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...} add new image

Slide 21

Slide 21 text

table storage REST Endpoint: http://[account].table.core.windows.net •List, Create, and Delete Tables •List, Put, Get, Delete Table Entities

Slide 22

Slide 22 text

blob storage 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] list all tables    Tables    http://watiosdemo.tables.core.windows.net/Tables    2011-­‐04-­‐04T17:18:54.7062347Z                http://watiosdemo.tables.core.windows.net/Tables(‘movie')                2009-­‐01-­‐04T17:18:54.7062347Z                             ....

Slide 23

Slide 23 text

it’s hard, right? luckily...

Slide 24

Slide 24 text

there’re toolkits for popular mobile platforms iOS toolkit android toolkit wp7 toolkit

Slide 25

Slide 25 text

windows azure toolkit for windows phone 7 encapsulates authentication (directly or through proxy) requests & responses abstraction for cloud storage & SQL Azure source code is available at: https://watwp.codeplex.com latest version 1.3.2, nov 29, 2011 supports both Apple push notification & MS push notification

Slide 26

Slide 26 text

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/WindowsAzure-Toolkits/wa-toolkit-ios latest version 1.2.1, aug 31, 2011

Slide 27

Slide 27 text

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 1.0

Slide 28

Slide 28 text

demo

Slide 29

Slide 29 text

blob storage http scenario 1 - access node.js service node.js app on azure

Slide 30

Slide 30 text

blob storage http scenario 2 - access blob storage directly

Slide 31

Slide 31 text

No content

Slide 32

Slide 32 text

we do apps for all mobile platforms

Slide 33

Slide 33 text

our mobile apps portfolios

Slide 34

Slide 34 text

our mobile apps portfolios