Post on 25-Feb-2016
description
Building Connected Android AppsChris RisnerTechnical EvangelistMicrosoft
http://chrisrisner.com@chrisrisner
• Let’s build an app!• How Microsoft got here?• Mobile Services• Features and demos• Win a prize• Questions
What we’re going to talk about
Let’s build an app!
How Microsoft got here?
What we had
Cloud services
Storage Identity
What we neededCross Platform Features
What we made
Auth
What is Windows Azure Mobile Services?
Data
NotificationsServer Logic
Scheduler
Logging & Diag
Scale
Getting Started a backend for your mobile app in minutes Demo
Structured StorageStructured Storage with SQL DatabaseSame DB – multiple Mobile Services
AppX.TodoitemAppY.Todoitem
Manage data inPortal, SQL PortalSQL Management StudioREST APICLI Tools
JSON to SQL type mappingsJSON Value T-SQL TypeNumeric values (integer, decimal, floating point)
Float
Boolean BitDateTime DateTimeOffset(3)String Nvarchar(max)
Server LogicAutomatic REST API generated for storageDynamic Schema on/offAbility to customize server logic that intercepts table requests
Server LogicSupported Modules + Globals
requestconsolepush.*tablesmssqlstatusCodesazurestore (pusher, sendgrid, twilio, etc)
mssql.query('select top 1 * from statusupdates', { success: function(results) { console.log(results);
} }
);
Server Logicadding server logic on CRUD
operations Demo
Push Notification Lifecycle Overview 1. Register for push
notifications2. Send Registration ID to
Mobile Service3. Push from server side
scripts
Android(1)
(2)
(3)(3)
Push NotificationsDemo
User Auth
Auth Data and ScriptsTable level permissions for each CRUD operation
EveryoneAnyone with the Application KeyOnly Authenticated UsersOnly Scripts and Admins
More granular control with server side scriptsuser.level: {admin, authenticated, anonymous}user.userId: id or undefined if not authenticated
Adding Authenticationintegrating with Google Demo
Command Line ToolsCreate servicesDelete servicesCreate (with auth options), update, delete, list tablesUpload, delete, download, list scriptsGet configuration
Using the CLI Demo
SchedulerExecute scripts on a Schedule
by Minutesby Hoursby DaysBy Months
Execute scripts on DemandExamples Periodic purge of old data Poll and aggregate from 3rd party (Twitter, RSS, others) Process/resize images Schedule sending push notifications for a given time of day
Scheduling a taskAdding Todo Items Demo
Diagnostics, Logging and ScaleDiagnosticsAPI callsCPU TimeData Out
Loggingconsole.error(…)console.log(…)…
Scale - ComputeScale out instance countScale up VM size
Scale - StorageScale out mobile service tenant to dedicated SQL DBScale up SQL DB
Diagnostics, Logging, Scale
Demo
Pricing Example:
10 x Mobile Services on shared instances
100MB SQLDatabase
Unlimited data in
<165MB daily out
How?10 FREE mobile services on shared instanceIncludes 165MB/day of FREE data out from API calls Cost - All services sharing a 100MB DB is $5 USD / Month Use Pricing Calculator to Estimate your costs
=$5/ Month
Note: Free data out is per subscription, not per mobile service
Auth
Summary
Data
NotificationsServer Logic
Scheduler
Logging & Diag
Scale
Win a JamBox
• Complete the Quick Start challenge
• 1 extra entry for showing use of Auth
• 3 extra entries for showing use of push
• Winner announced on 4/18
e-mail: chrisner@microsoft.com
The QuickStart Challenge
• Sign up for the free trial at www.windowsazure.com/android
• Complete the Mobile Services QuickStart
• Send me an image (including your account e-mail in the corner)
• Entries must be submitted by Thursday 1pm PST
• E-mail chrisner@microsoft.com
Useful ResourcesGet a Windows Azure Free Trial Accounthttp://www.windowsazure.com/
Learn moreFind videos, tutorials and more at https://www.windowsazure.com/android
Help with Mobile ServicesQ&A Forum: Windows Azure Mobile Services ForumFeature Rqst: Windows Azure Mobile Services UserVoiceFeedback: mobileservices@microsoft.comTwitter: @chrisrisner
Presentations, demos, hands on labsWindows Azure Training Kit: Download here