320 likes | 406 Views
WPH307. Connecting Windows Phones and Slates to Windows Azure. Rob Tiffany Mobility Architect Microsoft. During this Session You have a Chance to Win a Windows Phone. announcement. Who Am I?. Architect in the Microsoft Mobility Center of Excellence.
E N D
WPH307 Connecting Windows Phones and Slates to Windows Azure Rob Tiffany Mobility Architect Microsoft
During this Session Youhave a Chance to Win a Windows Phone announcement
Who Am I? Architect in the Microsoft Mobility Center of Excellence Created the Microsoft Mobile Line of Business Accelerator for Windows Mobile Writer :: Entrepreneur :: Former Embedded MVP :: Submariner :: Disk Jockey :: Blogger :: Hiker
AgendaWhat are we talking about today? The State of Mobile | Wireless + Scalability | Performance Introduction to Travel Scenario Stepping through the Architecture • Windows Azure • SQL Azure • Worker Roles • Azure Table Storage • WCF Services • Azure Queues • Windows Phones + Slates • WCF Service Consumption • NoSQL Object Cache • LINQ • Change Tracking
The Current State of WirelessWhere’s the bandwidth? AT&T: “We will deliver as much data over our network in the first 5 weeks of 2015 as we did all year in 2010” Congestion factors • More subscribers with smartphones (data | photos | videos) • Spectrum + cell towers + antennas + home users • Mobile operator bandwidth caps • Latency cell tower backhaul network internet final destination back to the device Mobile developers must acknowledge and deal with these issues to ensure a delightful user experience
Supporting Millions of Connected DevicesHow do they scale? Database(s) that nobody touches Thousands of web servers on commodity hardware Replicated, horizontally-scaled NoSQL databases at the edge; Data shardingusing small tables for fast access Load-balancing at every tier Hundreds of terabytes of data in an in-RAM, distributed cache Compiling slow, web server scripting code into native MapReduce for parallel analysis of “big data”
How will You Scale?Windows Azure Scale-out Windows Azure instances as needed SQL Azure is never touched by devices • Worker Roles replicate outbound data from SQL Azure to NoSQL Azure Table Storage • Worker Roles move inbound data from Azure queues to SQL Azure Distributed caching is handled by AppFabric Caching Wireless efficiency is realized via Web Roles that use of REST + JSON WCF Services Devices cache data and work offline
Puget Sound Executive Submarine ServiceTravel Scenario Residents of Bainbridge Island have long employed a variety of methods of getting to work in Seattle ranging from ferries to sea planes. A new way of traversing the Sound has arrived… it’s underwater. Two submarines carry passengers between Seattle and Bainbridge Island every day. Each luxury submarine carries eight passengers with all first-class seating plus free Wi-Fi and coffee. Passengers arrive at their destination quickly due to a submerged transit time of just 15 minutes plus limousines waiting at the dock to whisk them to their office.
Architecture WorkerRole Retrieve From Database AzureTable PopulateTables PopulateTables AzureTable AzureTable AzureTable AzureTable
Worker Role Pulls Data from SQL Azure to Populate Azure Tables Rob Tiffany Mobility Architect Microsoft Mobility Center of Excellence demo
Architecture AzureTable AzureTable Read from Tables with LINQ AzureTable WCF Web Role AzureTable AzureTable Output Caching Reads Multichannel Transports and Data Formats HTTP + REST + JSON
WCF Services Retrieve and Cache Data from Azure Tables Rob Tiffany Mobility Architect Microsoft Mobility Center of Excellence demo
Architecture WCF Web Role Offline Data Output Caching Reads Offline Data Multichannel Transports and Data Formats HTTP + REST + JSON Serialize Object Collections to Isolated Storage Mobile Client Offline Data
Windows Phone/Slate Retrieves Data from WCF Service and Stores in NoSQL Object Cache Rob Tiffany Mobility Architect Microsoft Mobility Center of Excellence demo
Architecture AzureQueue Write Serialized Objects to Queues AzureQueue WCF Web Role AzureQueue Writes Multichannel Transports and Data Formats HTTP + REST + JSON Mobile Client Mobile Client Mobile Client
Windows Phone/Slate Uploads Data to WCF Service Which Drops It in an Azure Queue Rob Tiffany Mobility Architect Microsoft Mobility Center of Excellence demo
Architecture Insert Objects into Database WorkerRole Read Serialized Objects from Queues AzureQueue AzureQueue AzureQueue
Worker Role Retrieves Data from Azure Queues and Populates SQL Azure Rob Tiffany Mobility Architect Microsoft Mobility Center of Excellence demo
Architecture DONE WorkerRole Retrieve from Database Insert Objects into Database WorkerRole AzureTable PopulateTables PopulateTables Read Serialized Objects from Queues AzureQueue AzureTable Write Serialized Objects to Queues Read from Tables with LINQ AzureTable AzureQueue WCF Web Role AzureTable AzureQueue Offline Data AzureTable Output Caching Reads Writes Offline Data Multichannel Transports and Data Formats HTTP + REST + JSON Serialize Object Collections to Isolated Storage Mobile Client Mobile Client Mobile Client Mobile Client Offline Data
Call to ActionLearning + takeaways What did you learn? • The reality of the wireless world around us • How to move to the next level of Internet Scale • How to build a complete device to cloud system • Learn even more at http://robtiffany.com • Download the tools at http://create.msdn.com Takeaways You should now be equipped with the building blocks and architectural blueprint needed to build large-scale cloud systems designed to support millions of devices.
Related Content • WPH304 | New Windows Phone Data Access Features • WPH301 | Deploying Windows Phone in the Enterprise • WPH305 | Internet Explorer 9 on Windows Phone • WPH311 | Lessons Learned about App Performance on Windows Phone • WPH312 | What’s New for Windows Phone Development with Silverlight? • Find Me Later at the Windows Phone Booth After this Session
Required Slide Speakers, please list the Breakout Sessions, Interactive Discussions, Labs, Demo Stations and Certification Exam that relate to your session. Also indicate when they can find you staffing in the TLC. Windows Phone Related Content Monday, May 16 WPH201: Windows Phone: What’s New? WPH371-INT: Building a Mobile Message Queue for Windows Phone WPH312: What’s New for Windows Phone Development with Microsoft Silverlight? WPH302: Windows Phone Productivity Scenarios with Microsoft Exchange Server 2010 and Microsoft Office 365 WPH373: Meet the Windows Phone Application Platform Engineering Team
Windows Phone Related Content Tuesday, May 17 WPH308: Multi-tasking and Application Switching for Windows Phone OSP312: Developing Microsoft Office Business Solutions that Span the PC, Windows Phone, and the Web WPH309: Enhanced Push Notifications and Live Tiles for Windows Phone WPH303: Understanding the Windows Phone Development Tools COS315: Building Windows Phone Applications with the Windows Azure Platform
Windows Phone Related Content Tuesday, May 17 WPH305: Internet Explorer 9 on Windows Phone OSP209 Building Your First Windows Phone Application for Microsoft SharePoint 2010 WPH203: Understanding Windows Phone Marketplace WPH375-INT: Building Multi-tasking Enabled Windows Phone Applications
Windows Phone Related Content Wednesday, May 18 WPH202: Windows Phone at Microsoft DEV317: Using Microsoft Visual Basic to Build Windows Phone Applications WPH310: Building Your First Windows Phone Game with XNA WPH374-INT: Hardcore Windows Phone Development Questions DEV205: Microsoft Expression for Developers: Demystifying User Interface Design WPH306: Building Windows Phone Applications with Microsoft Silverlight and XNA WPH304: New Windows Phone Data Access Features
Windows Phone Related Content Thursday, May 19 WPH301: Deploying Windows Phone in the Enterprise DPR303: Developing Enterprise-Grade Mobile Solutions WPH307: Connecting Windows Phones and Slates to Windows Azure WPH372-INT: Windows Phone Marketplace: Interactive WPH311: Lessons Learned about Application Performance on Windows Phone WPH311: Lessons Learned about Application Performance on Windows Phone SIM323: User Identity and Authentication for Desktop and Phone Applications
WindowsPhone ResourcesQuestions? Demos? The latest phones? Visit the Windows Phone Technical Learning Center for demos and more… • Business IT resources • blogs.technet.com/b/windows_phone_4_it_pros Developer resources craete.msdn.com Experience Windows Phone 7 on-line and get a backstage pass www.windowsphone.com
Win a Windows Phone Contest SESSION CONTEST* HAT CONTEST* • QUESTIONS? Go to the WPC Information Counter at the TLC • How do you enter? • During each Windows Phone session the moderator will post a question;the first person to correctly answer the question and is called on by the moderator will potentially win • Enter by visiting the Windows Phone booth, accepting a free Windows Phone branded hat, and wearing that hat during the Event • How am I selected? * Restrictions apply please see contest rules for eligibility and restrictions. Contest rules are displayed in the Technical Learning Center at the WPH info counter • Each day of the event, a Windows Phone representative will randomly select up to 5 people who are observed wearing their Windows Phone branded hat
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