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

Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 

Último (20)

Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 

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