Kirill Gavrylyuk | Principal Program Manager Lead, Azure Mobile Miranda Luna | Product Manager, Azure Mobile
Course Topics Mobilize Your Workfoce 01 | Overview06 | Enterprise Push 02 | Spotlight On:.NET Runtime07 | Cross-platform client development 03 | Select the Right Data Store08 | 04 | On-premise Connectivity09 | 05 | Single Sign On with AAD10 | Resources
Setting Expectations Target Audience –Enterprise mobile developers –.NET developers that want to get up to speed with the.NET backend Suggested Prerequisites/Supporting Material –MVA Building Secure Mobile Apps in the EnterpriseMVA Building Secure Mobile Apps in the Enterprise –Channel9 Azure Mobile Services Learning SeriesChannel9 Azure Mobile Services Learning Series –aka.ms/CommonWAMS Please leave this area blank to allow for picture in picture recording
Join the MVA Community! ▪ Microsoft Virtual Academy—Free online training! ▪ Ask questions in the Born to Learn MVA Forum! ‒ Visit ▪ Earn while you learn! ‒ 50 MVA Points for this event! ‒ Visit ‒ Code: BldgBlks3
01 | Overview
Push Notifications Mobile push notification engine for existing apps Enhance push notifications in any app with personalization and localization Improves user engagement and retention by delivering relevant content more quickly Mobile Backend Ready-made mobile app backend for iOS, Android and Windows Create new mobile apps or add a mobility layer to existing systems Speeds up development time and reduces ongoing maintenance cost Device Messaging Messaging infrastructure that sits between and within applications Build multi-tier and hybrid applications or smart device information exchange patterns Delivers inter- and intra-app messages faster and connects on-premises systems to the cloud
Mobile Services Overview Windows Store iOS Android Xamarin Sencha Windows Phone iOS Android HTML 5/JS SDKs Node.js Express.NET Web API REST API FacebookTwitterMicrosoftGoogle Active Directory SQL Table Storage Blob Storage WNS & MPNS APNSGCM Mongo DB Notification Hubs Source Control
Differentiating Characteristics of Enterprise Mobile How Mobile Services Helps
02 | Spotlight On:.NET Runtime
A Backend for Your Employee or Customer App in minutes Your Backend Logic via.NET Web API built using VS Turn-key Mobile Backend Capabilities Secure data store/query/page, social integration, cross-plat push Single Sign On with Azure Active Directory Client SDK for iOS, Android, Windows, WinPhone, Xamarin, PhoneGap, Sencha Connectivity to Your On-Premise Enterprise Systems We Manage, Run, and Monitor it for you
DEMO
Source WebAPI controllers git WebDeploy Commit hook: Build project Mobile Service Mobile Services runtime web.config Your controllers load User database: EF code-first migrations or custom migrations App settings injected here
03 | Select the Right Data Store
Data Use the corresponding XXXTableController for a turn-key OData REST API on top of any of the stores Connect to on-prem data through Service Bus Relay Full control over your data in all scenarios with native.NET API Azure SQL dbAzure Table Storage Azure Blob Storage Mongo DB SQL Server in a VM SQL Server On-Prem
Enterprise Integration Integrating with a REST Service Bus Relay Service - Connect your Mobile Service with an application running on-premises (in your own datacenter) via Service Bus Relayed Messaging. This specific example deals with communicating over REST. Code is shown in C# on the client side. Sample is also applicable to SQL Server in an Azure VM.Integrating with a REST Service Bus Relay Service Integrating with a SOAP Service Bus Relay Service - Connect your Mobile Service with an application running on-premises (in your own datacenter) via Service Bus Relayed Messaging (another part of Windows Azure). This specific example deals with communicating over SOAP. Code is shown in C# on the client side. Sample is also applicable to SQL Server in an Azure VM.Integrating with a SOAP Service Bus Relay Service Integrating with Windows Azure BizTalk Services - This walkthrough explains how to integrate your Mobile Service with Windows Azure BizTalk Services so you can communicate with other resources either running in the cloud or on-premises. Code is shown in C# on the client side.Integrating with Windows Azure BizTalk Services Integrating with BizTalk Server via Service Bus - This walkthrough explains how to integrate your Mobile Service with other on-premises or cloud resources using BizTalk Server, Service Bus Brokered Messaging, and Service Bus Relayed Messaging. Code is shown in C# on the client side.Integrating with BizTalk Server via Service Bus
On-Premises Systems & Data Service Bus RelayMobile Services Web API Client Apps
04 | AAD Authentication
Mobile Services + Azure Active Directory Bring turn-key login experience with corporate credentials to mobile developers Enable applications built around organizational structures Make AD users a first-class concept in Mobile Services, with push-to- user and per-user data
DEMO Azure Active Directory Authentication
AAD Resources General Getting Started: aka.ms/MobileAAD –Windows Store sampleWindows Store sample Graph API –Matthew Henderson’s sample: AAD offers a rich graph API which can be used to obtain information about a user. In this post, I’ll show you how to personalize a user’s app experience based on that information. On the server, we’ll write a custom API which will contact AAD and return basic graph data. The mobile client will call this API following each login and use the data to welcome the user to the app.Matthew Henderson’s sample –Paolo Salvatori’s sample: This sample demonstrates how to integrate a Mobile Service with a line of LOB running on-premises via Service Bus Relayed Messaging. The mobile service uses Windows Azure Active Directory to authenticate users and Graph API to retrieve user information from the tenant domain.Paolo Salvatori’s sample
05 | Enterprise Push Scenarios
3 Mobile Push Notifications 101 Platform Notification Service App back-end client app Send Notification App backend sends notification to PNS PNS pushes the notification to the app on the device Maintain device handles Delete expired handles when PNS rejects them Register device handle at app launch Client app contacts Platform Notification Service (PNS) App updates handle in backend
3 Push Notification Challenges
APNs WNS Notification Hub App back-end iOS app Windows 8.x app Android app MPNSGCM Azure Push Notifications
3 Push to Pull Platform Notification Service App back-end Notification Hub
Extending Push Notifications
3 Security in Notification Hubs
06 | Resources
Enterprise Mobile at //build Building Cross-Platform Line of Business Apps with Mobile Services –Friday 4/4 12:30 – 1:30 PST –Donna Malayeri, Chris Powerful mobile apps with Mobile Services and ASP.NET Web API –Thursday 4/3 5:30 – 6:30 PST –Kirill Gavrylyuk, Yavor Mobile Push Notifications to Any Client with Azure Notification Hubs –Wednesday 4/2 5:30 – 6:30 PST –Elio Damaggio All videos will be available on Channel9
Windows Azure Mobile Services Resources Windows Azure Mobile Services Overview, Tutorials and Resources Collection of Helpful Tutorials and Resources Learn/Channel SDKs on GitHub REST API Reference Windows Azure Pricing UserVoice for Feature Requests Microsoft Azure Certified Training
Windows Azure Notification Hubs Resources Windows Azure Mobile Services Overview, Tutorials and Resources Azure Documentation Center MSDN Documenation Android(tutorial)tutorial iOS (tutorial)tutorial Windows Store (tutorial)tutorial Windows Phone(tutorial)tutorial Learn/Channel 9 Introduction | iOS | Windows Store | Tags and Templates IntroductioniOSWindows StoreTags and Templates REST API Reference Windows Azure Pricing Microsoft Azure Certified Training
©2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Office, Azure, System Center, Dynamics and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.