Building Windows Phone 7 Applications with the Windows Azure Platform 11/23/2018 2:26 AM COS315 Building Windows Phone 7 Applications with the Windows Azure Platform Wade Wegner Windows Azure Technical Evangelist Microsoft Corporation © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista 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.
Who Am I? Technical Evangelist for the Windows Azure Platform Co-host of a weekly Channel 9 show called Cloud Cover: http://bit.ly/CloudCover Build resources for developers Build demos for conference keynotes and sessions Work with customers and partners adopting Windows Azure blog: http://www.wadewegner.com/ twitter: http://twitter.com/wadewegner
Who Are You? Some Assumptions. You’re … … a developer … building applications for Windows Phone 7 … building applications for other mobile platforms … curious to see how cloud computing—and Windows Azure—can help mobile applications
Why Phone + Cloud? The cloud levels the playing field The cloud provides a larger pool of resources from which to pull The cloud provides a way to reach across device platforms
Why WP7 and Windows Azure? PaaS: you build it, Windows Azure runs it Automatic O/S patching Scalable Utility billing Additional services (e.g. ACS, Traffic Manager, Caching, CDN, etc.) Common development tools Visual Studio Languages Emulators for development
Wade Wegner Windows Azure Technical Evangelist Microsoft Corporation 11/23/2018 2:26 AM BableCam Wade Wegner Windows Azure Technical Evangelist Microsoft Corporation demo © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista 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.
Store Image in Windows Azure Blob Storage Send Notification WAZ Storage Any pictures? Windows Azure SAS Process Image Process Image Store Image in Windows Azure Blob Storage Send Notification User Authentication Access Token Shared Access Signature Access Token Login Original Text Translated Text Translated Text Translated Text Microsoft Push Notification Service Bing Translator
What are the Pieces We Just Saw? Identity Storage Services Communications
Idiom: There’s more than MIX 11 11/23/2018 Idiom: There’s more than one way to skin a cat © 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista 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.
Identity
Identity Options Create your own (e.g. username + password, token) MIX 11 11/23/2018 Identity Options Create your own (e.g. username + password, token) Custom model ASP.NET Membership Providers Use a single existing identity system (e.g. Live Id, Facebook, etc.) Outsource identity management (e.g. Access Control Service) © 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista 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.
To learn more … Authenticating Users in a Windows Phone 7 App via Access Control Service, OData Services and Windows Azure http://bit.ly/wp7acs
Storage
Storage SQL Azure Windows Azure Tables Windows Azure Blobs Relational database Highly available Managed for you as a service Windows Azure Tables Non-relational structured storage Massive scale-out OData Windows Azure Blobs Big files REST
SQL Azure: OData Service Client sends data to web role Web role stores data in SQL Azure (2) Web Role (1)
Windows Azure Blobs: Public Blobs Pattern 1: Client sends data to web role Web role stores data in blobs Client fetches public blobs directly (2) Web Role (3) (1)
Windows Azure Blobs: Public Blobs Pattern 2: Client sends data to public blobs directly (1)
Windows Azure Blobs: SAS Client gets Shared Access Signature from web role Client stores data in blobs Client fetches public blobs directly Web Role (2) (3) (1)
Windows Azure Tables: Proxy Calls Client sends data to web role Web role stores data in table (2) Web Role (1)
Do not store your secrets on the phone
Services
Web Role versus Worker Role Web Role has IIS Worker Role does not DLL with Main() Both implement the RoleEntryPoint
Scaling Work in Windows Azure Web role receives message Web role enqueues work Worker role polls queue Worker role sends notifications (2) Web Role Worker Role (4) MPNS (3) (1)
Multitenancy You can have more than one application running in your role instance
Content Delivery Network CDN
Targeting a Global Audience 50ms
Targeting a Global Audience 100ms 50ms
Targeting a Global Audience 200ms 100ms 50ms
Windows Azure Traffic Manager
Communications
Communications Two communication models Phone-initiated Cloud-initiated
Phone-Initiated Communication Options HTTP-based, request/response Framework choices (WCF, OData, WebRequest, etc.) Wire format choices (SOAP, JSON, POX, etc.)
Cloud-Initiated Communication Push Notifications Single connection between phone and Microsoft Push Notification Service Bandwidth- and battery-friendly No guarantee of delivery Three kinds of push notifications Raw – send a message to an application Toast – send a message to the user Tile – update an image, title, or count
Subscribing to Push Notifications Phone opens a channel Phone sends URL to cloud Cloud pushes notifications via URL Microsoft Push Notification service notifies phone Web Role MPNS (3) (2) (1) (4)
What makes this easier?
Windows Azure Toolkits for Devices Make it easier for phone developers to use Windows Azure WP7 – http://watoolkitwp7.codeplex.com iOS - https://github.com/microsoft-dpe Android (coming soon) Toolkits include: Native libraries (e.g. .NET, Objective-C) Samples Project templates Documentation
Windows Azure Toolkit for Windows Phone 7 (v1.2.0) MIX 11 11/23/2018 Windows Azure Toolkit for Windows Phone 7 (v1.2.0) announcing © 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista 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.
What’s in v1.2 Support and tooling for the Access Control Service 2.0 Support for Apple Push Notification Services Support for Windows Azure storage queues Updated UI/UX for the management web application Code refactoring, simplification, and bug fixes
Windows Azure Toolkit for Windows Phone 7 MIX 11 11/23/2018 Windows Azure Toolkit for Windows Phone 7 Wade Wegner Windows Azure Technical Evangelist Microsoft Corporation demo © 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista 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.
Summary Phone <3 Cloud Important considerations Identity Storage Services Communications Windows Azure Toolkits for Devices Windows Phone 7 iOS Android
Tech Ed North America 2010 11/23/2018 2:26 AM Track Resources Don’t forget to visit the Cloud Power area within the TLC (Blue Section) to see product demos and speak with experts about the Server & Cloud Platform solutions that help drive your business forward. You can also find the latest information about our products at the following links: Cloud Power - http://www.microsoft.com/cloud/ Private Cloud - http://www.microsoft.com/privatecloud/ Windows Server - http://www.microsoft.com/windowsserver/ Windows Azure - http://www.microsoft.com/windowsazure/ Microsoft System Center - http://www.microsoft.com/systemcenter/ Microsoft Forefront - http://www.microsoft.com/forefront/ © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista 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.
Resources Learning http://northamerica.msteched.com Tech Ed North America 2010 11/23/2018 2:26 AM Resources Connect. Share. Discuss. http://northamerica.msteched.com Learning Sessions On-Demand & Community Microsoft Certification & Training Resources www.microsoft.com/teched www.microsoft.com/learning Resources for IT Professionals Resources for Developers http://microsoft.com/technet http://microsoft.com/msdn © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista 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.
Complete an evaluation on CommNet and enter to win! Tech Ed North America 2010 11/23/2018 2:26 AM Complete an evaluation on CommNet and enter to win! © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista 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.
Tech Ed North America 2010 11/23/2018 2:26 AM © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista 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.
11/23/2018 2:26 AM © 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista 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. © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista 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.