SlideShare a Scribd company logo
Learn. Connect. Explore.Learn. Connect. Explore.
Building Microsoft Azure Mobile
Services with Visual Studio
Poonam Sampat
Technical Evangelist
@sampatpoonam
Ruhani Arora
Technical Evangelist
@infinitydlimit
I am familiar with Mobile Services
Overview
Node.js
Express
.NET
Web API
SQL Table
Storage
Blob
Storage
WNS &
MPNS
APNS GCM
Mongo
DB
Notification
Hubs
Source
Control
Facebook Twitter Microsoft Google Azure Active
Directory
Windows Store
iOS
Android
Xamarin
Phonegap
Sencha
Windows Phone
iOS
Android
HTML 5/JS
SDKs
RESTAPI
Hybrid
Connections
Based on Web API
Supports various data
stores:
• Azure databases
• Table Storage
• MongoDB
• Client NuGet
• Runtime available on
NuGet
Visual Studio support:
• Scaffolding
• IntelliSense
• Local F5
• In-browser test client
• Remote debugging
• Publish via Web Deploy
• Source control using
TFS
• View runtime logs
• Send test messages
• View registrations
• Facebook
• Twitter
• Google
• Microsoft Account
• AAD
Uses Notification
Hubs integration for
high-scale, cross-
platform push
Demo Storing and accessing
data with SQL
Authentication
Extend line-of-business to mobile
Bring turn-key login experience with
corporate credentials to mobile
developers
Enable applications built around
organizational structures
Facilitates login to AAD-protected resources
Provides single sign-on to multiple enterprise
resources
Available for Windows Store, iOS, and Android
Demo with AAD and Mobile
Services
Blob Storage + Mobile Services
Cost effective, scalable, and accessible from anywhere
Imagine malicious users uploading random files to your storage account
Allows clients to read/write/update data without a storage account key
Obtain a restricted token that allows you to access storage account for a short period of time
CloudBlobClient blobClient = new CloudBlobClient(blobEndpoint,
new StorageCredentials(storageAccountName, storageAccountKey));
CloudBlobContainer container = blobClient.GetContainerReference(item.containerName);
await container.CreateIfNotExistsAsync();
SharedAccessBlobPolicy sasPolicy = new SharedAccessBlobPolicy()
{
SharedAccessStartTime = DateTime.UtcNow,
SharedAccessExpiryTime = DateTime.UtcNow.AddMinutes(5),
Permissions = SharedAccessBlobPermissions.Write
};
String sasContainerToken = container.GetSharedAccessSignature(sasPolicy);
String SASUri = sasContainerToken ;
Offline Sync
Uses SQLite Backing Store, runs cross platform.
var table=App.MobileService.GetSyncTable<Feedback>();
if (!App.MobileService.SyncContext.IsInitialized)
{
var store = new MobileServiceSQLiteStore("localsync12.db");
store.DefineTable<Feedback>();
await App.MobileService.SyncContext.InitializeAsync(store, new
MobileServiceSyncHandler());
}
await table.PullAsync();
var list = await table.OrderBy(a=>a.Id).ToListAsyn();
table.Insert(new TodoItem(..));
service.SyncContext.PushAsync();
Diagnostics
Logging
Scale
store data in the cloud
authenticate your users
interact with Azure storage and other third party resources
offline sync
diagnostics and scale
Related sessions
Notification Hubs
Use Xamrain to develop cross platform applications
www.microsoft.com/learning
http://microsoft.com/msdnhttp://microsoft.com/technet
http://channel9.msdn.com/Events/TechEd
Your Feedback is Important
OPTION 3: Feedback stations outside the hall
Fill out evaluation of this session and help shape future events.
OPTION 1 OPTION 2
Replace this space with the
actual QR Code
Follow us online
Facebook
facebook.com/MicrosoftDeveloper.India
twitter.com/msdevindia
Twitter
Twitter:
@infinitydlimit
@sampatpoonam
Email:
ruha@microsoft.com &
posampat@microsoft.com
Azure Mobile Services : Service Enablement at its best

More Related Content

What's hot

MongoDB 3.4: Deep Dive on Views, Zones, and MongoDB Compass
MongoDB 3.4: Deep Dive on Views, Zones, and MongoDB CompassMongoDB 3.4: Deep Dive on Views, Zones, and MongoDB Compass
MongoDB 3.4: Deep Dive on Views, Zones, and MongoDB Compass
MongoDB
 
Securing Single Page Applications with Token Based Authentication
Securing Single Page Applications with Token Based AuthenticationSecuring Single Page Applications with Token Based Authentication
Securing Single Page Applications with Token Based Authentication
Stefan Achtsnit
 
MongoDB Launchpad 2016: Moving Cybersecurity to the Cloud
MongoDB Launchpad 2016: Moving Cybersecurity to the CloudMongoDB Launchpad 2016: Moving Cybersecurity to the Cloud
MongoDB Launchpad 2016: Moving Cybersecurity to the Cloud
MongoDB
 
MongoDB World 2019: Securing Application Data from Day One
MongoDB World 2019: Securing Application Data from Day OneMongoDB World 2019: Securing Application Data from Day One
MongoDB World 2019: Securing Application Data from Day One
MongoDB
 
Blockchain in the Food Supply Chain (v2)
Blockchain in the Food Supply Chain (v2)Blockchain in the Food Supply Chain (v2)
Blockchain in the Food Supply Chain (v2)
Peter Kirchner
 
Blockchain in the Food Supply Chain
Blockchain in the Food Supply ChainBlockchain in the Food Supply Chain
Blockchain in the Food Supply Chain
Peter Kirchner
 
Introducing MongoDB Atlas
Introducing MongoDB AtlasIntroducing MongoDB Atlas
Introducing MongoDB Atlas
MongoDB
 
What are JSON Web Tokens and Why Should I Care?
What are JSON Web Tokens and Why Should I Care?What are JSON Web Tokens and Why Should I Care?
What are JSON Web Tokens and Why Should I Care?
Derek Edwards
 
Intro to Firebase || Event by DSC UNIDEB
Intro to Firebase || Event by DSC UNIDEBIntro to Firebase || Event by DSC UNIDEB
Intro to Firebase || Event by DSC UNIDEB
Muhammad Raza
 
What's New in Nuxeo Platform 7.3
What's New in Nuxeo Platform 7.3 What's New in Nuxeo Platform 7.3
What's New in Nuxeo Platform 7.3
Nuxeo
 
Webinar: Get Started with the MEAN Stack
Webinar: Get Started with the MEAN StackWebinar: Get Started with the MEAN Stack
Webinar: Get Started with the MEAN Stack
MongoDB
 
Dsc Firebase Introduction
Dsc Firebase IntroductionDsc Firebase Introduction
Dsc Firebase Introduction
KateGrupp
 
Improving web site performance and scalability while saving
Improving web site performance and scalability while savingImproving web site performance and scalability while saving
Improving web site performance and scalability while savingmdc11
 
Blockchain on AWS
Blockchain on AWSBlockchain on AWS
Blockchain on AWS
AWS Riyadh User Group
 
Securing sensitive data with Azure Key Vault
Securing sensitive data with Azure Key VaultSecuring sensitive data with Azure Key Vault
Securing sensitive data with Azure Key Vault
Tom Kerkhove
 
MongoDB .local Bengaluru 2019: The Journey of Migration from Oracle to MongoD...
MongoDB .local Bengaluru 2019: The Journey of Migration from Oracle to MongoD...MongoDB .local Bengaluru 2019: The Journey of Migration from Oracle to MongoD...
MongoDB .local Bengaluru 2019: The Journey of Migration from Oracle to MongoD...
MongoDB
 
Securing java web applications
Securing java web applicationsSecuring java web applications
Securing java web applications
Jonas Elias Flesch
 
CodiLime Tech Talk - Michał Pawluk: Our deployment of HashiCorp Vault
CodiLime Tech Talk - Michał Pawluk: Our deployment of HashiCorp VaultCodiLime Tech Talk - Michał Pawluk: Our deployment of HashiCorp Vault
CodiLime Tech Talk - Michał Pawluk: Our deployment of HashiCorp Vault
CodiLime
 
Azure Low Lands 2019 - Building secure cloud applications with Azure Key Vault
Azure Low Lands 2019 - Building secure cloud applications with Azure Key VaultAzure Low Lands 2019 - Building secure cloud applications with Azure Key Vault
Azure Low Lands 2019 - Building secure cloud applications with Azure Key Vault
Tom Kerkhove
 
The High Performance Web Application Lifecycle
The High Performance Web Application LifecycleThe High Performance Web Application Lifecycle
The High Performance Web Application LifecycleAlois Reitbauer
 

What's hot (20)

MongoDB 3.4: Deep Dive on Views, Zones, and MongoDB Compass
MongoDB 3.4: Deep Dive on Views, Zones, and MongoDB CompassMongoDB 3.4: Deep Dive on Views, Zones, and MongoDB Compass
MongoDB 3.4: Deep Dive on Views, Zones, and MongoDB Compass
 
Securing Single Page Applications with Token Based Authentication
Securing Single Page Applications with Token Based AuthenticationSecuring Single Page Applications with Token Based Authentication
Securing Single Page Applications with Token Based Authentication
 
MongoDB Launchpad 2016: Moving Cybersecurity to the Cloud
MongoDB Launchpad 2016: Moving Cybersecurity to the CloudMongoDB Launchpad 2016: Moving Cybersecurity to the Cloud
MongoDB Launchpad 2016: Moving Cybersecurity to the Cloud
 
MongoDB World 2019: Securing Application Data from Day One
MongoDB World 2019: Securing Application Data from Day OneMongoDB World 2019: Securing Application Data from Day One
MongoDB World 2019: Securing Application Data from Day One
 
Blockchain in the Food Supply Chain (v2)
Blockchain in the Food Supply Chain (v2)Blockchain in the Food Supply Chain (v2)
Blockchain in the Food Supply Chain (v2)
 
Blockchain in the Food Supply Chain
Blockchain in the Food Supply ChainBlockchain in the Food Supply Chain
Blockchain in the Food Supply Chain
 
Introducing MongoDB Atlas
Introducing MongoDB AtlasIntroducing MongoDB Atlas
Introducing MongoDB Atlas
 
What are JSON Web Tokens and Why Should I Care?
What are JSON Web Tokens and Why Should I Care?What are JSON Web Tokens and Why Should I Care?
What are JSON Web Tokens and Why Should I Care?
 
Intro to Firebase || Event by DSC UNIDEB
Intro to Firebase || Event by DSC UNIDEBIntro to Firebase || Event by DSC UNIDEB
Intro to Firebase || Event by DSC UNIDEB
 
What's New in Nuxeo Platform 7.3
What's New in Nuxeo Platform 7.3 What's New in Nuxeo Platform 7.3
What's New in Nuxeo Platform 7.3
 
Webinar: Get Started with the MEAN Stack
Webinar: Get Started with the MEAN StackWebinar: Get Started with the MEAN Stack
Webinar: Get Started with the MEAN Stack
 
Dsc Firebase Introduction
Dsc Firebase IntroductionDsc Firebase Introduction
Dsc Firebase Introduction
 
Improving web site performance and scalability while saving
Improving web site performance and scalability while savingImproving web site performance and scalability while saving
Improving web site performance and scalability while saving
 
Blockchain on AWS
Blockchain on AWSBlockchain on AWS
Blockchain on AWS
 
Securing sensitive data with Azure Key Vault
Securing sensitive data with Azure Key VaultSecuring sensitive data with Azure Key Vault
Securing sensitive data with Azure Key Vault
 
MongoDB .local Bengaluru 2019: The Journey of Migration from Oracle to MongoD...
MongoDB .local Bengaluru 2019: The Journey of Migration from Oracle to MongoD...MongoDB .local Bengaluru 2019: The Journey of Migration from Oracle to MongoD...
MongoDB .local Bengaluru 2019: The Journey of Migration from Oracle to MongoD...
 
Securing java web applications
Securing java web applicationsSecuring java web applications
Securing java web applications
 
CodiLime Tech Talk - Michał Pawluk: Our deployment of HashiCorp Vault
CodiLime Tech Talk - Michał Pawluk: Our deployment of HashiCorp VaultCodiLime Tech Talk - Michał Pawluk: Our deployment of HashiCorp Vault
CodiLime Tech Talk - Michał Pawluk: Our deployment of HashiCorp Vault
 
Azure Low Lands 2019 - Building secure cloud applications with Azure Key Vault
Azure Low Lands 2019 - Building secure cloud applications with Azure Key VaultAzure Low Lands 2019 - Building secure cloud applications with Azure Key Vault
Azure Low Lands 2019 - Building secure cloud applications with Azure Key Vault
 
The High Performance Web Application Lifecycle
The High Performance Web Application LifecycleThe High Performance Web Application Lifecycle
The High Performance Web Application Lifecycle
 

Similar to Azure Mobile Services : Service Enablement at its best

Cloud Powered Mobile Apps With Azure
Cloud Powered Mobile Apps With AzureCloud Powered Mobile Apps With Azure
Cloud Powered Mobile Apps With Azure
Vinh Nguyen Quang
 
Cloud Powered Mobile Apps with Azure
Cloud Powered Mobile Apps with AzureCloud Powered Mobile Apps with Azure
Cloud Powered Mobile Apps with Azure
GameLandVN
 
Azure provisioning at your control
Azure provisioning at your controlAzure provisioning at your control
Azure provisioning at your control
Govind Kanshi
 
Strategies to automate deployment and provisioning of Microsoft Azure.
Strategies to automate deployment and provisioning of Microsoft Azure.Strategies to automate deployment and provisioning of Microsoft Azure.
Strategies to automate deployment and provisioning of Microsoft Azure.
HARMAN Services
 
Azure Table Storage: The Good, the Bad, the Ugly (full talk)
Azure Table Storage: The Good, the Bad, the Ugly (full talk)Azure Table Storage: The Good, the Bad, the Ugly (full talk)
Azure Table Storage: The Good, the Bad, the Ugly (full talk)
Sirar Salih
 
Cloud Powered Mobile Apps with Azure
Cloud Powered Mobile Apps  with AzureCloud Powered Mobile Apps  with Azure
Cloud Powered Mobile Apps with Azure
Kris Wagner
 
Open stack ocata summit enabling aws lambda-like functionality with openstac...
Open stack ocata summit  enabling aws lambda-like functionality with openstac...Open stack ocata summit  enabling aws lambda-like functionality with openstac...
Open stack ocata summit enabling aws lambda-like functionality with openstac...
Shaun Murakami
 
AWS-Course-content-apponix.pdf
AWS-Course-content-apponix.pdfAWS-Course-content-apponix.pdf
AWS-Course-content-apponix.pdf
PrajeeshKrishnan
 
Cnam cours azure zecloud mobile services
Cnam cours azure zecloud mobile servicesCnam cours azure zecloud mobile services
Cnam cours azure zecloud mobile services
Aymeric Weinbach
 
A Tour of Google Cloud Platform
A Tour of Google Cloud PlatformA Tour of Google Cloud Platform
A Tour of Google Cloud Platform
Colin Su
 
CTU June 2011 - Windows Azure App Fabric
CTU June 2011 - Windows Azure App FabricCTU June 2011 - Windows Azure App Fabric
CTU June 2011 - Windows Azure App FabricSpiffy
 
Devday 2014 using_afs_in_your_cloud_app
Devday 2014 using_afs_in_your_cloud_appDevday 2014 using_afs_in_your_cloud_app
Devday 2014 using_afs_in_your_cloud_app
Mihail Mateev
 
Integration on windows azure
Integration on windows azureIntegration on windows azure
Integration on windows azure
Sam Vanhoutte
 
Java on azure
Java on azureJava on azure
Java on azure
Anders Lybecker
 
Microsoft-Azure-Overvi2222222222222ew.pptx
Microsoft-Azure-Overvi2222222222222ew.pptxMicrosoft-Azure-Overvi2222222222222ew.pptx
Microsoft-Azure-Overvi2222222222222ew.pptx
saidbilgen
 
Kotlin server side frameworks
Kotlin server side frameworksKotlin server side frameworks
Kotlin server side frameworks
Ken Yee
 
Windows Azure Mobile Services - The Perfect Partner
Windows Azure Mobile Services - The Perfect PartnerWindows Azure Mobile Services - The Perfect Partner
Windows Azure Mobile Services - The Perfect Partner
Michael Collier
 
Chris O'Brien - Best bits of Azure for Office 365/SharePoint developers
Chris O'Brien - Best bits of Azure for Office 365/SharePoint developersChris O'Brien - Best bits of Azure for Office 365/SharePoint developers
Chris O'Brien - Best bits of Azure for Office 365/SharePoint developers
Chris O'Brien
 
Cloud Powered Mobile Apps with Azure
Cloud Powered Mobile Apps with AzureCloud Powered Mobile Apps with Azure
Cloud Powered Mobile Apps with Azure
Ken Cenerelli
 

Similar to Azure Mobile Services : Service Enablement at its best (20)

Cloud Powered Mobile Apps With Azure
Cloud Powered Mobile Apps With AzureCloud Powered Mobile Apps With Azure
Cloud Powered Mobile Apps With Azure
 
Cloud Powered Mobile Apps with Azure
Cloud Powered Mobile Apps with AzureCloud Powered Mobile Apps with Azure
Cloud Powered Mobile Apps with Azure
 
Azure provisioning at your control
Azure provisioning at your controlAzure provisioning at your control
Azure provisioning at your control
 
Strategies to automate deployment and provisioning of Microsoft Azure.
Strategies to automate deployment and provisioning of Microsoft Azure.Strategies to automate deployment and provisioning of Microsoft Azure.
Strategies to automate deployment and provisioning of Microsoft Azure.
 
Azure Table Storage: The Good, the Bad, the Ugly (full talk)
Azure Table Storage: The Good, the Bad, the Ugly (full talk)Azure Table Storage: The Good, the Bad, the Ugly (full talk)
Azure Table Storage: The Good, the Bad, the Ugly (full talk)
 
Cloud Powered Mobile Apps with Azure
Cloud Powered Mobile Apps  with AzureCloud Powered Mobile Apps  with Azure
Cloud Powered Mobile Apps with Azure
 
Open stack ocata summit enabling aws lambda-like functionality with openstac...
Open stack ocata summit  enabling aws lambda-like functionality with openstac...Open stack ocata summit  enabling aws lambda-like functionality with openstac...
Open stack ocata summit enabling aws lambda-like functionality with openstac...
 
AWS-Course-content-apponix.pdf
AWS-Course-content-apponix.pdfAWS-Course-content-apponix.pdf
AWS-Course-content-apponix.pdf
 
Cnam cours azure zecloud mobile services
Cnam cours azure zecloud mobile servicesCnam cours azure zecloud mobile services
Cnam cours azure zecloud mobile services
 
A Tour of Google Cloud Platform
A Tour of Google Cloud PlatformA Tour of Google Cloud Platform
A Tour of Google Cloud Platform
 
CTU June 2011 - Windows Azure App Fabric
CTU June 2011 - Windows Azure App FabricCTU June 2011 - Windows Azure App Fabric
CTU June 2011 - Windows Azure App Fabric
 
Devday 2014 using_afs_in_your_cloud_app
Devday 2014 using_afs_in_your_cloud_appDevday 2014 using_afs_in_your_cloud_app
Devday 2014 using_afs_in_your_cloud_app
 
Integration on windows azure
Integration on windows azureIntegration on windows azure
Integration on windows azure
 
Microsoft cloud 101
Microsoft cloud 101Microsoft cloud 101
Microsoft cloud 101
 
Java on azure
Java on azureJava on azure
Java on azure
 
Microsoft-Azure-Overvi2222222222222ew.pptx
Microsoft-Azure-Overvi2222222222222ew.pptxMicrosoft-Azure-Overvi2222222222222ew.pptx
Microsoft-Azure-Overvi2222222222222ew.pptx
 
Kotlin server side frameworks
Kotlin server side frameworksKotlin server side frameworks
Kotlin server side frameworks
 
Windows Azure Mobile Services - The Perfect Partner
Windows Azure Mobile Services - The Perfect PartnerWindows Azure Mobile Services - The Perfect Partner
Windows Azure Mobile Services - The Perfect Partner
 
Chris O'Brien - Best bits of Azure for Office 365/SharePoint developers
Chris O'Brien - Best bits of Azure for Office 365/SharePoint developersChris O'Brien - Best bits of Azure for Office 365/SharePoint developers
Chris O'Brien - Best bits of Azure for Office 365/SharePoint developers
 
Cloud Powered Mobile Apps with Azure
Cloud Powered Mobile Apps with AzureCloud Powered Mobile Apps with Azure
Cloud Powered Mobile Apps with Azure
 

Recently uploaded

20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
Neo4j
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Vladimir Iglovikov, Ph.D.
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
SOFTTECHHUB
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 

Recently uploaded (20)

20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 

Azure Mobile Services : Service Enablement at its best

Editor's Notes

  1. Have you downloaded the feedback application? If not I request you to go ahead and download the same. For folks who have not downloaded what all do you think a feedback application should be able to do? Allow you to rate and store feedback for all the session that you are have attended, also if you rate is bad we have a slap noise generated. I am kidding.!! See all the sessions that are lined up for today and tomorrow. Favorite your sessions. Should be able to show a toast if a session is changed or moved, or delayed for some reason. Say you want add a little authentication, to allow access to only folks within some group. And you want all these requirements supported on various platforms…maybe an Iphone, android phone or windows phone. Wow you have a rich set of requirements for this application, you want to store data, authenticate, provide offline support, send push notifications, sounds like lots of work, with lot of backend technologies you need to speak to, different frameworks involved and different tools. Well that is a big no. My name is Poonam Sampat , a technical evangelist , who evangelizes Azure along with Ruhani Arora who is my colleague today we here to tell you that using Microsoft Azure mobile Services and the IDE that we all use and love VS that you can spin up a back end that spans all your needs, that can give your application a backend that meets all your requirements. Rich set of requirements -> store data, authenticate users, send push notifications and all of this has to be cross platform. Sounds like lots of works, lot of backend technologies, frameworks, different tools. Well the answer is “No”. Over the weekend there was an article in deccan herald which spoke about how there is a phrase “appoholics” And it also spoke about how global mobile app revenues mounted to around $18.56 billion dollars and how by 2017 it will grow to a whopping $76.52 billion. So the point I am driving is that having that one app idea, leveraging something like an azure mobile service how each one of you can create your own brands.
  2. By a show of hands how many of you are familiar with Mobile Services. For how many of you this a true statement.
  3. We will do a good overview of mobile services , key principles of Azure Mobile Services and how that will make sense for any data driven application that you are building. Then we will go hands deep into Visual Studio, take a windows app and create a backend and show you how easy it is.
  4. What is Azure Mobile Services? So mobile apps have data, you have to store your data somewhere, cloud is an obvious option for storing data, so mobile services has an option to store data and do smart querying on the data.You can do smart queries, which are built on Odata, Odata is very well integrated on Web API, client sends an oData query the server executes query, brings the results back to client. Support for CRUD operations. The database that we support out of the box are - we support SQL Db out of the box, you can use table storage ,blob storage, mongo db, we announced hybrid connections, you can bring your own database. We give a free tier , with SQL DB which you can start trying. We allow to authenticate your users against different providers, standard ones, facebook, twitter, Microsoft account, google and azure active directory. You have to register with these providers and tell azure mobile services about your registration, users will be able login via those accounts to your application. So you don’t have to store username and passwords, but if you want to you can store the details and we support azure active directory for the same. One more possibility is to have custom authentication supported, well that is not mentioned, that’s the speed at which we are delivering. Again authentication is a important concern and it is handled by the backend. Also apart from authentication, you can do levels of authorization. Other thing mobile app need is Push notifications, and notification hubs,send push notifications which gives you classes which you can use to high volume, low latency push notifications messages you can reach out to iphones, ipads,google tablets, android phones, android devices, windows phones & kindle fire. We are not going to go deep dive on the notification hubs, if you want to know more, please attend my collegues Abhishek’s session at 6:00pm in the same hall. The way you interface with these different technologies is you can use REST API, and if you don’t want to muck with these rest api, we have client library for all major platforms. Here I am at a Microsoft premium conference with a Microsoft logo and talking to you about how we support so many platforms and devices, this is the openness that Microsoft has embraced. Another feature is we support Custom API, API Controllers which expose arbitrary http endpoints. If you want to do operations not related to the Database you can use custom API. All this is hosted on Azure. Offline Sync: Major feature which we will be demo today. Users can work offline, and there is support for pushing and pulling changes from the services and there is also support for conflict management. Like merge the results ignore records. Two kinds of runtimes node.js and .net. Out .net runtime powered by web api.
  5. After we released the node js backend, we went back to community and the customers, they said why don’t we expose something with .net so that it is easy to build a backend, time to learn node.js would disappear.
  6. .Mobile Services what is it? In a nutshell it is web api but customized for mobile scenarios. We support Data, Auth and Push. What sets the .net mobile services apart is the VS rich tooling. You have nuget packages that you use for you windows store/phone apps. If you are IOS or android again we have rich library that you can use for consuming these .net mobile services. Great scaffolding, we wanted to minimize the code you need to write. We give you intellisense. We give you f5.We have a test harness which allows you to view the api but also try them. We also give you remote debugging, how many are familiar with remote debugging? At a high level, you are setting a break point on your mobile service which is in the cloud and debugging it as if it is on your machine. You can publish your mobile service ,so unlike JavaScript you are debugging live and writing against live services, in VS you can do the development and deploy once you are ready. Standard source control story, you can use TFS or preferred source control. View runtime logs from within VS. What I mean here is typically once the mobile services is up and running I want to check all the events, like success and failures , if something failed why did it fail? Get my run time logs within VS. Send test messages for notification hub & view registrations.
  7. [Ruhani] Demo1: Storing and accessing data with SQL.   Show the application, without connecting to any backend. Open new VS instance and create mobile services backend, create a new project select Cloud->Windows Azure Mobile Services template. Talking points: Mobile services project template is a customized web api template,taken out things like views and added packages , we have preloaded with Dataobject and a controller to give a sense of CRUD APIs. Open solution explorer -> navigate to Dataobject, show it inherits from entity data. TodoItemController-> show the CRUD APIs. Pause, [Poonam]I will take over and talk a little here about schedule jobs. If you want you can write your own data object class, which does not inherit from entity data. Schedule jobs are interesting, in your application you need to send periodic notification you can do that with mobile services, you need to deploy this and set a frequency.
  8. No we have an application that can store data on the cloud, now I would like to give access to only those folks who I think should have access to the application and data.
  9. We can do that via Azure Active directory. You must be wondering why active directory? We wanted to bring the Line of business mindset to mobile, give a turnkey login experience. Use corporate credentials instead of going thru google/twitter to login to the mobile application, so now you can build applications around organizational infrastructure. You have a large web service you have dev on call, to monitor if the webserver is down, you want a backend to notify his lead, his manager, the director, then ceo , without AD it is very difficult to define an escalation process. So how can we marry mobile services and active directory? We have something called as ADAL. It is a library Authentication Library.
  10. What is ADAL? Active Directory Authentication Library is used to authenticate all sorts of AAD resources, Login once and you can access mobile service, sharepoint sites. Also available for iOs and android.
  11. Your device connects to AD, and says hey I want a token to access the azure mobile service. It provides two things. Client Id and the name of the service it needs to talk to. Then AD says ok I can give you the token because of your identity and I know you are trying to access only this resource, the resource is given you permission to access it. Then after getting the token the client makes a request to the mobile service. So we need to register the service as well as the client application in as resources in AD. Lets see how we can implement the same in code.
  12. So that was a great demo, well the most important thing you need to keep in mind to get it going is register with Azure mobile services and AD. And one method you need to remember here is LoginAsync which will open up the entire oAuth flow.
  13. Now that I know that I can save the data on the cloud and only authorized users can access the data, I want to store files on the cloud.
  14. In a mobile application scenario say in the feedback application I would like to upload the feedback in the form of documents, in this scenario storage makes sense. To store documents, media files, videos, audio clipping blob storage is the storage option that Azure provides. As the name suggests you can store large binary objects. It makes perfect sense in this scenario since it is highly cost effective, and can be accessed from anywhere, by any client SDK. The way you access blob storage is you create a storage account, create a logical container and then a blob within that. To access the blob storage you need to know the storage access key. Now obliviously you cannot hard code you account key information in the client. Let me introduce to you shared access signatures, allow you to get a temp token with limited amount of time with limited access on the file. Mobile Services you would need to store files , most cost effective is using blob storage, scalable and it is accessible from anywhere.
  15. Device requests for SAS token for storage-> Mobile services has permission to talk to your storage account, it has the storage account key. The storage generates a SAS token, returns it to the device.
  16. Add this code at the services layer and generate the sas token. At the client based on the sas token they can request for the uploaded documents.
  17. Speaking points Very cool feature, and very easy to integrate with our app without making changes to the server, the whole backend will stay as is and we will make changes to the client , so users can work offline when the internet connection is not available. It uses SQl Lite as the default backing store, what ever you store offline, stuff that you cache when you are not connected to the internet is stored in SQL Lite database, which is a single file and there is a sql lite nuget package that you can download. What ever is stored offline is stored in SQLite. There is a nugget package for supporting SQLite. Push & Pull operations are manual, there is no magic synchronization there are functions that need to be called to pull data from the server or push data back to the server. So you work offline accumulate data and push them on the server. There is good conflict detection that is provided.
  18. You need to add a property called Version in the datamodel, the column is already present , client can see the version column. Defined table in the store Initialized the sync context Important to notice here is the MobileServiceSQLiteStore which abstracts the SQLlite database which implements an Interface, so if you don’t want to use SQLite, or just want to save on a file. Then give details on the table that you want to sync. Pending operations in the sync context queue: 0 Table: TodoItem Inserted into local store: 9e61196d-55df-4869-8b30-4a4a6eb792f2 Pending operations in the sync context queue: 1 Inserted another item into the local store: c349b30d-d603-48db-8509-b2fd170f4499 Pending operations in the sync context queue: 2
  19. Pull, here you provide a table and get data from the table and put it offline store. Call Push or Pull. Trigger synchronization. PushAsync() -> push data from local to the server.. Important thing to remember here is this sync is at the synccontext level. Pull Operation() Pulling data from the remote store, here it is advisable to get small set of items. Ideally a odata query shd be used. One thing to note when pull is performed if there are items in the pending synchronization queue, those items are first pushed over to the server. Synchandler, which determines what to do when a conflict occurs, you get both the local data and the server data, then you can determine based on the version which is higher and actually perform a merge or discard changes.
  20. Please ensure the below communicated We value your feedback Use any of the 3 options to provide feedback Option 1 -> QR Code Option 2 -> Feedback right through the app for the session Option 3 -> Via feedback stations You’ll also be entered into a daily prize drawing!