world azure day mobile services presentation
DESCRIPTION
A presentation on the powerful capabilities of Microsoft Azure Mobile Services, by Dmitri Artamonov of BlueMetal Architects.TRANSCRIPT
![Page 1: World Azure Day Mobile Services Presentation](https://reader036.vdocuments.us/reader036/viewer/2022062514/558a2de0d8b42ac25d8b458b/html5/thumbnails/1.jpg)
Azure Mobile Services
Global Microsoft Azure Day March 29, 2014
Presented by Dmitri Artamonov@dartamon
![Page 2: World Azure Day Mobile Services Presentation](https://reader036.vdocuments.us/reader036/viewer/2022062514/558a2de0d8b42ac25d8b458b/html5/thumbnails/2.jpg)
Agenda
• Mobile Services – origin and purpose• Client-side Features• Server-side Features• Demos• Lab
![Page 3: World Azure Day Mobile Services Presentation](https://reader036.vdocuments.us/reader036/viewer/2022062514/558a2de0d8b42ac25d8b458b/html5/thumbnails/3.jpg)
![Page 4: World Azure Day Mobile Services Presentation](https://reader036.vdocuments.us/reader036/viewer/2022062514/558a2de0d8b42ac25d8b458b/html5/thumbnails/4.jpg)
Back-end in a box
• Android, iOS, Xamarin, WinRT, WP, HTML5/JS• Easily create services• Azure Portal set up• Server scripting in JS
![Page 5: World Azure Day Mobile Services Presentation](https://reader036.vdocuments.us/reader036/viewer/2022062514/558a2de0d8b42ac25d8b458b/html5/thumbnails/5.jpg)
Mobile Services
Data
iOSHTML5WinRT
API
Push Auth
![Page 6: World Azure Day Mobile Services Presentation](https://reader036.vdocuments.us/reader036/viewer/2022062514/558a2de0d8b42ac25d8b458b/html5/thumbnails/6.jpg)
Data Services
• Querying – REST verbs (including PATCH, former MERGE)
• Filtering• Transact-SQL• Paging – Take/Skip
![Page 7: World Azure Day Mobile Services Presentation](https://reader036.vdocuments.us/reader036/viewer/2022062514/558a2de0d8b42ac25d8b458b/html5/thumbnails/7.jpg)
Dynamic Schema
• No need to pre-define the table schema• INSERT to a table and columns created by
magic• Disable function before going to production
![Page 8: World Azure Day Mobile Services Presentation](https://reader036.vdocuments.us/reader036/viewer/2022062514/558a2de0d8b42ac25d8b458b/html5/thumbnails/8.jpg)
Filtering
var query = todoItemTable.where({ complete: false
}).read().done(function (results) { alert(JSON.stringify(results));
}, function (err) { alert("Error: " + err);
});
![Page 9: World Azure Day Mobile Services Presentation](https://reader036.vdocuments.us/reader036/viewer/2022062514/558a2de0d8b42ac25d8b458b/html5/thumbnails/9.jpg)
Filtering – cont’d
• Request very similar to WCF Data Services:
GET /tables/todoitem?$filter= (complete+eq+false) HTTP/1.1
![Page 10: World Azure Day Mobile Services Presentation](https://reader036.vdocuments.us/reader036/viewer/2022062514/558a2de0d8b42ac25d8b458b/html5/thumbnails/10.jpg)
Transact SQL
• mssql.query(sql, params, options)
mssql.query('select top 3 * from statusupdates’,{ success: function(results {
console.log(results); }, error: function(err) {
console.log("error is: " + err); } });
![Page 11: World Azure Day Mobile Services Presentation](https://reader036.vdocuments.us/reader036/viewer/2022062514/558a2de0d8b42ac25d8b458b/html5/thumbnails/11.jpg)
Push Notifications
• WNS, Apple Push or Google Cloud• Windows Store client secret and package sid• Apple Store app certificate• Google API key
![Page 12: World Azure Day Mobile Services Presentation](https://reader036.vdocuments.us/reader036/viewer/2022062514/558a2de0d8b42ac25d8b458b/html5/thumbnails/12.jpg)
Authentication
• Live ID, Facebook, Google, Twitter, Azure ADS• Need the private API keys • Simple API call to log in as a user• Can filter data queries based on the user -
authorization
![Page 13: World Azure Day Mobile Services Presentation](https://reader036.vdocuments.us/reader036/viewer/2022062514/558a2de0d8b42ac25d8b458b/html5/thumbnails/13.jpg)
Authentication - ADS
• Azure provide Active Directory as an authentication service
• Need private keys to add to Mobile Services• Demo?
![Page 14: World Azure Day Mobile Services Presentation](https://reader036.vdocuments.us/reader036/viewer/2022062514/558a2de0d8b42ac25d8b458b/html5/thumbnails/14.jpg)
Scripting and Promises
• Server-side scripting available for CRUD, sched jobs and custom APIs
• Promises are async delegates using the then() and done() functions
• Launch when a value is returned• query.read().done( // do work );
![Page 15: World Azure Day Mobile Services Presentation](https://reader036.vdocuments.us/reader036/viewer/2022062514/558a2de0d8b42ac25d8b458b/html5/thumbnails/15.jpg)
Custom APIs
• Can create custom APIs with Javascript• Custom APIs get invoked on REST verbs• Javascript used to script the response
![Page 16: World Azure Day Mobile Services Presentation](https://reader036.vdocuments.us/reader036/viewer/2022062514/558a2de0d8b42ac25d8b458b/html5/thumbnails/16.jpg)
DEMOAzure Mobile Services
![Page 17: World Azure Day Mobile Services Presentation](https://reader036.vdocuments.us/reader036/viewer/2022062514/558a2de0d8b42ac25d8b458b/html5/thumbnails/17.jpg)
Things we missed
• Notification Hubs• Blob Storage• Source Control• Individual notifications• Custom API periodic notifications• Recovery/Error Handling• Voice and SMS
![Page 18: World Azure Day Mobile Services Presentation](https://reader036.vdocuments.us/reader036/viewer/2022062514/558a2de0d8b42ac25d8b458b/html5/thumbnails/18.jpg)
Questions?
![Page 19: World Azure Day Mobile Services Presentation](https://reader036.vdocuments.us/reader036/viewer/2022062514/558a2de0d8b42ac25d8b458b/html5/thumbnails/19.jpg)
LABAzure Mobile Services
![Page 20: World Azure Day Mobile Services Presentation](https://reader036.vdocuments.us/reader036/viewer/2022062514/558a2de0d8b42ac25d8b458b/html5/thumbnails/20.jpg)
Lab links
• http://www.windowsazure.com/en-us/develop/mobile/resources-html/
• “Get started with data”• “Get started with authentication”• “Use scripts to authorize users”