cross platform mobile backend with mobile services
TRANSCRIPT
Cross Platform Mobile Backend with Mobile
Services
James Quick@jamesqquick
Windows Azure Mobile Services
• Intro to Azure and the Cloud• What is Mobile Services?• Creating a Mobile Service• Authentication – choice of
providers• Push Notifications – Toast &
Tiles• Native Applications
Agenda
Azure and the Cloud
Microsoft Azure
Comprehensive set of services that enable you to quickly build, deploy and manage applications across a global network of Microsoft-managed datacenters
Solid
Open
Flexible
Azure – The Big Picture:
On Premises
Storage
Servers
Networking
O/S
Middleware
Virtualization
Data
Applications
Runtime
You
man
age
Infrastructure(as a Service)
Storage
Servers
Networking
O/S
Middleware
Virtualization
Data
Applications
Runtime
Managed by M
icrosoft
You
man
age
Platform(as a Service)
Managed by M
icrosoft
You
man
age
Storage
Servers
Networking
O/S
Middleware
Virtualization
Applications
Runtime
Data
Hosting Models
Azure Compute Choices:
Degree of Custom
ization
Speed of Development & Ease of Use
Web Sites
Cloud Services (PAAS)
Virtual Machines (IAAS)
Mobile Services
On-Premises
Compute: What are our Options?
Virtualization
O/S
Hardware
Native Code
Custom Software
Network
Data
Applications
Firewall
Web Sites
Applications
Data
Cloud Services
Native Code
Startup Tasks
Applications
Firewall Rules
Data
Virtual Network
Virtual Machines
Native Code
Custom Software
Virtual Network
Data
Applications
Firewall Rules
O/S
Mobile ServicesApplications
Data
Auth
Notifications
Azure footprint
16 regions worldwide in 2014
Data Centers
Regional Partners
Fortune 500 using Azure
>57%
>300kActive websites
More than
1,000,000
SQL Databases in Azure>30 TRILLION
storage objects
>300
MILLIONAAD users
>13BILLIONauthentication/wk
>3 MILLION
requests/sec
>1.65
MILLIONDevelopers registered with Visual Studio Online
Azure is open across the stack
Ubuntu, SUSE, OpenSUSE, CentOS & Oracle EL + hundreds on VM Depot
Dozens of .NET & PHP CMS and Web applications
Bring your own framework!
Via cross-platform and native code approaches
Ecosystem Supported
Languages
CMS
Devices
Databases
Operating systems
Microsoft 1st Party Support
Windows Azure Storage
Storage in the CloudScalable, durable, and availableAnywhere at anytime accessOnly pay for what the service uses
Exposed via RESTful Web ServicesUse from Windows Azure ComputeUse from anywhere on the internet
Azure TABLEStorage:
• Storage Account: All access to Azure Storage is done through a storage account.
• Table: A table is a collection of entities. Tables don't enforce a schema on entities, which means a single table can contain entities that have different sets of properties. The number of tables that a storage account can contain is limited only by the storage account capacity limit.
• Entity: An entity is a set of properties, similar to a database row. An entity can be up to 1MB in size.
• Properties: A property is a name-value pair. Each entity can include up to 252 properties to store data. Each entity also has 3 system properties that specify a partition key, a row key, and a timestamp. Entities with the same partition key can be queried more quickly, and inserted/updated in atomic operations. An entity's row key is its unique identifier within a partition.
Azure Mobile Services?
What is Windows Azure Mobile Services?
Data
Notifications
Auth
Server Logic
Scale
Logging
Diagnostics
Push Notifications
Data Storage
User Authentication
Node.js Express
.NET Web API
SQL Table Storage
Blob Storage
WNS & MPNS
APNS GCM
Mongo DB
Notification Hubs
Source Control
Facebook Twitter Microsoft Google Azure Active Directory
Windows Store iOSAndroid XamarinPhonegap
Windows PhoneiOSAndroidHTML 5/JS
SDKs
REST
API
Hybrid Connections
Key ScenariosWindows Azure Mobile Services are ideal for:
Modern mobile appsWindows Store Apps, Windows Phone, Windows 10, iOS, Android
Common ScenariosReduces the friction associated with repeating common tasks such as user authentication, push notifications and structured storage
Rapid DevelopmentTime is money. Get your app up and running sooner when you use Mobile Services to configure a straightforward and secure backend in less than five minutes.
Create Azure Mobile Service
Getting Starteda backend for your mobile app in minutesDemo
Where Do We Store Stuff?
How Do We Add Stuff?
Server-Side Logic
• Automatic service REST API generated for storage• Dynamic Schema on/off (DBA’s worst nightmare )• Ability to author Server-Side Logic that intercepts CRUD
operation pipeline• Rich querying capability• JavaScript syntax (Node.js)
Windows Azure Web Sites powerful web sites in seconds
start simplestart free, scale up and out as you go, friction-free and without the headaches
code smartwith classic asp, asp.net, php or node.js, develop on Windows, OSX or Linux
go livedeploy live in seconds, easily monitor performance, rapidly diagnose and fix issues
Supported Publishing Methods
FTP:// TFS WEBDEPLOY
DROPBOX
Native Apps??
Server Logicadding server logic on CRUD operations
*Authentication*
Authenticate against Windows Live, FB, Twitter, GoogleTable level permissions for each CRUD operation:• Everyone• Anyone with the Application Key• Only Authenticated Users• Only Scripts and Admins
Authentication Providers:
Identity Provider: App Login Options: • Windows Live - “microsoftaccount”• Facebook - “facebook”• Twitter - “twitter”• Google - “google”
Push NotificationsDemo
Push Notification Lifecycle Overview1. Request Channel URI
2. Register with your Cloud Service
3. Authenticate & Push Notification
Windows 8
(1)
(2)
(3)
(3)
Push Notifications
• Integrates with WNS to provide Toast, Live Tile, and Badge notifications.
• Portal captures your WNS client secret and package SID.
• push.wns.* provides: • Clean easy object model to compose
notifications• Performs authentication against WNS for you
Connect Our Users
32
Summary
Data
Notifications
Auth
Server Logic
Scale
Logging
Diagnostics
start now.http://WindowsAzure.com
Resources:
35
Mobile Serviceshttp://azure.microsoft.com/en-us/services/mobile-services/
Mobile Services Documentation | Azurehttp://azure.microsoft.com/en-us/documentation/services/mobile-services/
Azure Mobile Services Team Blog - Site Home - MSDN Blogshttp://blogs.msdn.com/b/azuremobile/
Get started with Mobile Serviceshttp://azure.microsoft.com/en-us/documentation/articles/mobile-services-windows-phone-get-started/
Azure Readiness / DevCamphttps://github.com/Azure-Readiness/DevCamp