SlideShare a Scribd company logo
A Hitchhiker's Guide 
to 
Azure Mobile Services
@DavidGiard 
David Giard 
Microso. 
Technical 
Evangelist 
• @DavidGiard 
• DavidGiard.com 
• TechnologyAndFriends 
• dGiard@microso..com
@DavidGiard 
Agenda 
• Why 
Azure 
Mobile 
Services? 
• Mobile 
Architecture 
• Common 
Data 
Access 
• CustomizaCon 
• Dynamic 
Data 
• Client 
Code 
• IdenCty 
and 
Permissions 
• Scaling 
• API 
Scripts 
• NoCficaCons
@DavidGiard 
Why Azure Mobile Services? 
• Frees 
you 
from 
plumbing 
code 
• Handles 
API 
Changes 
• Cross-­‐PlaLorm 
soluCon 
• Choose 
JavaScript 
or 
.NET
@DavidGiard 
Mobile Architecture 
Windows 
Phone 
Data 
Windows 
8.1 
iPhone 
iPad 
Android 
REST 
API 
JavaScript
@DavidGiard 
Pieces of Azure Mobile Services 
Permissions 
SQL 
Server 
table 
READ 
INSERT 
UPDATE 
DELETE 
Client 
Code 
IdenCty
@DavidGiard 
CreaBng a Mobile Service
@DavidGiard 
CreaBng a Mobile Service
@DavidGiard 
CreaBng a Mobile Service
@DavidGiard 
REST 
hUps://Giard.azure-­‐mobile.net/Tables/Table1 
• GET, 
PUT, 
POST, 
DELETE, 
PATCH 
• Extend 
GET 
with 
oData 
Query 
syntax
@DavidGiard 
REST 
Client 
Endpoint 
Request 
Verb 
Data 
(JSON) 
Response
@DavidGiard 
REST 
HTTP 
Verb 
Ac+on 
SQL 
GET 
Read 
Data 
SELECT… 
POST 
Create 
Data 
INSERT… 
DELETE 
Delete 
Data 
DELETE… 
PUT 
or 
PATCH 
Update 
Data 
UPDATE…
@DavidGiard 
oData Query Syntax 
Extension 
Descrip+on 
$filter 
WHERE 
clause 
$inlinecount 
# 
items 
in 
table 
$orderby 
SORT 
clause 
$select 
Columns 
to 
return 
$skip 
#records 
to 
skip 
$top 
#records 
to 
return 
../Tables/Table1?$filter=AcCve 
eq 
true 
../Tables/Table1?$filter=AcCve%20eq%20true 
../Tables/Table1$filter=AcCve%20eq%20true&$orderby=LastName
@DavidGiard 
Dynamic Schema 
• “Configure” 
tab 
• AutomaCcally 
adds 
columns 
if 
matching 
data 
submiUed 
• Useful 
during 
development 
• Turn 
off 
during 
producCon
@DavidGiard 
Permissions
@DavidGiard 
Scripts 
• Insert 
• Update 
• Delete 
• Read
@DavidGiard 
Demo
@DavidGiard 
IdenBty – Single Sign-­‐On 
Client 
TwiUer 
or 
Facebook 
or 
Google 
or 
Microso. 
Azure 
Mobile 
Services 
API 
Request 
TOKEN
@DavidGiard 
IdenBty
@DavidGiard 
IdenBty 
funcCon 
insert(item, 
user, 
request) 
{ 
item.CreatedBy 
= 
user.userId; 
request.execute(); 
} 
funcCon 
read(query, 
user, 
request) 
{ 
query.where 
({CreatedBy:user.userId}); 
request.execute(); 
}
@DavidGiard 
Demo
@DavidGiard 
Scaling
@DavidGiard 
Scaling
@DavidGiard 
API Scripts
@DavidGiard 
API Scripts 
<Mobile 
Service 
URL>/api/<API 
Name> 
hUps://giard.azure-­‐mobile.net/api/MyApi 
exports.post 
= 
funcCon(request, 
response) 
{ 
// 
Use 
"request.service" 
to 
access 
features 
of 
your 
mobile 
service, 
e.g.: 
// 
var 
tables 
= 
request.service.tables; 
// 
var 
push 
= 
request.service.push; 
response.send(statusCodes.OK, 
{ 
message 
: 
'Hello 
World!' 
}); 
}; 
exports.get 
= 
funcCon(request, 
response) 
{ 
response.send(statusCodes.OK, 
{ 
message 
: 
'Hello 
World!' 
}); 
};
@DavidGiard 
Scheduler
@DavidGiard 
Mobile Services in .NET
@DavidGiard 
Mobile Services in .NET
@DavidGiard 
Demo
@DavidGiard 
Push NoBficaBons
@DavidGiard 
Push NoBficaBons 
var 
payload 
= 
App 
Push 
Service 
APN 
(Apple) 
GCM 
(Google) 
WNS 
(Windows 
8) 
MPNS 
(Windows 
Phone) 
Azure 
Mobile 
Services 
'<?xml 
version="1.0" 
encoding="uL-­‐8"?><toast><visual><binding 
template="ToastText01">' 
+ 
'<text 
id="1">Sample 
Toast</text></binding></visual></toast>'; 
var 
push 
= 
request.service.push; 
push.wns.send(null, 
payload, 
'wns/toast', 
{ 
success: 
funcCon 
(pushResponse) 
{ 
console.log("Sent 
push:", 
pushResponse); 
} 
}); 
}
@DavidGiard 
exports.post 
= 
funcCon(request, 
response) 
{ 
response.send(statusCodes.OK,{ 
message 
: 
'Hello 
World!' 
}) 
// 
The 
following 
call 
is 
for 
illustraCon 
purpose 
only 
// 
The 
call 
and 
funcCon 
body 
should 
be 
moved 
to 
a 
script 
in 
your 
app 
// 
where 
you 
want 
to 
send 
a 
noCficaCon 
sendNoCficaCons(request); 
}; 
// 
The 
following 
code 
should 
be 
moved 
to 
appropriate 
script 
in 
your 
app 
where 
noCficaCon 
is 
sent 
funcCon 
sendNoCficaCons(request) 
{ 
var 
payload 
= 
'<?xml 
version="1.0" 
encoding="uL-­‐8"?><toast><visual><binding 
template="ToastText01">' 
+ 
'<text 
id="1">Sample 
Toast</text></binding></visual></toast>'; 
var 
push 
= 
request.service.push; 
push.wns.send(null, 
payload, 
'wns/toast', 
{ 
success: 
funcCon 
(pushResponse) 
{ 
console.log("Sent 
push:", 
pushResponse); 
} 
}); 
}
@DavidGiard 
Push NoBficaBons 
Azure 
Mobile 
Services 
Push 
Service 
APN 
(Apple) 
GCM 
(Google) 
WNS 
(Windows 
8) 
MPNS 
(Windows 
Phone) 
NoCficaCon 
Hub
@DavidGiard 
So Long and Thanks! 
David 
Giard 
• @DavidGiard 
• DavidGiard.com 
• TechnologyAndFriends.com

More Related Content

What's hot

LUIS and Bots
LUIS and BotsLUIS and Bots
LUIS and Bots
Daniel Toomey
 
Deliver an Enhanced User Experience by Combining Azure, Teams and the Microso...
Deliver an Enhanced User Experience by Combining Azure, Teams and the Microso...Deliver an Enhanced User Experience by Combining Azure, Teams and the Microso...
Deliver an Enhanced User Experience by Combining Azure, Teams and the Microso...
Frederik Bisback
 
Cross platformmobileapp
Cross platformmobileappCross platformmobileapp
Cross platformmobileapp
Dhananjay Kumar
 
Microsoft Teams Development - Conversational AI
Microsoft Teams Development - Conversational AIMicrosoft Teams Development - Conversational AI
Microsoft Teams Development - Conversational AI
Thomas Gölles
 
Geocortex technology update
Geocortex technology update  Geocortex technology update
Geocortex technology update
Geodata AS
 
Building a Future-ready Bank
Building a Future-ready BankBuilding a Future-ready Bank
Building a Future-ready Bank
WSO2
 
Geocortex essentials - Esri norsk BK 2014
Geocortex essentials - Esri norsk BK 2014Geocortex essentials - Esri norsk BK 2014
Geocortex essentials - Esri norsk BK 2014
Geodata AS
 
PowerApps, the Developer Story: Build an API to Integrate Corporate Data
PowerApps, the Developer Story: Build an API to Integrate Corporate DataPowerApps, the Developer Story: Build an API to Integrate Corporate Data
PowerApps, the Developer Story: Build an API to Integrate Corporate Data
Bram de Jager
 
Salesforce Mobile Developer Week
Salesforce Mobile Developer WeekSalesforce Mobile Developer Week
Salesforce Mobile Developer Week
John Stevenson
 
Crossing the low-code and pro-code chasm: a platform approach
Crossing the low-code and pro-code chasm: a platform approachCrossing the low-code and pro-code chasm: a platform approach
Crossing the low-code and pro-code chasm: a platform approach
Asanka Abeysinghe
 
Collab365 - AngularJS & Office 365 Unified API : A match made in heaven!
Collab365 - AngularJS & Office 365 Unified API : A match made in heaven!Collab365 - AngularJS & Office 365 Unified API : A match made in heaven!
Collab365 - AngularJS & Office 365 Unified API : A match made in heaven!
Sébastien Levert
 
Transformation through the API
Transformation through the APITransformation through the API
Transformation through the API
Alex Danvy
 
HTML5 Development with Gizmox Visual WebGui7
HTML5 Development with Gizmox Visual WebGui7HTML5 Development with Gizmox Visual WebGui7
HTML5 Development with Gizmox Visual WebGui7
Gizmox
 
Windows 10 IoT Core - Inovasyon Haftasi - TİM
Windows 10 IoT Core - Inovasyon Haftasi - TİMWindows 10 IoT Core - Inovasyon Haftasi - TİM
Windows 10 IoT Core - Inovasyon Haftasi - TİM
İbrahim KIVANÇ
 
Azure DevOps with DV and GitHub
Azure DevOps with DV and GitHubAzure DevOps with DV and GitHub
Azure DevOps with DV and GitHub
Juarez Junior
 
Webinar: Building HTML5 Mobile Apps with Kinvey and Gizmox
Webinar: Building HTML5 Mobile Apps with Kinvey and GizmoxWebinar: Building HTML5 Mobile Apps with Kinvey and Gizmox
Webinar: Building HTML5 Mobile Apps with Kinvey and Gizmox
Gizmox
 
Building disconnected applications with the Geocortex mobile application fram...
Building disconnected applications with the Geocortex mobile application fram...Building disconnected applications with the Geocortex mobile application fram...
Building disconnected applications with the Geocortex mobile application fram...
Geodata AS
 
Titanium presentation
Titanium presentationTitanium presentation
Titanium presentation
aaltavas
 
apidays LIVE Singapore - The ELT Approach by Lesley Graham, Servian
apidays LIVE Singapore - The ELT Approach by Lesley Graham, Servianapidays LIVE Singapore - The ELT Approach by Lesley Graham, Servian
apidays LIVE Singapore - The ELT Approach by Lesley Graham, Servian
apidays
 
Building IoT Apps in the Cloud Webinar
Building IoT Apps in the Cloud WebinarBuilding IoT Apps in the Cloud Webinar
Building IoT Apps in the Cloud Webinar
DreamFactory
 

What's hot (20)

LUIS and Bots
LUIS and BotsLUIS and Bots
LUIS and Bots
 
Deliver an Enhanced User Experience by Combining Azure, Teams and the Microso...
Deliver an Enhanced User Experience by Combining Azure, Teams and the Microso...Deliver an Enhanced User Experience by Combining Azure, Teams and the Microso...
Deliver an Enhanced User Experience by Combining Azure, Teams and the Microso...
 
Cross platformmobileapp
Cross platformmobileappCross platformmobileapp
Cross platformmobileapp
 
Microsoft Teams Development - Conversational AI
Microsoft Teams Development - Conversational AIMicrosoft Teams Development - Conversational AI
Microsoft Teams Development - Conversational AI
 
Geocortex technology update
Geocortex technology update  Geocortex technology update
Geocortex technology update
 
Building a Future-ready Bank
Building a Future-ready BankBuilding a Future-ready Bank
Building a Future-ready Bank
 
Geocortex essentials - Esri norsk BK 2014
Geocortex essentials - Esri norsk BK 2014Geocortex essentials - Esri norsk BK 2014
Geocortex essentials - Esri norsk BK 2014
 
PowerApps, the Developer Story: Build an API to Integrate Corporate Data
PowerApps, the Developer Story: Build an API to Integrate Corporate DataPowerApps, the Developer Story: Build an API to Integrate Corporate Data
PowerApps, the Developer Story: Build an API to Integrate Corporate Data
 
Salesforce Mobile Developer Week
Salesforce Mobile Developer WeekSalesforce Mobile Developer Week
Salesforce Mobile Developer Week
 
Crossing the low-code and pro-code chasm: a platform approach
Crossing the low-code and pro-code chasm: a platform approachCrossing the low-code and pro-code chasm: a platform approach
Crossing the low-code and pro-code chasm: a platform approach
 
Collab365 - AngularJS & Office 365 Unified API : A match made in heaven!
Collab365 - AngularJS & Office 365 Unified API : A match made in heaven!Collab365 - AngularJS & Office 365 Unified API : A match made in heaven!
Collab365 - AngularJS & Office 365 Unified API : A match made in heaven!
 
Transformation through the API
Transformation through the APITransformation through the API
Transformation through the API
 
HTML5 Development with Gizmox Visual WebGui7
HTML5 Development with Gizmox Visual WebGui7HTML5 Development with Gizmox Visual WebGui7
HTML5 Development with Gizmox Visual WebGui7
 
Windows 10 IoT Core - Inovasyon Haftasi - TİM
Windows 10 IoT Core - Inovasyon Haftasi - TİMWindows 10 IoT Core - Inovasyon Haftasi - TİM
Windows 10 IoT Core - Inovasyon Haftasi - TİM
 
Azure DevOps with DV and GitHub
Azure DevOps with DV and GitHubAzure DevOps with DV and GitHub
Azure DevOps with DV and GitHub
 
Webinar: Building HTML5 Mobile Apps with Kinvey and Gizmox
Webinar: Building HTML5 Mobile Apps with Kinvey and GizmoxWebinar: Building HTML5 Mobile Apps with Kinvey and Gizmox
Webinar: Building HTML5 Mobile Apps with Kinvey and Gizmox
 
Building disconnected applications with the Geocortex mobile application fram...
Building disconnected applications with the Geocortex mobile application fram...Building disconnected applications with the Geocortex mobile application fram...
Building disconnected applications with the Geocortex mobile application fram...
 
Titanium presentation
Titanium presentationTitanium presentation
Titanium presentation
 
apidays LIVE Singapore - The ELT Approach by Lesley Graham, Servian
apidays LIVE Singapore - The ELT Approach by Lesley Graham, Servianapidays LIVE Singapore - The ELT Approach by Lesley Graham, Servian
apidays LIVE Singapore - The ELT Approach by Lesley Graham, Servian
 
Building IoT Apps in the Cloud Webinar
Building IoT Apps in the Cloud WebinarBuilding IoT Apps in the Cloud Webinar
Building IoT Apps in the Cloud Webinar
 

Similar to The Hitchhicker’s Guide to Windows Azure Mobile Services | FalafelCON 2014

Azure mobile apps
Azure mobile appsAzure mobile apps
Azure mobile apps
David Giard
 
Getting your app ready for android n
Getting your app ready for android nGetting your app ready for android n
Getting your app ready for android n
Sercan Yusuf
 
Android accessibility for developers and QA
Android accessibility for developers and QAAndroid accessibility for developers and QA
Android accessibility for developers and QA
Ted Drake
 
Clean Architecture @ Taxibeat
Clean Architecture @ TaxibeatClean Architecture @ Taxibeat
Clean Architecture @ Taxibeat
Michael Bakogiannis
 
Mini project final presentation
Mini project final presentationMini project final presentation
Mini project final presentation
GianlucaCapozzi1
 
Easy2park - A smarter way to find a parking lot
Easy2park - A smarter way to find a parking lotEasy2park - A smarter way to find a parking lot
Easy2park - A smarter way to find a parking lot
Daniele Davoli
 
Bye Bye Charles, Welcome Odo, Android Meetup Berlin May 2014
Bye Bye Charles, Welcome Odo, Android Meetup Berlin May 2014Bye Bye Charles, Welcome Odo, Android Meetup Berlin May 2014
Bye Bye Charles, Welcome Odo, Android Meetup Berlin May 2014
Danny Preussler
 
MongoDB.local Atlanta: Introduction to Serverless MongoDB
MongoDB.local Atlanta: Introduction to Serverless MongoDBMongoDB.local Atlanta: Introduction to Serverless MongoDB
MongoDB.local Atlanta: Introduction to Serverless MongoDB
MongoDB
 
Building Your First App with MongoDB Stitch
Building Your First App with MongoDB StitchBuilding Your First App with MongoDB Stitch
Building Your First App with MongoDB Stitch
MongoDB
 
Spark on Dataproc - Israel Spark Meetup at taboola
Spark on Dataproc - Israel Spark Meetup at taboolaSpark on Dataproc - Israel Spark Meetup at taboola
Spark on Dataproc - Israel Spark Meetup at taboola
tsliwowicz
 
Made for Mobile - Let Office 365 Power Your Mobile Apps
Made for Mobile - Let Office 365 Power Your Mobile AppsMade for Mobile - Let Office 365 Power Your Mobile Apps
Made for Mobile - Let Office 365 Power Your Mobile Apps
SPC Adriatics
 
Vaadin & Web Components
Vaadin & Web ComponentsVaadin & Web Components
Vaadin & Web Components
Joonas Lehtinen
 
Stephane Lapointe, Frank Boucher & Alexandre Brisebois: Les micro-services et...
Stephane Lapointe, Frank Boucher & Alexandre Brisebois: Les micro-services et...Stephane Lapointe, Frank Boucher & Alexandre Brisebois: Les micro-services et...
Stephane Lapointe, Frank Boucher & Alexandre Brisebois: Les micro-services et...
MSDEVMTL
 
Javascript first-class citizenery
Javascript first-class citizeneryJavascript first-class citizenery
Javascript first-class citizenery
toddbr
 
Ibm xamarin gtruty
Ibm xamarin gtrutyIbm xamarin gtruty
Ibm xamarin gtruty
Ron Favali
 
Why and How SmartNews uses SaaS?
Why and How SmartNews uses SaaS?Why and How SmartNews uses SaaS?
Why and How SmartNews uses SaaS?
Takumi Sakamoto
 
Unity and Azure Mobile Services using Prime31 plugin
Unity and Azure Mobile Services using Prime31 pluginUnity and Azure Mobile Services using Prime31 plugin
Unity and Azure Mobile Services using Prime31 plugin
David Douglas
 
Android Wear: A Developer's Perspective
Android Wear: A Developer's PerspectiveAndroid Wear: A Developer's Perspective
Android Wear: A Developer's Perspective
Vin Lim
 
Getting Started with DrupalGap
Getting Started with DrupalGapGetting Started with DrupalGap
Getting Started with DrupalGap
Alex S
 
GDG Mediterranean Dev Fest Code lab #DevFestMed15 da android ad android wear ...
GDG Mediterranean Dev Fest Code lab #DevFestMed15 da android ad android wear ...GDG Mediterranean Dev Fest Code lab #DevFestMed15 da android ad android wear ...
GDG Mediterranean Dev Fest Code lab #DevFestMed15 da android ad android wear ...
Bruno Salvatore Belluccia
 

Similar to The Hitchhicker’s Guide to Windows Azure Mobile Services | FalafelCON 2014 (20)

Azure mobile apps
Azure mobile appsAzure mobile apps
Azure mobile apps
 
Getting your app ready for android n
Getting your app ready for android nGetting your app ready for android n
Getting your app ready for android n
 
Android accessibility for developers and QA
Android accessibility for developers and QAAndroid accessibility for developers and QA
Android accessibility for developers and QA
 
Clean Architecture @ Taxibeat
Clean Architecture @ TaxibeatClean Architecture @ Taxibeat
Clean Architecture @ Taxibeat
 
Mini project final presentation
Mini project final presentationMini project final presentation
Mini project final presentation
 
Easy2park - A smarter way to find a parking lot
Easy2park - A smarter way to find a parking lotEasy2park - A smarter way to find a parking lot
Easy2park - A smarter way to find a parking lot
 
Bye Bye Charles, Welcome Odo, Android Meetup Berlin May 2014
Bye Bye Charles, Welcome Odo, Android Meetup Berlin May 2014Bye Bye Charles, Welcome Odo, Android Meetup Berlin May 2014
Bye Bye Charles, Welcome Odo, Android Meetup Berlin May 2014
 
MongoDB.local Atlanta: Introduction to Serverless MongoDB
MongoDB.local Atlanta: Introduction to Serverless MongoDBMongoDB.local Atlanta: Introduction to Serverless MongoDB
MongoDB.local Atlanta: Introduction to Serverless MongoDB
 
Building Your First App with MongoDB Stitch
Building Your First App with MongoDB StitchBuilding Your First App with MongoDB Stitch
Building Your First App with MongoDB Stitch
 
Spark on Dataproc - Israel Spark Meetup at taboola
Spark on Dataproc - Israel Spark Meetup at taboolaSpark on Dataproc - Israel Spark Meetup at taboola
Spark on Dataproc - Israel Spark Meetup at taboola
 
Made for Mobile - Let Office 365 Power Your Mobile Apps
Made for Mobile - Let Office 365 Power Your Mobile AppsMade for Mobile - Let Office 365 Power Your Mobile Apps
Made for Mobile - Let Office 365 Power Your Mobile Apps
 
Vaadin & Web Components
Vaadin & Web ComponentsVaadin & Web Components
Vaadin & Web Components
 
Stephane Lapointe, Frank Boucher & Alexandre Brisebois: Les micro-services et...
Stephane Lapointe, Frank Boucher & Alexandre Brisebois: Les micro-services et...Stephane Lapointe, Frank Boucher & Alexandre Brisebois: Les micro-services et...
Stephane Lapointe, Frank Boucher & Alexandre Brisebois: Les micro-services et...
 
Javascript first-class citizenery
Javascript first-class citizeneryJavascript first-class citizenery
Javascript first-class citizenery
 
Ibm xamarin gtruty
Ibm xamarin gtrutyIbm xamarin gtruty
Ibm xamarin gtruty
 
Why and How SmartNews uses SaaS?
Why and How SmartNews uses SaaS?Why and How SmartNews uses SaaS?
Why and How SmartNews uses SaaS?
 
Unity and Azure Mobile Services using Prime31 plugin
Unity and Azure Mobile Services using Prime31 pluginUnity and Azure Mobile Services using Prime31 plugin
Unity and Azure Mobile Services using Prime31 plugin
 
Android Wear: A Developer's Perspective
Android Wear: A Developer's PerspectiveAndroid Wear: A Developer's Perspective
Android Wear: A Developer's Perspective
 
Getting Started with DrupalGap
Getting Started with DrupalGapGetting Started with DrupalGap
Getting Started with DrupalGap
 
GDG Mediterranean Dev Fest Code lab #DevFestMed15 da android ad android wear ...
GDG Mediterranean Dev Fest Code lab #DevFestMed15 da android ad android wear ...GDG Mediterranean Dev Fest Code lab #DevFestMed15 da android ad android wear ...
GDG Mediterranean Dev Fest Code lab #DevFestMed15 da android ad android wear ...
 

More from FalafelSoftware

Building Custom AngularJS Directives - A Step-by-Step Guide - Dan Wahlin | Fa...
Building Custom AngularJS Directives - A Step-by-Step Guide - Dan Wahlin | Fa...Building Custom AngularJS Directives - A Step-by-Step Guide - Dan Wahlin | Fa...
Building Custom AngularJS Directives - A Step-by-Step Guide - Dan Wahlin | Fa...
FalafelSoftware
 
AngularJS in 60ish Minutes - Dan Wahlin | FalafelCON 2014
AngularJS in 60ish Minutes - Dan Wahlin | FalafelCON 2014AngularJS in 60ish Minutes - Dan Wahlin | FalafelCON 2014
AngularJS in 60ish Minutes - Dan Wahlin | FalafelCON 2014
FalafelSoftware
 
DDD with ASP.NET MVC - Steve Smith | FalafelCON 2014
DDD with ASP.NET MVC - Steve Smith | FalafelCON 2014DDD with ASP.NET MVC - Steve Smith | FalafelCON 2014
DDD with ASP.NET MVC - Steve Smith | FalafelCON 2014
FalafelSoftware
 
Breaking Dependencies To Allow Unit Testing - Steve Smith | FalafelCON 2014
Breaking Dependencies To Allow Unit Testing - Steve Smith | FalafelCON 2014Breaking Dependencies To Allow Unit Testing - Steve Smith | FalafelCON 2014
Breaking Dependencies To Allow Unit Testing - Steve Smith | FalafelCON 2014
FalafelSoftware
 
Solving Mobile Test Automation Challenges with TestComplete - Nick Olivo | Fa...
Solving Mobile Test Automation Challenges with TestComplete - Nick Olivo | Fa...Solving Mobile Test Automation Challenges with TestComplete - Nick Olivo | Fa...
Solving Mobile Test Automation Challenges with TestComplete - Nick Olivo | Fa...
FalafelSoftware
 
iBeacons for Everyone, from iOS to Android - James Montemagno | FalafelCON 2014
iBeacons for Everyone, from iOS to Android - James Montemagno | FalafelCON 2014iBeacons for Everyone, from iOS to Android - James Montemagno | FalafelCON 2014
iBeacons for Everyone, from iOS to Android - James Montemagno | FalafelCON 2014
FalafelSoftware
 
XAML Development with Xamarin - Jesse Liberty | FalafelCON 2014
XAML Development with Xamarin  - Jesse Liberty | FalafelCON 2014XAML Development with Xamarin  - Jesse Liberty | FalafelCON 2014
XAML Development with Xamarin - Jesse Liberty | FalafelCON 2014
FalafelSoftware
 
Unit Testing and Behavior Driven Testing with AngularJS - Jesse Liberty | Fal...
Unit Testing and Behavior Driven Testing with AngularJS - Jesse Liberty | Fal...Unit Testing and Behavior Driven Testing with AngularJS - Jesse Liberty | Fal...
Unit Testing and Behavior Driven Testing with AngularJS - Jesse Liberty | Fal...
FalafelSoftware
 
AngularJS and Kendo UI - Jesse Liberty | FalafelCON 2014
AngularJS and Kendo UI - Jesse Liberty | FalafelCON 2014AngularJS and Kendo UI - Jesse Liberty | FalafelCON 2014
AngularJS and Kendo UI - Jesse Liberty | FalafelCON 2014
FalafelSoftware
 
Agile Patterns: Estimation - Stephen Forte | FalafelCON 2014
Agile Patterns: Estimation - Stephen Forte | FalafelCON 2014Agile Patterns: Estimation - Stephen Forte | FalafelCON 2014
Agile Patterns: Estimation - Stephen Forte | FalafelCON 2014
FalafelSoftware
 
Mobile ASP.Net Web Forms - Making the impossible possible | FalafelCON 2014
Mobile ASP.Net Web Forms - Making the impossible possible | FalafelCON 2014Mobile ASP.Net Web Forms - Making the impossible possible | FalafelCON 2014
Mobile ASP.Net Web Forms - Making the impossible possible | FalafelCON 2014
FalafelSoftware
 
Introducing ASP.NET vNext – The Future of .NET on the Server | FalafelCON 2014
Introducing ASP.NET vNext – The Future of .NET on the Server | FalafelCON 2014Introducing ASP.NET vNext – The Future of .NET on the Server | FalafelCON 2014
Introducing ASP.NET vNext – The Future of .NET on the Server | FalafelCON 2014
FalafelSoftware
 
Cloud and Azure and Rock and Roll
Cloud and Azure and Rock and RollCloud and Azure and Rock and Roll
Cloud and Azure and Rock and Roll
FalafelSoftware
 

More from FalafelSoftware (13)

Building Custom AngularJS Directives - A Step-by-Step Guide - Dan Wahlin | Fa...
Building Custom AngularJS Directives - A Step-by-Step Guide - Dan Wahlin | Fa...Building Custom AngularJS Directives - A Step-by-Step Guide - Dan Wahlin | Fa...
Building Custom AngularJS Directives - A Step-by-Step Guide - Dan Wahlin | Fa...
 
AngularJS in 60ish Minutes - Dan Wahlin | FalafelCON 2014
AngularJS in 60ish Minutes - Dan Wahlin | FalafelCON 2014AngularJS in 60ish Minutes - Dan Wahlin | FalafelCON 2014
AngularJS in 60ish Minutes - Dan Wahlin | FalafelCON 2014
 
DDD with ASP.NET MVC - Steve Smith | FalafelCON 2014
DDD with ASP.NET MVC - Steve Smith | FalafelCON 2014DDD with ASP.NET MVC - Steve Smith | FalafelCON 2014
DDD with ASP.NET MVC - Steve Smith | FalafelCON 2014
 
Breaking Dependencies To Allow Unit Testing - Steve Smith | FalafelCON 2014
Breaking Dependencies To Allow Unit Testing - Steve Smith | FalafelCON 2014Breaking Dependencies To Allow Unit Testing - Steve Smith | FalafelCON 2014
Breaking Dependencies To Allow Unit Testing - Steve Smith | FalafelCON 2014
 
Solving Mobile Test Automation Challenges with TestComplete - Nick Olivo | Fa...
Solving Mobile Test Automation Challenges with TestComplete - Nick Olivo | Fa...Solving Mobile Test Automation Challenges with TestComplete - Nick Olivo | Fa...
Solving Mobile Test Automation Challenges with TestComplete - Nick Olivo | Fa...
 
iBeacons for Everyone, from iOS to Android - James Montemagno | FalafelCON 2014
iBeacons for Everyone, from iOS to Android - James Montemagno | FalafelCON 2014iBeacons for Everyone, from iOS to Android - James Montemagno | FalafelCON 2014
iBeacons for Everyone, from iOS to Android - James Montemagno | FalafelCON 2014
 
XAML Development with Xamarin - Jesse Liberty | FalafelCON 2014
XAML Development with Xamarin  - Jesse Liberty | FalafelCON 2014XAML Development with Xamarin  - Jesse Liberty | FalafelCON 2014
XAML Development with Xamarin - Jesse Liberty | FalafelCON 2014
 
Unit Testing and Behavior Driven Testing with AngularJS - Jesse Liberty | Fal...
Unit Testing and Behavior Driven Testing with AngularJS - Jesse Liberty | Fal...Unit Testing and Behavior Driven Testing with AngularJS - Jesse Liberty | Fal...
Unit Testing and Behavior Driven Testing with AngularJS - Jesse Liberty | Fal...
 
AngularJS and Kendo UI - Jesse Liberty | FalafelCON 2014
AngularJS and Kendo UI - Jesse Liberty | FalafelCON 2014AngularJS and Kendo UI - Jesse Liberty | FalafelCON 2014
AngularJS and Kendo UI - Jesse Liberty | FalafelCON 2014
 
Agile Patterns: Estimation - Stephen Forte | FalafelCON 2014
Agile Patterns: Estimation - Stephen Forte | FalafelCON 2014Agile Patterns: Estimation - Stephen Forte | FalafelCON 2014
Agile Patterns: Estimation - Stephen Forte | FalafelCON 2014
 
Mobile ASP.Net Web Forms - Making the impossible possible | FalafelCON 2014
Mobile ASP.Net Web Forms - Making the impossible possible | FalafelCON 2014Mobile ASP.Net Web Forms - Making the impossible possible | FalafelCON 2014
Mobile ASP.Net Web Forms - Making the impossible possible | FalafelCON 2014
 
Introducing ASP.NET vNext – The Future of .NET on the Server | FalafelCON 2014
Introducing ASP.NET vNext – The Future of .NET on the Server | FalafelCON 2014Introducing ASP.NET vNext – The Future of .NET on the Server | FalafelCON 2014
Introducing ASP.NET vNext – The Future of .NET on the Server | FalafelCON 2014
 
Cloud and Azure and Rock and Roll
Cloud and Azure and Rock and RollCloud and Azure and Rock and Roll
Cloud and Azure and Rock and Roll
 

Recently uploaded

Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Julian Hyde
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
Yara Milbes
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
mz5nrf0n
 
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdfRevolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Undress Baby
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
TheSMSPoint
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
ICS
 
What is Master Data Management by PiLog Group
What is Master Data Management by PiLog GroupWhat is Master Data Management by PiLog Group
What is Master Data Management by PiLog Group
aymanquadri279
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
Hironori Washizaki
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
timtebeek1
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
brainerhub1
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
Remote DBA Services
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
Green Software Development
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
Hornet Dynamics
 

Recently uploaded (20)

Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
 
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdfRevolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
 
What is Master Data Management by PiLog Group
What is Master Data Management by PiLog GroupWhat is Master Data Management by PiLog Group
What is Master Data Management by PiLog Group
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
 

The Hitchhicker’s Guide to Windows Azure Mobile Services | FalafelCON 2014

  • 1. A Hitchhiker's Guide to Azure Mobile Services
  • 2. @DavidGiard David Giard Microso. Technical Evangelist • @DavidGiard • DavidGiard.com • TechnologyAndFriends • dGiard@microso..com
  • 3. @DavidGiard Agenda • Why Azure Mobile Services? • Mobile Architecture • Common Data Access • CustomizaCon • Dynamic Data • Client Code • IdenCty and Permissions • Scaling • API Scripts • NoCficaCons
  • 4. @DavidGiard Why Azure Mobile Services? • Frees you from plumbing code • Handles API Changes • Cross-­‐PlaLorm soluCon • Choose JavaScript or .NET
  • 5. @DavidGiard Mobile Architecture Windows Phone Data Windows 8.1 iPhone iPad Android REST API JavaScript
  • 6. @DavidGiard Pieces of Azure Mobile Services Permissions SQL Server table READ INSERT UPDATE DELETE Client Code IdenCty
  • 7. @DavidGiard CreaBng a Mobile Service
  • 8. @DavidGiard CreaBng a Mobile Service
  • 9. @DavidGiard CreaBng a Mobile Service
  • 10. @DavidGiard REST hUps://Giard.azure-­‐mobile.net/Tables/Table1 • GET, PUT, POST, DELETE, PATCH • Extend GET with oData Query syntax
  • 11. @DavidGiard REST Client Endpoint Request Verb Data (JSON) Response
  • 12. @DavidGiard REST HTTP Verb Ac+on SQL GET Read Data SELECT… POST Create Data INSERT… DELETE Delete Data DELETE… PUT or PATCH Update Data UPDATE…
  • 13. @DavidGiard oData Query Syntax Extension Descrip+on $filter WHERE clause $inlinecount # items in table $orderby SORT clause $select Columns to return $skip #records to skip $top #records to return ../Tables/Table1?$filter=AcCve eq true ../Tables/Table1?$filter=AcCve%20eq%20true ../Tables/Table1$filter=AcCve%20eq%20true&$orderby=LastName
  • 14. @DavidGiard Dynamic Schema • “Configure” tab • AutomaCcally adds columns if matching data submiUed • Useful during development • Turn off during producCon
  • 16. @DavidGiard Scripts • Insert • Update • Delete • Read
  • 18. @DavidGiard IdenBty – Single Sign-­‐On Client TwiUer or Facebook or Google or Microso. Azure Mobile Services API Request TOKEN
  • 20. @DavidGiard IdenBty funcCon insert(item, user, request) { item.CreatedBy = user.userId; request.execute(); } funcCon read(query, user, request) { query.where ({CreatedBy:user.userId}); request.execute(); }
  • 25. @DavidGiard API Scripts <Mobile Service URL>/api/<API Name> hUps://giard.azure-­‐mobile.net/api/MyApi exports.post = funcCon(request, response) { // Use "request.service" to access features of your mobile service, e.g.: // var tables = request.service.tables; // var push = request.service.push; response.send(statusCodes.OK, { message : 'Hello World!' }); }; exports.get = funcCon(request, response) { response.send(statusCodes.OK, { message : 'Hello World!' }); };
  • 31. @DavidGiard Push NoBficaBons var payload = App Push Service APN (Apple) GCM (Google) WNS (Windows 8) MPNS (Windows Phone) Azure Mobile Services '<?xml version="1.0" encoding="uL-­‐8"?><toast><visual><binding template="ToastText01">' + '<text id="1">Sample Toast</text></binding></visual></toast>'; var push = request.service.push; push.wns.send(null, payload, 'wns/toast', { success: funcCon (pushResponse) { console.log("Sent push:", pushResponse); } }); }
  • 32. @DavidGiard exports.post = funcCon(request, response) { response.send(statusCodes.OK,{ message : 'Hello World!' }) // The following call is for illustraCon purpose only // The call and funcCon body should be moved to a script in your app // where you want to send a noCficaCon sendNoCficaCons(request); }; // The following code should be moved to appropriate script in your app where noCficaCon is sent funcCon sendNoCficaCons(request) { var payload = '<?xml version="1.0" encoding="uL-­‐8"?><toast><visual><binding template="ToastText01">' + '<text id="1">Sample Toast</text></binding></visual></toast>'; var push = request.service.push; push.wns.send(null, payload, 'wns/toast', { success: funcCon (pushResponse) { console.log("Sent push:", pushResponse); } }); }
  • 33. @DavidGiard Push NoBficaBons Azure Mobile Services Push Service APN (Apple) GCM (Google) WNS (Windows 8) MPNS (Windows Phone) NoCficaCon Hub
  • 34. @DavidGiard So Long and Thanks! David Giard • @DavidGiard • DavidGiard.com • TechnologyAndFriends.com