Document 389740

SDKs
Windows Phone
iOS
Android
HTML 5/JS
SQL
REST API
Windows Store
iOS
Android
Xamarin
Phonegap
Sencha
Table
Storage
Mongo
DB
Blob
Storage
Hybrid
Connections
Node.js
Express
.NET
Web API
Facebook
WNS &
MPNS
Twitter
APNS
Google
Microsoft
GCM
Azure Active
Directory
Notification
Hubs
Source
Control
SQL Database
TableController
BYOD
DTO
DomainManager
DTO
Device
Table Storage
Mobile Service
MongoDB
TableController
Existing
Tables
DTO
DomainManager
DTO Model
Device
Mobile Service
SQL Azure/BYOD
AutoMapper
System
Properties
Table
Mobile Service
Your WebAPI
controllers
Publish
Web.config
User database:
EF code-first migrations
or custom migrations
load
source
Runtime
Mobile Services
runtime
Web.config
App settings from portal
injected here
Hybrid
Connection
Manager
Extend line-of-business to mobile
Bring turn-key login experience with corporate
credentials to mobile developers
Enable applications built around organizational
structures
Make AAD users a first-class concept in Mobile
Services, with push-to-user and per-user data
1
2
3
1)
Client app uses Active Directory Authentication
Library to initiate login, user enters credentials
which are sent to AAD
2)
AAD returns an Access Token / Refresh Token
pair for the mobile service to ADAL
3)
The client passes the Access Token to the
mobile service, exchanges for the Mobile
Services token for a continued session
string authority = "https://login.windows.net/<your-tenant-name>.onmicrosoft.com";
string resourceURI = "https://service-name.azure-mobile.net/login/aad";
string clientID = "<your client app ID from Azure Active Directory portal>";
AuthenticationContext
AuthenticationResult
new AuthenticationContext
await
string
// Give the access token to the mobile service
JObject
MobileServiceUser
JObject
await
MobileServiceAuthenticationProvider
1
1)
Mobile Service passes Access Token to AAD
along with a requested resource URI and its
Client ID / Client Secret
2)
AAD sends back an Access Token / Refresh
Token pair for the remote resource
3)
Mobile Service talks to the remote resource on
behalf of the logged-in user
2
3
SQL Database
Conflict resolution
BYOD
SQLite
Device
Explicit Push/Pull
CUD order
preserved
DTO
Mobile Service
Table Controllers
Model
Table Storage
Mapping
MongoDB
Device 1
▲, 1
Server
Create
▲, 1
▲, 1
▲, 1
▲, 1
▲,
●, 1
2
■,
▲, 21
Update
Device 2
✘
■, 2
Fetch
Update
▲, 1
▲,
■, 1
2
■, 2
1
1.
2.
4
Client app
3.
4.
2
3
Platform
Notification
Service
5
5.
6.
App back-end
6
Register
Google app
iOS app
Windows 8.x
app
Send Notification
Mobile Service
Notification Hub
Platform
Notification
Services
App
1
3
4
3
2
Mobile Service
Notification Hub
PNS
async override void OnLaunched(LaunchActivatedEventArgs e)
{
await MobileServiceAuthenticate();
var pushChannel = await PushNotificationChannelManager
.CreatePushNotificationChannelForApplicationAsync();
pushChannel.PushNotificationReceived += PushChannel_PushNotificationReceived;
var push = MobileService.GetPush();
await push.RegisterAsync(new Registration(pushChannel.Uri));
/* .... */
}
async static void PushChannel_PushNotificationReceived(
PushNotificationChannel sender, PushNotificationReceivedEventArgs args)
{
await MobileServiceAuthenticate()
await MobileService.SyncContext.PushAsync();
await MobileService.GetSyncTable<Job>().PullAsync();
}
http://aka.ms/MobileFieldEngineer
http://aka.ms/MobileFESource
DEV-B307 Announcing Hybrid Connections: Building Amazing
Hybrid Web Sites and Mobile Apps in Minutes
DEV-B330 What’s New in Mobile Services and Notification Hubs
DEV-B343 Building Microsoft Azure Mobile Services with Visual
Studio
DEV-B345 High-Volume, Low Latency Mobile Push Notifications
DEV-B351 Introduction to API Management on Microsoft Azure
Having a friend
buy your coffee?
Yea, it’s kind of like that.
3 Steps to New Gear! With Application Insights
MSDN Subscribers get up to $150/mo in Azure credits.
Stop by the Developer Platform and Tools booth
and visit the MSDN Subscriptions station to
activate your benefits and receive a gift!
1.
http://aka.ms/msdn_teched
http://visualstudio.com
2.
http://aka.ms/aivsix
3.
Microsoft Engineering
Stories
http://www.visualstudio.com
Visual Studio
Industry Partner
Program
Visual Studio | Integrate