SlideShare una empresa de Scribd logo
1 de 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

Más contenido relacionado

La actualidad más candente

Azure App Service
Azure App ServiceAzure App Service
Azure App ServiceBizTalk360
 
Drupal DevOps on Microsoft Azure Websites
Drupal DevOps on Microsoft Azure WebsitesDrupal DevOps on Microsoft Azure Websites
Drupal DevOps on Microsoft Azure WebsitesCory Fowler
 
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 AzureFord AntiTrust
 
Getting started with development in azure
Getting started with development in azureGetting started with development in azure
Getting started with development in azureJasjit Chopra
 
Олександр Краковецький - UWP
Олександр Краковецький - UWPОлександр Краковецький - UWP
Олександр Краковецький - UWPHackraft
 
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...Maarten Balliauw
 
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 2Cory Fowler
 
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)Cory Fowler
 
Mobile Services for Windows Azure
Mobile Services for Windows AzureMobile Services for Windows Azure
Mobile Services for Windows AzureAbhishek Sur
 
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 comparisonAlex Zyl
 
Drupal on windows azure
Drupal on windows azureDrupal on windows azure
Drupal on windows azureSteve Xu
 
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 , BangaloreSenthil Kumar
 
Using Azure Functions for Integration
Using Azure Functions for IntegrationUsing Azure Functions for Integration
Using Azure Functions for IntegrationBizTalk360
 
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 .netCallon Campbell
 
.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.0Jeff Chu
 

La actualidad más candente (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 a Real World Architectures Using Windows Azure Mobile Services

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 RhoElementsRomin Irani
 
S#01 김영욱
S#01 김영욱 S#01 김영욱
S#01 김영욱 codercay
 
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 ststemSumit Kataria
 
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...Adis Jugo
 
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 ArchitecturesSalesforce Developers
 
2015.04.23 Azure Mobile Services
2015.04.23 Azure Mobile Services2015.04.23 Azure Mobile Services
2015.04.23 Azure Mobile ServicesMarco Parenzan
 
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 EnterprisesConvertigo | MADP & MBaaS
 
Client Continuum Dec Fy09
Client Continuum Dec Fy09Client Continuum Dec Fy09
Client Continuum Dec Fy09Martha Rotter
 
HTML5 Mobile Application Framework
HTML5 Mobile Application FrameworkHTML5 Mobile Application Framework
HTML5 Mobile Application FrameworkThanh Nguyen
 
SLUGUK BUILD Round-up
SLUGUK BUILD Round-upSLUGUK BUILD Round-up
SLUGUK BUILD Round-upDerek Lakin
 
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 znick_garrod
 
Soa204 Kawasaki Final
Soa204 Kawasaki FinalSoa204 Kawasaki Final
Soa204 Kawasaki FinalAnush Kumar
 
Magic mobile webinar_Jan2013
Magic mobile webinar_Jan2013Magic mobile webinar_Jan2013
Magic mobile webinar_Jan2013Magic Software
 
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 AzureK.Mohamed Faizal
 
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 LightswitchRob Windsor
 

Similar a 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
 

Último

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 productivityPrincipled Technologies
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
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 2024The Digital Insurer
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
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 WorkerThousandEyes
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
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...Drew Madelung
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
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...Miguel Araújo
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 

Último (20)

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
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
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
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
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
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
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...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
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...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 

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