Download presentation
Presentation is loading. Please wait.
Published byDavid Brown Modified over 9 years ago
1
Mobile + Cloud: Building Mobile Applications with Windows Azure Wade Wegner Twitter: @WadeWegner Blog: http://www.wadewegner.com/http://www.wadewegner.com/ AZR324
2
Who am I?
3
This session is focused on building device applications with Windows Azure We’ll talk about storage, identity, communications, platform services, and tools Several demos Agenda
4
Features in Action
5
Web sites Build with ASP.NET, Node.js or PHP Deploy in seconds with FTP, Git or TFS Start for free, scale up as your traffic grows
6
Windows Azure Mobile Services
7
Storage
8
Storage: What are our options? Benefits: Non-relational structured storage Massive scale-out Windows Azure Tables Benefits: Big files Windows Azure Blobs Benefits: Persistent Async Messaging Enqueue, Dequeue Windows Azure Queues Benefits: Relational database Highly available Managed for you as a service Windows Azure SQL Database
9
Storage: Secrets Windows Azure Storage name Storage key Windows Azure SQL Database Username Password Once you share your secret, it’s no longer secret
10
Storage: How do we keep secrets secret? Proxy the requests Client sends data to web role Web role sends data to storage (1) (2) Web Role
11
Storage: Windows Azure SQL Database Client sends request to proxy Proxy makes SQL call against SQL Database SQL Database returns a response Proxy returns response to device (1) (3) Web Role (2) (4)
12
Storage: Using Shared Access Signatures Client makes request of Web Role for SAS Web Role sends client SAS Client makes request Client gets response (1) (3) Web Role (2) (4)
13
Demo
15
Identity
16
Identity: What are the options? Create your own Username + password, token, etc. ASP.NET Membership Providers Use a single existing identity system Live Id, Facebook, etc. Develop directly against IdP protocol Outsource identity management Access Control Service
17
Security challenge Authentication Authorization User store Management UI Forget password? Customer support Data protection Integration with AD LDAP User mapping Synchronization Integration With Facebook More User mapping Facebook Auth API More Synchronization
18
Solution: Claim-based architecture
19
Demo
20
Identity
21
Communications
22
Communications: Device-initiated Device-initiated options HTTP-based, request/response Framework choices (WCF, Web API, OData, WebRequest, etc.) Wire format choices (SOAP, JSON, POX, etc.) - Drivers http://localhost:33779/WcfDataService1.svc/Drivers 2010-05-24T22:12:38Z - http://localhost:33779/WcfDataService1.svc/Drivers(1) 2010-05-24T22:12:38Z - - - 1 1 Rob Tiffany - http://localhost:33779/WcfDataService1.svc/Drivers(2) 2010-05-24T22:12:38Z - - - 2 1 Loke Uei Tan - http://localhost:33779/WcfDataService1.svc/Drivers(3) 2010-05-24T22:12:38Z - - - 3 1 Dan Bouie - http://localhost:33779/WcfDataService1.svc/Drivers(4) 2010-05-24T22:12:38Z - - - 4 1 John Dietz - http://localhost:33779/WcfDataService1.svc/Drivers(5) 2010-05-24T22:12:38Z - - - 5 2 Derek Snyder - http://localhost:33779/WcfDataService1.svc/Drivers(6) 2010-05-24T22:12:38Z - - - 6 2 Steve Hegenderfer - http://localhost:33779/WcfDataService1.svc/Drivers(7) 2010-05-24T22:12:38Z - - - 7 2 Chip Vollers - http://localhost:33779/WcfDataService1.svc/Drivers(8) 2010-05-24T22:12:38Z - - - 8 2 James Pratt http://localhost:33779/WcfDataService1.svc/"http://schemas.microsoft.com/ado/2007/08/dataservices"http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"http://www.w3.org/2005/Atom"http://localhost:33779/WcfDataService1.svc/Drivershttp://localhost:33779/WcfDataService1.svc/Drivers(1)http://schemas.microsoft.com/ado/2007/08/dataservices/related/DistributionCenter"http://schemas.microsoft.com/ado/2007/08/dataservices/related/Todays"http://schemas.microsoft.com/ado/2007/08/dataservices/scheme"http://localhost:33779/WcfDataService1.svc/Drivers(2)http://schemas.microsoft.com/ado/2007/08/dataservices/related/DistributionCenter"http://schemas.microsoft.com/ado/2007/08/dataservices/related/Todays"http://schemas.microsoft.com/ado/2007/08/dataservices/scheme"http://localhost:33779/WcfDataService1.svc/Drivers(3)http://schemas.microsoft.com/ado/2007/08/dataservices/related/DistributionCenter"http://schemas.microsoft.com/ado/2007/08/dataservices/related/Todays"http://schemas.microsoft.com/ado/2007/08/dataservices/scheme"http://localhost:33779/WcfDataService1.svc/Drivers(4)http://schemas.microsoft.com/ado/2007/08/dataservices/related/DistributionCenter"http://schemas.microsoft.com/ado/2007/08/dataservices/related/Todays"http://schemas.microsoft.com/ado/2007/08/dataservices/scheme"http://localhost:33779/WcfDataService1.svc/Drivers(5)http://schemas.microsoft.com/ado/2007/08/dataservices/related/DistributionCenter"http://schemas.microsoft.com/ado/2007/08/dataservices/related/Todays"http://schemas.microsoft.com/ado/2007/08/dataservices/scheme"http://localhost:33779/WcfDataService1.svc/Drivers(6)http://schemas.microsoft.com/ado/2007/08/dataservices/related/DistributionCenter"http://schemas.microsoft.com/ado/2007/08/dataservices/related/Todays"http://schemas.microsoft.com/ado/2007/08/dataservices/scheme"http://localhost:33779/WcfDataService1.svc/Drivers(7)http://schemas.microsoft.com/ado/2007/08/dataservices/related/DistributionCenter"http://schemas.microsoft.com/ado/2007/08/dataservices/related/Todays"http://schemas.microsoft.com/ado/2007/08/dataservices/scheme"http://localhost:33779/WcfDataService1.svc/Drivers(8)http://schemas.microsoft.com/ado/2007/08/dataservices/related/DistributionCenter"http://schemas.microsoft.com/ado/2007/08/dataservices/related/Todays"http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" The same list of 8 Customers using SOAP and a DataSet dropped us down to 3 kb but still too big for my taste. 1 1 Rob Tiffany 2 1 Loke Uei Tan 3 1 Dan Bouie 4 1 John Dietz 5 2 Derek Snyder 6 2 Steve Hegenderfer 7 2 Chip Vollers 8 2 James Pratt http://tempuri.org/"http://www.w3.org/2001/XMLSchema" <ArrayOfDriver xmlns=http://schemas.datacontract.org/2004/07/ContosoWcfService.Modelshttp://schemas.datacontract.org/2004/07/ContosoWcfService.Models xmlns:i="http://www.w3.org/2001/XMLSchema-instance"> 1 1 Rob Tiffany 1 2 Loke Uei Tan 1 3 Dan Bouie 1 4 John Dietz 2 5 Derek Snyder 2 6 Steve Hegenderfer 2 7 Chip Vollers 2 8 James Pratt http://www.w3.org/2001/XMLSchema-instance" [{"DistributionCenterId":1,"DriverId":1,"FirstName":"Rob","LastName":"Tiffany"}, {"DistributionCenterId":1,"DriverId":2,"FirstName":"Loke Uei","LastName":"Tan"}, {"DistributionCenterId":1,"DriverId":3,"FirstName":"Dan","LastName":"Bouie"}, {"DistributionCenterId":1,"DriverId":4,"FirstName":"John","LastName":"Dietz"}, {"DistributionCenterId":2,"DriverId":5,"FirstName":"Derek","LastName":"Snyder"}, {"DistributionCenterId":2,"DriverId":6,"FirstName":"Steve","LastName":“Harris"}, {"DistributionCenterId":2,"DriverId":7,"FirstName":"Chip","LastName":"Vollers"}, {"DistributionCenterId":2,"DriverId":8,"FirstName":"James","LastName":"Pratt"}] OData – XML 8.5kb REST-XML 1.2kb JSON 639 bytes
23
Communications: Cloud-initiated Push Notifications !Raaawww
24
Communications: Subscribing to Push Device requests a channel *NS returns channel Device sends URL to cloud Channel URL is stored in cloud Cloud sends notification *NS pushes to device Web Role *NS (1)(2) (3) (4) (5)
25
Communications: Cloud-initiated to device? Common pattern Use cloud-initiated push to tell the device to call to a service Cloud sends notification Notification services pushes to device Device receives message and calls to a service Web Role sends a response Web Role *NS (3) (2) (4) (1)
26
Notifications: Different services Windows 8: Windows Phone: iOS: Android:
27
Demo
28
Platform services
29
Application Building Blocks
30
Tools & Resources
31
Windows Azure Toolkits for Devices Easier for device developers to use Windows Azure AndroidiOSWindows Phone http://bit.ly/watandroidhttp://bit.ly/watioshttp://bit.ly/watwp7
32
Devices + Cloud Summary Toolkits Storage Identity Communications Platform Services
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.