SlideShare a Scribd company logo
1 of 29
Real World Architectures Using
Windows Azure Mobile
Services
• Kristof Rennen

• Managing Partner / Solution Architect at AppStory
• Microsoft Extended Experts Team Member
• Crew Member of Azug, the Belgian Windows Azure User
  Group
• Windows Azure Insider / Mobile Services Advisory Board
  Member

• @kristofrennen / @AppStoryBe
• kristof.rennen@appstory.be
Over 100 community-led Windows Azure training events worldwide!
http://globalwindowsazure.azurewebsites.net
• Mobile Services?       • Advice from the trenches
• Inside data
• Being secure


• Real world scenarios   • Wrap up & conclusion
Why
Bother?
• Powerful building blocks
• All needed components available out of the box
• Solid back ends in seconds
• Cross platform support for all major platforms:
  Windows 8, Windows Phone, Android, iOS, HTML5
• Fully REST capable if needed
• Focus on apps, not on infrastructure
Inside
Data
• Windows Azure SQL Database
• Create tables through portal or API
• Dynamic schema
• One database, multiple services possible
• Security is schema based
• DBA user only to create new service, restricted
  user for further access
• Throttling and failures are handled and retried
• Relations (and therefor joins) are not possible
• But … views are “possible” but not advised



• You can still aggregate data from multiple tables
• Server scripts can execute http requests
• Any http based service can be called
Being
Secure
• Schema separation
• User separation
•   Think of it as the Application Identifier
•   Only remains private during development
•   Don’t rely on it to remain private in production
•   Don’t use it as a security mechanism
•   Can still be used as a tracking mechanism
• Everyone           • Only Authenticated Users



• Anybody with the   • Only Scripts and Admins
 Application Key
Real
World
Scenarios
• Apps have data which can be shared over multiple
  devices & platforms: settings, user data, …
• Mobile Services can easily be the store in between
• Windows 8 and Windows Phone share settings
 and session favorites                         Favorites




                               (3 Instances)

                         (Microsoft Account)               (1GB Web)




                                                                       Windows 8
            Windows                                                    XAML + C#
                                                                         MVVM
            Phone 7/8
                                                                       WAMS SDK
             XAML + C#
              Live SDK
                REST


                                                Filters
• Data comes from many sources: databases, feeds,
  CMS, website, …
• You have a solution or app that visualizes all this
  data
• Risk of tightly coupling to various sources
• Concerns
• Cross platform apps visualizing training data from:
                        Partner Training   Microsoft Partner            Microsoft Innovation             Developer & Platform
                          Framework            Network                        Center                          Evangelism         ?
                      (Sharepoint + XML)    (SQL Database)                  (XML Feed)                        (XML Feed)




                                                                        Integration Services
                                                      (Windows Azure Worker Role / Mobile Services Scheduler / )


                                                                                Upsert




• One Data Model
• One “interface”
• Reusability            Windows 8         Windows Phone                       Android                             iOS          Web
• Live SDK and Mobile Services integrate well
• Except … if you use Live SDK on one app and
  Mobile Services on the other  > token mismatch
• But ... there is a pretty “simple” solution
• Windows 8 uses Mobile Services authentication
  using Live directly
• Windows Phone uses Live SDK authentication

                Auth               Live SDK




                                                                                                                             Windows
                                                                                                                             Live API
                                                                    Live Access Token


                                                                                                         Live Access Token




                       Auth   Mobile Service SDK   Mobile Services Access Token         Custom Read Script
Advice
From The
Trenches
•   Multiple mobile services, one database
•   Each mobile service has its own database user
•   Use dynamic schema
•   Use views for complex queries
•   Duplicate and optimize data if needed
•   Other data sources are possible: table storage,
    queues, another API, …
•   Version your server side scripts
•   Automate script deployment using Powershell
•   Test your scripts
•   Use DEV, TEST and PROD environments
•   Abstract the implementation and loosely couple it
•   Make sure you can grow into it
•   Reuse the abstraction by using IoC and DI
•   Consider PCLs to optimize reusability
•   Think about multi tenancy
•   Standard API concerns and best practices still
    apply
Over 60 community-led Windows Azure training events worldwide!
http://globalwindowsazure.azurewebsites.net
Real World Architectures Using Windows Azure Mobile Services

More Related Content

What's hot

Drupal in the Cloud with Windows Azure
Drupal in the Cloud with Windows AzureDrupal in the Cloud with Windows Azure
Drupal in the Cloud with Windows Azure
Ford AntiTrust
 
Drupal on windows azure
Drupal on windows azureDrupal on windows azure
Drupal on windows azure
Steve Xu
 

What's hot (20)

Azure App Service
Azure App ServiceAzure App Service
Azure App Service
 
Drupal DevOps on Microsoft Azure Websites
Drupal DevOps on Microsoft Azure WebsitesDrupal DevOps on Microsoft Azure Websites
Drupal DevOps on Microsoft Azure Websites
 
Drupal in the Cloud with Windows Azure
Drupal in the Cloud with Windows AzureDrupal in the Cloud with Windows Azure
Drupal in the Cloud with Windows Azure
 
Getting started with development in azure
Getting started with development in azureGetting started with development in azure
Getting started with development in azure
 
Azure App Services
Azure App ServicesAzure App Services
Azure App Services
 
Олександр Краковецький - UWP
Олександр Краковецький - UWPОлександр Краковецький - UWP
Олександр Краковецький - UWP
 
Windows Azure Web Sites - Things they don’t teach kids in school - Comunity D...
Windows Azure Web Sites- Things they don’t teach kids in school - Comunity D...Windows Azure Web Sites- Things they don’t teach kids in school - Comunity D...
Windows Azure Web Sites - Things they don’t teach kids in school - Comunity D...
 
Taking It To The Cloud Version 2
Taking It To The Cloud Version 2Taking It To The Cloud Version 2
Taking It To The Cloud Version 2
 
5 Absolutely Beautiful Things about Platform as a Service (PaaS)
5 Absolutely Beautiful Things about Platform as a Service (PaaS)5 Absolutely Beautiful Things about Platform as a Service (PaaS)
5 Absolutely Beautiful Things about Platform as a Service (PaaS)
 
Mobile Services for Windows Azure
Mobile Services for Windows AzureMobile Services for Windows Azure
Mobile Services for Windows Azure
 
Xamarin DevOps
Xamarin DevOpsXamarin DevOps
Xamarin DevOps
 
Azure Bot Service
Azure Bot ServiceAzure Bot Service
Azure Bot Service
 
Azure Functions VS AWS Lambda: overview and comparison
Azure Functions VS AWS Lambda: overview and comparisonAzure Functions VS AWS Lambda: overview and comparison
Azure Functions VS AWS Lambda: overview and comparison
 
Azure mobile services
Azure mobile servicesAzure mobile services
Azure mobile services
 
Drupal on windows azure
Drupal on windows azureDrupal on windows azure
Drupal on windows azure
 
Windows Azure Mobile Services at ReBOOT Cloud Camp , Bangalore
Windows Azure Mobile Services at ReBOOT Cloud Camp , BangaloreWindows Azure Mobile Services at ReBOOT Cloud Camp , Bangalore
Windows Azure Mobile Services at ReBOOT Cloud Camp , Bangalore
 
Using Azure Functions for Integration
Using Azure Functions for IntegrationUsing Azure Functions for Integration
Using Azure Functions for Integration
 
Developing scalable enterprise serverless applications on azure with .net
Developing scalable enterprise serverless applications on azure with .netDeveloping scalable enterprise serverless applications on azure with .net
Developing scalable enterprise serverless applications on azure with .net
 
Azure: PaaS or IaaS
Azure: PaaS or IaaSAzure: PaaS or IaaS
Azure: PaaS or IaaS
 
.NET Conf 2019 高雄場 - .NET Core 3.0
.NET Conf 2019 高雄場 - .NET Core 3.0.NET Conf 2019 高雄場 - .NET Core 3.0
.NET Conf 2019 高雄場 - .NET Core 3.0
 

Similar to Real World Architectures Using Windows Azure Mobile Services

SumitK's mobile app dev using drupal as base ststem
SumitK's mobile app dev using drupal as base ststemSumitK's mobile app dev using drupal as base ststem
SumitK's mobile app dev using drupal as base ststem
Sumit Kataria
 
Client Continuum Dec Fy09
Client Continuum Dec Fy09Client Continuum Dec Fy09
Client Continuum Dec Fy09
Martha Rotter
 
Magic mobile webinar_Jan2013
Magic mobile webinar_Jan2013Magic mobile webinar_Jan2013
Magic mobile webinar_Jan2013
Magic Software
 
Integrating SharePoint 2010 and Visual Studio Lightswitch
Integrating SharePoint 2010 and Visual Studio LightswitchIntegrating SharePoint 2010 and Visual Studio Lightswitch
Integrating SharePoint 2010 and Visual Studio Lightswitch
Rob Windsor
 

Similar to Real World Architectures Using Windows Azure Mobile Services (20)

Development Workshop on ET1, Android and Motorola RhoElements
Development Workshop on ET1, Android and Motorola RhoElementsDevelopment Workshop on ET1, Android and Motorola RhoElements
Development Workshop on ET1, Android and Motorola RhoElements
 
S#01 김영욱
S#01 김영욱 S#01 김영욱
S#01 김영욱
 
SumitK's mobile app dev using drupal as base ststem
SumitK's mobile app dev using drupal as base ststemSumitK's mobile app dev using drupal as base ststem
SumitK's mobile app dev using drupal as base ststem
 
SharePoint in the clouds, on earth, in the subway, and in a fruit salad (mang...
SharePoint in the clouds, on earth, in the subway, and in a fruit salad (mang...SharePoint in the clouds, on earth, in the subway, and in a fruit salad (mang...
SharePoint in the clouds, on earth, in the subway, and in a fruit salad (mang...
 
Understanding Native, Hybrid, and Web Mobile Architectures
Understanding Native, Hybrid, and Web Mobile ArchitecturesUnderstanding Native, Hybrid, and Web Mobile Architectures
Understanding Native, Hybrid, and Web Mobile Architectures
 
2015.04.23 Azure Mobile Services
2015.04.23 Azure Mobile Services2015.04.23 Azure Mobile Services
2015.04.23 Azure Mobile Services
 
Convertigo Mobile Application Development platform for Enterprises
Convertigo Mobile Application Development platform for EnterprisesConvertigo Mobile Application Development platform for Enterprises
Convertigo Mobile Application Development platform for Enterprises
 
Android Introduction
Android IntroductionAndroid Introduction
Android Introduction
 
Client Continuum Dec Fy09
Client Continuum Dec Fy09Client Continuum Dec Fy09
Client Continuum Dec Fy09
 
HTML5 Mobile Application Framework
HTML5 Mobile Application FrameworkHTML5 Mobile Application Framework
HTML5 Mobile Application Framework
 
Clouds Infrastructure Administration
Clouds Infrastructure Administration Clouds Infrastructure Administration
Clouds Infrastructure Administration
 
SLUGUK BUILD Round-up
SLUGUK BUILD Round-upSLUGUK BUILD Round-up
SLUGUK BUILD Round-up
 
z Technical Summit Track 3 Session 4 Developing mobilefirst app for z
z Technical Summit Track 3 Session 4 Developing mobilefirst app for zz Technical Summit Track 3 Session 4 Developing mobilefirst app for z
z Technical Summit Track 3 Session 4 Developing mobilefirst app for z
 
Soa204 Kawasaki Final
Soa204 Kawasaki FinalSoa204 Kawasaki Final
Soa204 Kawasaki Final
 
Magic mobile webinar_Jan2013
Magic mobile webinar_Jan2013Magic mobile webinar_Jan2013
Magic mobile webinar_Jan2013
 
Android quick talk
Android quick talkAndroid quick talk
Android quick talk
 
Build and Deploy LightSwitch Application on Windows Azure
Build and Deploy LightSwitch Application on Windows AzureBuild and Deploy LightSwitch Application on Windows Azure
Build and Deploy LightSwitch Application on Windows Azure
 
Cloud Review V2
Cloud Review V2Cloud Review V2
Cloud Review V2
 
Cloud & The Mobile Stack
Cloud & The Mobile StackCloud & The Mobile Stack
Cloud & The Mobile Stack
 
Integrating SharePoint 2010 and Visual Studio Lightswitch
Integrating SharePoint 2010 and Visual Studio LightswitchIntegrating SharePoint 2010 and Visual Studio Lightswitch
Integrating SharePoint 2010 and Visual Studio Lightswitch
 

Recently uploaded

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Recently uploaded (20)

HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 

Real World Architectures Using Windows Azure Mobile Services

  • 1. Real World Architectures Using Windows Azure Mobile Services
  • 2. • Kristof Rennen • Managing Partner / Solution Architect at AppStory • Microsoft Extended Experts Team Member • Crew Member of Azug, the Belgian Windows Azure User Group • Windows Azure Insider / Mobile Services Advisory Board Member • @kristofrennen / @AppStoryBe • kristof.rennen@appstory.be
  • 3. Over 100 community-led Windows Azure training events worldwide! http://globalwindowsazure.azurewebsites.net
  • 4. • Mobile Services? • Advice from the trenches • Inside data • Being secure • Real world scenarios • Wrap up & conclusion
  • 6. • Powerful building blocks • All needed components available out of the box • Solid back ends in seconds • Cross platform support for all major platforms: Windows 8, Windows Phone, Android, iOS, HTML5 • Fully REST capable if needed • Focus on apps, not on infrastructure
  • 7.
  • 9. • Windows Azure SQL Database • Create tables through portal or API • Dynamic schema • One database, multiple services possible • Security is schema based • DBA user only to create new service, restricted user for further access • Throttling and failures are handled and retried
  • 10. • Relations (and therefor joins) are not possible • But … views are “possible” but not advised • You can still aggregate data from multiple tables
  • 11. • Server scripts can execute http requests • Any http based service can be called
  • 13. • Schema separation • User separation
  • 14. Think of it as the Application Identifier • Only remains private during development • Don’t rely on it to remain private in production • Don’t use it as a security mechanism • Can still be used as a tracking mechanism
  • 15. • Everyone • Only Authenticated Users • Anybody with the • Only Scripts and Admins Application Key
  • 17. • Apps have data which can be shared over multiple devices & platforms: settings, user data, … • Mobile Services can easily be the store in between
  • 18. • Windows 8 and Windows Phone share settings and session favorites Favorites (3 Instances) (Microsoft Account) (1GB Web) Windows 8 Windows XAML + C# MVVM Phone 7/8 WAMS SDK XAML + C# Live SDK REST Filters
  • 19. • Data comes from many sources: databases, feeds, CMS, website, … • You have a solution or app that visualizes all this data • Risk of tightly coupling to various sources • Concerns
  • 20. • Cross platform apps visualizing training data from: Partner Training Microsoft Partner Microsoft Innovation Developer & Platform Framework Network Center Evangelism ? (Sharepoint + XML) (SQL Database) (XML Feed) (XML Feed) Integration Services (Windows Azure Worker Role / Mobile Services Scheduler / ) Upsert • One Data Model • One “interface” • Reusability Windows 8 Windows Phone Android iOS Web
  • 21. • Live SDK and Mobile Services integrate well • Except … if you use Live SDK on one app and Mobile Services on the other  > token mismatch • But ... there is a pretty “simple” solution
  • 22. • Windows 8 uses Mobile Services authentication using Live directly • Windows Phone uses Live SDK authentication Auth Live SDK Windows Live API Live Access Token Live Access Token Auth Mobile Service SDK Mobile Services Access Token Custom Read Script
  • 24. Multiple mobile services, one database • Each mobile service has its own database user • Use dynamic schema • Use views for complex queries • Duplicate and optimize data if needed • Other data sources are possible: table storage, queues, another API, …
  • 25. Version your server side scripts • Automate script deployment using Powershell • Test your scripts • Use DEV, TEST and PROD environments
  • 26. Abstract the implementation and loosely couple it • Make sure you can grow into it • Reuse the abstraction by using IoC and DI • Consider PCLs to optimize reusability • Think about multi tenancy • Standard API concerns and best practices still apply
  • 27.
  • 28. Over 60 community-led Windows Azure training events worldwide! http://globalwindowsazure.azurewebsites.net