web apps logic apps mobile apps app service api apps fabrikam kable 1. customer books appointment 2....

45

Upload: rosamond-parks

Post on 19-Dec-2015

216 views

Category:

Documents


1 download

TRANSCRIPT

Donna MalayeriProgram Manager, Azure Mobile@lindydonna

Go Mobile! Login, sync data, and connect to enterprise APIs with Azure App Service

2-713

Intro to Azure App Service

What’s new in Mobile

Consumer apps

Enterprise apps and offline sync

Azure Mobile Apps

App Service: one integrated offering

API AppsEasily build and

consume APIs in the cloud

Web AppsWeb apps that scale with your business

Mobile AppsBuild Mobile apps

for any device

LOGIC AppsAutomate business

process across SaaS and on-premises

App Service Platform View (Runtime)

API Apps

Web Apps

Mobile Apps

LOGIC Apps

• Create web and mobile experiences that share data access and business logic

• Automate business processes with logic apps• Build custom APIs or consume connectors from

Marketplace• One common billing model for all of your App

Services

• Use a common Gateway to authenticate

App Service

And now, a story

10 minute service window!

Online appointment booking!

Push notifications and SMS alerts!

WEB APPS LOGIC APPS MOBILE APPS

App Service

API APPS

Fabrikam Kable

1. Customer books appointment

2. Customer valet assigns a technician

3. Service Technician closes out work order on mobile device

WEB APPS LOGIC APPS MOBILE APPS

App Service

API APPS

WEB APPS LOGIC APPS MOBILE APPS

API APPS

http SQL

Customer site Customer Valet

Technician App

CustomerNotification

Customer App

• Customer valet uses Web App• Web App creates a new case in CRM• Logic app sends push notification to

customer

Fabrikam Kable

Demo

Technician client app

How do people use Azure Mobile Services today?

Build engaging apps

Sleeve Music uses Azure Mobile Services to help users discover music and follow artists

Social feeds feature uses the App Service Twitter connector to notify of artist events (concerts, etc.)

Images courtesy of Orange Tribes

Accelerate time to market3M built a parking tracker app in a weekend using Azure Mobile Services

App is offline sync enabled and uses Xamarin to work cross-platform

Skanska created a cross-device application that drew crucial construction and environmental data from the cloud in order to safeguard hospitals.

Revolutionize business

Azure Mobile Apps vs. Azure Mobile Services

REST A

PI

Offline sync

Push Notifications

Data connections

User Authentication

Facebook

Twitter Microsoft Google

Azure Active

Directory

Azure Mobile Apps

Windows

iOS

Android

HTML 5/JS

Xamarin

PhoneGap

Sencha

WindowsAndroid

Chrome

iOS OSX

In-AppKindle

Mobile SDKs

Backend code

SQL MongoTables O365 API Apps

Offline Sync

New hosting benefitsCourtesy of Azure Web Apps

Richer monitoring and alertingTraffic managerCustom CNAMEsVNET and VPNBackup and restoreMore VM size and instance optionsIn production A/B testingAuto load-balance

Share capacity across Web and MobileStaging slots• Validate changes in your staging

environment before publishing to production

More devops features• Support for BitBucket and Visual Studio

Online; seamless integration with GitHub

Web Jobs

• Mobile Services – in classic portal

• Mobile Apps – preview portal• When Mobile Apps is GA, will

have all the features of Mobile Services

Azure Mobile Apps vs. Azure Mobile ServicesWith Azure Mobile Apps, you have more control over your compute environment

All the hosting benefits of Web Apps at the same price

• Azure Mobile App is still in previewThis is your chance to influence the product!

• New features will go into Mobile Apps

• Azure Mobile Services is still supported

• After GA, we will offer a seamless migration experience

Your existing investments are safe

After General Availability, you choose when to migrate to Azure Mobile Apps

• Customer valet uses Web App• Web App creates a new case in CRM• Logic app sends push notification to

customer • Web Job synchronizes CRM data to a

custom SQL database

Fabrikam Kable

• Mobile App backend reads from SQL and writes through to CRM

Fabrikam Kable

DemoMobile App backend code

Azure MobileOffline data sync

The best mobile apps handle network interruptions gracefully.

Adding offline sync to an app is usually hard.

With Azure Mobile App, it’s easy.

• Improve app responsiveness by caching server data locally on the device

• Make apps resilient against intermittent network connectivity • Allow end-users to create and modify data even when there is

no network access• Sync data across multiple devices • Detect and handle conflicts when the same record is modified

by more than one client

Why use mobile offline sync?

• Access data from Mobile Services tables even when app is offline

• Keep a local queue of Create, Update, Delete operations and synchronize with server when app is back online

• Detect conflicts when same item is changed both locally and on server

• Use soft delete to remove deleted records from client data stores

• Can use push notifications to trigger client sync

How it works

• Mobile App backend reads from SQL and writes through to CRM

• Mobile client SDK syncs SQLite db with Azure Mobile backend

Fabrikam Kable

DemoField Engineer client app

Handle client sync conflictsClientConflict resolution

ServerConflict resolution

▲, 1■, 2

▲, 1

▲, 1

●, 2

■, 2

Detect Conflicts with Optimistic Concurrency

Device 1Server

Device 2

▲, 1 ▲, 1

▲, 1 ▲, 1

▲, 1

■, 2

▲, 1

Create

Fetch

Update

Update

■, 2 ✘

DemoBackend conflict handling

Adding push notifications

Register device handle at app launch1. Client app retrieves handle from Platform Notification Service (PNS)2. Client app sends handle to your custom backend

Send Notification3. Your backend connects to PNS and requests push

Your code has to manage scaleYour code has to map between logical users and device handles

4. PNS pushes notification to device

Maintain backend device handles5. Your code must delete expired handles when PNS rejects them6. Your code must map between logical users and device handles

Push Notifications 101

PlatformNotification

Service

App back-end

Client app

1

23

4

5

6

Register device handle at app launch1. Client app retrieves handle from Platform Notification Service2. Client sends handle to your backend

Backend registers with Notification Hub using tags to represent logical users and groups

Send Notification3. Backend sends request to Notification Hub using a tag

Notification Hub manages scaleNotification Hub maps logical users/groups to device handles

4. Notification Hub delivers notifications to matching devices via PNS

Maintain backend device handles5. Notification Hub deletes expired handles when PNS rejects

them6. Notification Hub maintains mapping between logical

users/groups and device handles

Azure Notification Hubs

PNS

App back-end

Client app

1

2

2

4

5

6

NotificationHub

3

4

• Lightweight and composableEliminates burdens of database-to-database sync

• Works with a variety of server data storesSQL, Azure Tables, Mongo, Dynamics CRM, Salesforce, etc.

• Cross-platform client SDKsWindows Universal, Xamarin, iOS, Android

Summary: Azure Mobile offline sync

• Supports both “primarily online” and “occasionally connected” scenariosExplicit push and pull leaves control to the developer

• Flexible and powerfulSupports custom local storage layersDetect and handle conflicts on server or client

Summary: Azure Mobile offline sync

• Azure Mobile Apps = Mobile Services + App Service

• Harness the full power of Azure Web Apps for your mobile backend

• Connect to API Apps, SaaS connectors

Summary

Session• 2-764 When Bad Things Happen to Good Apps: Troubleshooting

Applications• Friday 2-3pm

Watch these recordings:2-628 Azure App Service Architecture2-633 Running Web and Mobile Apps on Azure App Service2-760 Azure API apps for Web, Mobile and Logic Apps2-620 Agile Development in Practice: Tips and Tricks for Modernized Dev

Related

• Try Azure Mobile App for free!No credit card required!Go to aka.ms/TryMobileApp

• Learn moreGo to aka.ms/AppServiceMobile

Tweet @azuremobile @lindydonna

Try it now

Improve your skills by enrolling in our free cloud development courses at the Microsoft Virtual Academy.

Try Microsoft Azure for free and deploy your first cloud solution in under 5 minutes!

Easily build web and mobile apps for any platform with AzureAppService for free.

Resources

© 2015 Microsoft Corporation. All rights reserved.