Building connected apps – Patterns, Practices and Mobile Services by Mike Benkovich


Published on

Today’s users don’t live on just a workstation or a laptop. With the proliferation of laptops, smart phones, and tablets people work from a variety of forms and clients. Building applications that can leverage a consistent view of identity, data and services will enable the workforce to be productive wherever they are. In this session we’ll explore how to design and build applications that span the various device forms and platforms using the tools and features of the Cloud that make it all possible and easy.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Slide Objectives:Detail what Mobile Services provides as far as Diagnostics, Logging and Scale is concernedSpeaking Points: Note when moving a Mobile Service from a multi-tenant DB to its own. Currently data is not automatically migrated.
  • Notes:More Details here - SLAWhile Mobile Services is in preview, it can be used with apps in production, if customers ask for SLA and support, both can be provided by the product team upon request as part of the early adopters program, contact for details.
  • Building connected apps – Patterns, Practices and Mobile Services by Mike Benkovich

    1. 1. Building Connected Apps withMobile ServicesMike Benkovich -
    2. 2. Session Objectives and TakeawaysWhat is Mobile Services?What are the components?Where to get the toolsHow to get started
    3. 3. Why Mobile Services?• Apps are everywhere• Where’s the Data• Who’s using it• Minimize custom code• Speed to market
    4. 4. Where does it run?• Web• Windows• Android• iOS• Windows Phone• etc…DataSvcDataIdentity
    5. 5. Connected Patterns• Create a Data Store• Add services• Host it somewhere• Make it workDataSvcDataIdentity
    6. 6. Scenarios• Modern Mobile ApplicationsWindows Store, Windows Phone, iOS, Android, HTML• Common ScenariosReduce the friction and work required by providing solutions topatterns to work with authentication, pushnotification, structured storage and more• Rapid DevelopmentProvision and deploy solutions in minutes rather than days orweeks
    7. 7. What is Mobile Services?
    8. 8. To get started…• Windows Azure subscription• Database for storing information– SQL Azure for rapid provisioning anddeployment– Dynamic Schema• Service configuration and scaling– Scripting on data– Identity and notifications• SDK to enable identity and notifications
    9. 9. Code to instantiate Mobile Services• In Application object add code to createan instance of your Mobile Service• Call methods to operate on theservice…i.e.public static MobileServiceClient MobileService = new MobileServiceClient("","OxxAAAAbbbCCCCCddEEEfffGGGh12345");private void ButtonSave_Click(object sender, RoutedEventArgs e){var todoItem = new TodoItem { Text = TodoInput.Text };InsertTodoItem(todoItem);}
    10. 10. Storage• SQL Database partitioned by schema– Appx.ToDoItem– Appy.ToDoItem• Manage data by standard SQL tools– SQL Management Studio– Portal– REST API– CLI Tools
    11. 11. Work with SQL• Tables created in portal• Dynamic SQL Enabled• Create poco classes and persist astables
    12. 12. Identity• Use existing identity providers like Oauth– Microsoft, Twitter, Facebook, Google, etc.• Authorize to work with data• Table options– Everyone– With application key– Authenticated users– Admins
    13. 13. Add code to triggerauthenticationprivate MobileServiceUser user;private async System.Threading.Tasks.Task Authenticate(){while (user == null){string message;try{user = await App.MobileService.LoginAsync(MobileServiceAuthenticationProvider.Facebook);message =string.Format("You are now logged in - {0}", user.UserId);}catch (InvalidOperationException){message = "You must log in. Login Required";}MessageBox.Show(message);}}
    14. 14. Server logic• Scheduled jobs• Notification services• Diagnostics, logging and scale
    15. 15. Diagnostics, Logging andScale• Diagnostics– API calls– CPU Time– Data Out• Logging– console.error(…)– console.log(…)– …Scale - ComputeScale out instance countScale up VM sizeScale - StorageScale out mobile service tenant todedicated SQL DBScale up SQL DB
    16. 16. Pricing during Previewreserved modeservice levelagreementsPreviewNo availability SLA*General Availability99.9%Private VM - Small instanceis the only size availableFree - unlimited inbounddata. 165MB outbounddata/day, excess charged.Pay - SQL Database,Compute same reduced rateas Web Sites i.e 33%discount, excess outboundtransfers starting at$0.12/GBUp to 100 applicationsshared mode
    17. 17. Summary• Learn and understand the patterns forconnected applications• Use available tools and technologies tomake it simpler• Try Azure Mobile Services today for FREE!• More info on my site