It’s a back end for you mobile apps Giving you storage, authentication oAuth with various social networksServer side business logic with node.js interceptorsPush notifications to different mobile devicesSchedulerOther players include Parse, Kinvey, Buddy, AppceleratorRelatively recent development in cloud computing started circa 2011
All SDKs are open sourced on GitHubREST API for any other device….
Both structured & unstructured storage availableWindows Azure SQL database with a dynamic schema or whatever you fancy!
Cross-origin resource sharing (CORS) is a mechanism that allows a web page to make XMLHttpRequests to another domain.Such "cross-domain" requests would otherwise be forbidden by web browsers, per the same origin security policy. CORS defines a way in which the browser and the server can interact to determine whether or not to allow the cross-origin request.
Some commands to run…azure mobile listazure mobile table list irishazureheads
Windows Azure Mobile Services fromStart to RESTMTUG.ie Windows azure group #irishazureheadsApril 2013
Structured StorageWindows Azure SQL DatabaseDynamic schema on/offApps partitioned by schemaREST API generated per table (very data centric platform)Access your data through the portal, SQL Management studio or REST API
JSON -> SQL data typesJSON value T-SQL typeNumeric values (integer, decimal, floating point) Float(53)Boolean BitDateTime DateTimeOffset(3)String Nvarchar(max)
“Data Centric” Server LogicBackend runs Node.js on small azure VM’s“Interceptors” exposed for all CRUD requests to all tablesYou only get access to a predefined set of node modulesThird party apps exposed through node modules (sendgrid, twilio, pusher)request, console, push.*, tables, sql, statusCodes, azure, mssql
Unstructured Storage“Virtual Tables” let you short-circuit the database entirelyE.g. offload to Azure table storage, azure blob storage, service bus queues !var azure = require(azure);var accountName = <storage-account-name>;var accountKey = <storage-account-key>;var host = accountName + .blob.core.windows.net;var blobService = azure.createBlobService(accountName, accountKey, host);
DemoINTERCEPTORS AND SENDING EMAILS WITH SENDGRID
Push NotificationsThe global push object is used to send push notifications.Success & Error Callbacks are providedMethodpush. apns Apple Push Notification Service iOS appspush. gcm Google Cloud Messaging Android appspush. mpns Microsoft Push Notification Service Windows Phone 8 appspush. wns Windows Notification Services Windows Store apps
AuthorisationTable level authorization for CRUD operationsEveryone: any request by anyone is accepted.Anyone with Application Key: app key distributed w/ the app (default)Authenticated Users: users authenticated by Live Connect.Scripts and Admins: registered scripts or requests via the master keyApplication Key should not be used in production !
Command line toolsCan do “most things” from the command lineCreate/ Delete a new mobile serviceCreate / Delete a tableRegister table scriptslist tables/ mobile servicesNo access to the scheduler from the command line
10 MobileServices1GB SQL Database700 jobs a month
PreviewNo availability SLAGeneral Availability99.9%Shared Instance(multitenant environment)Small instance is the onlysize available; multiple maybe purchasedFree at public previewlaunchUp to 10 applicationsReserved Instance(private VM)Small instance is the onlysize available; multiple maybe purchasedCharge for Preview will beat the same reduced rateas azure websitesUp to 10 applications
ResourcesOfficial Videos & Tutorialshttp://www.windowsazure.com/en-us/develop/mobile/Real world Use Cases & black belt tipshttp://chrisrisner.com/Common-Scenarios-with-Windows-Azure-Mobile-ServicesMr Azure Mobile Services (Josh Twist)http://www.thejoyofcode.com/Cloud Nick ( Nick Harris )http://www.nickharris.net/