SlideShare ist ein Scribd-Unternehmen logo
1 von 31
Building a chat app with
Windows Azure Mobile Services
29 march 2014, Timisoara
Global Windows Azure Bootcamp
Flavius Radu Demian
Software developer, Avaelgo
I really like programming, especially web and mobile
Please feel free to ask questions any time and don’t be shy
Knowledge is power 
flaviusdemian91@yahoo.com | flavius.demian@gmail.com | @slowarad
Expectations
Learn how to use mobile services
Learn when to use mobile services
Learn the strengths and limitations of mobile services
Learn that mobile services wants to be friend with everyone
Make you curious  => go home and play with it
Agenda
Overview
Storage
Custom API
Authentication & Authorization
Scheduler
Diagnostics & Logging
Scale
Cool Third Party Add-Ons
Design of the chat app
Review
A visual representation
Overview
Clients for:
Windows Store, Windows Phone 8, iOS, Android, Javascript
You can add a cloud backend to your app in minutes without
the need for server code
The backend login can be written in node.js or c# (preview)
The SDK’s are open source (on github) , it’s integrated with GIT
Overview
Easily manipulate data (filters)
Easily authenticate users
Send push notifications
Integrate your favorite services
Great community
Server side logic
Node.js
Is a software platform for scalable server-side and networking
applications
Applications are written in JavaScript can be run within the
Node.js runtime on Windows, Mac OS X and Linux with no
changes
It is written in
Storage
Windows Azure SQL Database
Dynamic schema on/off
REST API generated per table -> Data centric platform
Access your data through :
Portal, SQL Management Studio, Rest API
Storage
JSON to SQL data types conversions
“Data Centric” Server Logic
Backend runs Node JS on small azure VM’s
“Interceptors” exposed for all CRUD requests to all tables
You get access to a predefined set of node modules :
request, console, push.*, tables, statusCodes, azure, mssql
Custom API
You can write your own API very easily and quickly
If you need you can add extra Node JS packages
exports.get = function(req, res) { /* code here */ }
exports.post = function(req, res) {/* code here */ }
Small demo time part 1
Login in the portal and create a mobile service
Set GIT credentials and get repository
Create some tables, show interceptors
Create a custom API
See list of predefined packages -> click here
Push notifications
The notification provider server maintains a "persistent IP
connection" with your device in order to deliver notifications
when the app needs to 'say' something to you.
Payload limited, specific to platform
The global push object is used to send push notifications
Success and Error callbacks are provided
Push notifications
Platform specific providers:
Push notifications overview
1) The app requests a channel from the
Notifications Provider
2) The app sends the channel url to
Mobile Services which stores it
3) When a notification is sent, Mobile
Services executes something like this:
push.mpns.send(channelUri….)
Windows Phone case study
4) The notification goes through the Notifications Provider which forwards it to the device
Authentication & Authorization
You can make provide quick auth in your app with
Facebook Twitter Google Microsoft
and Windows Azure Active Directory
Authorization
Table level authorization for CRUD operation
Everyone -> any request by anyone is accepted
Anyone with Application Key -> app key is sent on the request
distributed (default)
Authenticated Users -> users authenticated with one of the
mentioned identity providers
Authorization
Table level authorization for CRUD operation (*cont)
Scripts and Admins -> registers scripts or requests via the
master key
The application key is not secure and should not be used to
authenticate users of your app, especially in production
Scheduler
Run jobs on simple or complex recurring schedules such as:
1) Send broadcast push notifications
2) Processing or resizing stored images
Invoking a Web Service over HTTP/s
Post a message to a Windows Azure Storage Queue, etc
Diagnostics and Logging
View diagnostics directly in the portal including :
1) API calls
2) CPU time
3) Data Out
LoggingConsole.* operations like console.log and console.error
provide an easy means to debug your server side scripts.
Scale
Compute - scale between shared and reserved mode
Increase/decrease your instance count
Storage ability to scale out your mobile service tenant(s) to a
dedicated SQL DB
Ability to scale up your SQL DB from web through business to
150GB
Small demo time part 2
Push notifications
Authentication
Authorization
Diagnostics
Logging
Scale
Cool Third Party Add-Ons
Real time communication Emails SMS
Design - Database
Tables: users, channels, messages
Channel
ChannelUri
RegistrationId
UserProviderId
DeviceType
Message
FromId
ToId
DeviceType
FromName
FromPicture
User
ProviderId
Name
Picture
AccessToken
AccessTokenSecret
Design - Functionalities
Integrate Azure Mobile Services
Integrate with social media providers
Store data to cloud after auth ( user and channel related data )
Retrieve the rest of the users you can talk to (custom API)
Send message functionality
Receive message functionality
Logout functionality
Design – send push to web
Let’s show some code
But first let’s see a short teaser
Review of Azure Mobile Services
Create a scalable and secure backend for your Windows, Android
and iOS apps
Store data in the cloud
Easily authenticate users
Send push notifications
Review of Azure Mobile Services
Consume your favorite services
Monitor, alert, and auto scale
Cheap and FREE in some cases -> click here
Preview: No availability Service Level Agreement
Paid: General Availability: 99.9%
Thanks
Any questions?

Weitere ähnliche Inhalte

Was ist angesagt?

SPUnite17 Who Are You and What Do You Want
SPUnite17 Who Are You and What Do You WantSPUnite17 Who Are You and What Do You Want
SPUnite17 Who Are You and What Do You WantNCCOMMS
 
Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...
Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...
Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...BlueMetalInc
 
O365Con18 - Introduction to Azure Web Applications - Eric Shupps
O365Con18 - Introduction to Azure Web Applications  - Eric ShuppsO365Con18 - Introduction to Azure Web Applications  - Eric Shupps
O365Con18 - Introduction to Azure Web Applications - Eric ShuppsNCCOMMS
 
20140424 Android / iOS 개발자를 위한 Microsoft BaaS 세미나
20140424 Android / iOS 개발자를 위한 Microsoft BaaS 세미나20140424 Android / iOS 개발자를 위한 Microsoft BaaS 세미나
20140424 Android / iOS 개발자를 위한 Microsoft BaaS 세미나영욱 김
 
Deeper into Windows 10 Development
Deeper into Windows 10 DevelopmentDeeper into Windows 10 Development
Deeper into Windows 10 DevelopmentShahed Chowdhuri
 
Migrating Legacy On-Premise Applications to SharePoint Online and Windows Azure
Migrating Legacy On-Premise Applications to SharePoint Online and Windows AzureMigrating Legacy On-Premise Applications to SharePoint Online and Windows Azure
Migrating Legacy On-Premise Applications to SharePoint Online and Windows AzureEric Shupps
 
Building an SSO platform in php (Zendcon 2010)
Building an SSO platform in php (Zendcon 2010)Building an SSO platform in php (Zendcon 2010)
Building an SSO platform in php (Zendcon 2010)Ivo Jansch
 
Build 2017 - B8013 - Developing on Windows Server: Innovation for today and t...
Build 2017 - B8013 - Developing on Windows Server: Innovation for today and t...Build 2017 - B8013 - Developing on Windows Server: Innovation for today and t...
Build 2017 - B8013 - Developing on Windows Server: Innovation for today and t...Windows Developer
 
Introduction to azure web applications for office and share point developers
Introduction to azure web applications for office and share point developersIntroduction to azure web applications for office and share point developers
Introduction to azure web applications for office and share point developersJoAnna Cheshire
 
Highly Scalable User Experience Design: Vaadin and Magnolia
Highly Scalable User Experience Design: Vaadin and MagnoliaHighly Scalable User Experience Design: Vaadin and Magnolia
Highly Scalable User Experience Design: Vaadin and MagnoliaMagnolia
 
Getting to grips with SharePoint 2013 apps - Chris O'Brien
Getting to grips with SharePoint 2013 apps - Chris O'BrienGetting to grips with SharePoint 2013 apps - Chris O'Brien
Getting to grips with SharePoint 2013 apps - Chris O'BrienChris O'Brien
 
Automate+ Final Presentation
Automate+ Final PresentationAutomate+ Final Presentation
Automate+ Final PresentationSanat Maharjan
 
Introduction to Azure Web Applications
Introduction to Azure Web ApplicationsIntroduction to Azure Web Applications
Introduction to Azure Web ApplicationsJoAnna Cheshire
 
Web driver interface
Web driver interfaceWeb driver interface
Web driver interfaceDucat
 
Plugin vs Workflow in Microsoft Dynamics CRM
Plugin vs Workflow in Microsoft Dynamics CRMPlugin vs Workflow in Microsoft Dynamics CRM
Plugin vs Workflow in Microsoft Dynamics CRMAli Sharifi
 
SPUnite17 Introduction to Azure Web Applications
SPUnite17 Introduction to Azure Web ApplicationsSPUnite17 Introduction to Azure Web Applications
SPUnite17 Introduction to Azure Web ApplicationsNCCOMMS
 

Was ist angesagt? (20)

SPUnite17 Who Are You and What Do You Want
SPUnite17 Who Are You and What Do You WantSPUnite17 Who Are You and What Do You Want
SPUnite17 Who Are You and What Do You Want
 
Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...
Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...
Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...
 
O365Con18 - Introduction to Azure Web Applications - Eric Shupps
O365Con18 - Introduction to Azure Web Applications  - Eric ShuppsO365Con18 - Introduction to Azure Web Applications  - Eric Shupps
O365Con18 - Introduction to Azure Web Applications - Eric Shupps
 
20140424 Android / iOS 개발자를 위한 Microsoft BaaS 세미나
20140424 Android / iOS 개발자를 위한 Microsoft BaaS 세미나20140424 Android / iOS 개발자를 위한 Microsoft BaaS 세미나
20140424 Android / iOS 개발자를 위한 Microsoft BaaS 세미나
 
Deeper into Windows 10 Development
Deeper into Windows 10 DevelopmentDeeper into Windows 10 Development
Deeper into Windows 10 Development
 
Vaadin codemotion 2014
Vaadin codemotion 2014Vaadin codemotion 2014
Vaadin codemotion 2014
 
Power Apps community call-June 2020
Power Apps community call-June 2020Power Apps community call-June 2020
Power Apps community call-June 2020
 
Migrating Legacy On-Premise Applications to SharePoint Online and Windows Azure
Migrating Legacy On-Premise Applications to SharePoint Online and Windows AzureMigrating Legacy On-Premise Applications to SharePoint Online and Windows Azure
Migrating Legacy On-Premise Applications to SharePoint Online and Windows Azure
 
Building an SSO platform in php (Zendcon 2010)
Building an SSO platform in php (Zendcon 2010)Building an SSO platform in php (Zendcon 2010)
Building an SSO platform in php (Zendcon 2010)
 
Build 2017 - B8013 - Developing on Windows Server: Innovation for today and t...
Build 2017 - B8013 - Developing on Windows Server: Innovation for today and t...Build 2017 - B8013 - Developing on Windows Server: Innovation for today and t...
Build 2017 - B8013 - Developing on Windows Server: Innovation for today and t...
 
Introduction to azure web applications for office and share point developers
Introduction to azure web applications for office and share point developersIntroduction to azure web applications for office and share point developers
Introduction to azure web applications for office and share point developers
 
Highly Scalable User Experience Design: Vaadin and Magnolia
Highly Scalable User Experience Design: Vaadin and MagnoliaHighly Scalable User Experience Design: Vaadin and Magnolia
Highly Scalable User Experience Design: Vaadin and Magnolia
 
Getting to grips with SharePoint 2013 apps - Chris O'Brien
Getting to grips with SharePoint 2013 apps - Chris O'BrienGetting to grips with SharePoint 2013 apps - Chris O'Brien
Getting to grips with SharePoint 2013 apps - Chris O'Brien
 
Vaadin NYC Meetup
Vaadin NYC MeetupVaadin NYC Meetup
Vaadin NYC Meetup
 
Automate+ Final Presentation
Automate+ Final PresentationAutomate+ Final Presentation
Automate+ Final Presentation
 
Introduction to Azure Web Applications
Introduction to Azure Web ApplicationsIntroduction to Azure Web Applications
Introduction to Azure Web Applications
 
Web driver interface
Web driver interfaceWeb driver interface
Web driver interface
 
Plugin vs Workflow in Microsoft Dynamics CRM
Plugin vs Workflow in Microsoft Dynamics CRMPlugin vs Workflow in Microsoft Dynamics CRM
Plugin vs Workflow in Microsoft Dynamics CRM
 
SPUnite17 Introduction to Azure Web Applications
SPUnite17 Introduction to Azure Web ApplicationsSPUnite17 Introduction to Azure Web Applications
SPUnite17 Introduction to Azure Web Applications
 
Mule esb stripe
Mule esb stripeMule esb stripe
Mule esb stripe
 

Ähnlich wie Building a chat app with windows azure mobile

Azure Mobile Services for Cross Platform Mobile Apps
Azure Mobile Services for Cross Platform Mobile AppsAzure Mobile Services for Cross Platform Mobile Apps
Azure Mobile Services for Cross Platform Mobile AppsWinWire Technologies Inc
 
Cloud Powered Mobile Apps with Azure
Cloud Powered Mobile Apps with AzureCloud Powered Mobile Apps with Azure
Cloud Powered Mobile Apps with AzureKen Cenerelli
 
Windows azure mobile services and windows phone 8
Windows azure mobile services and windows phone 8Windows azure mobile services and windows phone 8
Windows azure mobile services and windows phone 8Karthikeyan Anbarasan (AK)
 
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
 
Connecting Xamarin Apps with IBM Worklight in Bluemix
Connecting Xamarin Apps with IBM Worklight in BluemixConnecting Xamarin Apps with IBM Worklight in Bluemix
Connecting Xamarin Apps with IBM Worklight in BluemixIBM
 
Microsoft graph and power platform champ
Microsoft graph and power platform   champMicrosoft graph and power platform   champ
Microsoft graph and power platform champKumton Suttiraksiri
 
Cnam cours azure zecloud mobile services
Cnam cours azure zecloud mobile servicesCnam cours azure zecloud mobile services
Cnam cours azure zecloud mobile servicesAymeric Weinbach
 
Pune microsoft azure developers 2nd meetup
Pune microsoft azure developers 2nd meetupPune microsoft azure developers 2nd meetup
Pune microsoft azure developers 2nd meetupratneshsinghparihar
 
Iphone client-server app with Rails backend (v3)
Iphone client-server app with Rails backend (v3)Iphone client-server app with Rails backend (v3)
Iphone client-server app with Rails backend (v3)Sujee Maniyam
 
2015.04.23 Azure Mobile Services
2015.04.23 Azure Mobile Services2015.04.23 Azure Mobile Services
2015.04.23 Azure Mobile ServicesMarco Parenzan
 
Introducing Windows Azure
Introducing Windows Azure Introducing Windows Azure
Introducing Windows Azure Mohamed Samy
 
Cloud Powered Mobile Apps with Azure
Cloud Powered Mobile Apps  with AzureCloud Powered Mobile Apps  with Azure
Cloud Powered Mobile Apps with AzureKris Wagner
 
Windows azure mobile services from start to rest
Windows azure mobile services from start to restWindows azure mobile services from start to rest
Windows azure mobile services from start to restAidan Casey
 
Build intelligent solutions using ms azure
Build intelligent solutions using ms azureBuild intelligent solutions using ms azure
Build intelligent solutions using ms azureMostafa
 
Building mobile back ends with windows azure mobile services
Building mobile back ends with windows azure mobile servicesBuilding mobile back ends with windows azure mobile services
Building mobile back ends with windows azure mobile servicesAidan Casey
 
Building a mobile application for dot netnuke v3
Building a mobile application for dot netnuke v3Building a mobile application for dot netnuke v3
Building a mobile application for dot netnuke v3brchapman
 
Azure Mobile Services per Windows Phone e smartphones
Azure Mobile Services per Windows Phone e smartphonesAzure Mobile Services per Windows Phone e smartphones
Azure Mobile Services per Windows Phone e smartphonesMarco Parenzan
 

Ähnlich wie Building a chat app with windows azure mobile (20)

Azure Mobile Services for Cross Platform Mobile Apps
Azure Mobile Services for Cross Platform Mobile AppsAzure Mobile Services for Cross Platform Mobile Apps
Azure Mobile Services for Cross Platform Mobile Apps
 
Cloud Powered Mobile Apps with Azure
Cloud Powered Mobile Apps with AzureCloud Powered Mobile Apps with Azure
Cloud Powered Mobile Apps with Azure
 
Windows azure mobile services and windows phone 8
Windows azure mobile services and windows phone 8Windows azure mobile services and windows phone 8
Windows azure mobile services and windows phone 8
 
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
 
Connecting Xamarin Apps with IBM Worklight in Bluemix
Connecting Xamarin Apps with IBM Worklight in BluemixConnecting Xamarin Apps with IBM Worklight in Bluemix
Connecting Xamarin Apps with IBM Worklight in Bluemix
 
Pragatheswarakumar_v1.0
Pragatheswarakumar_v1.0Pragatheswarakumar_v1.0
Pragatheswarakumar_v1.0
 
Microsoft graph and power platform champ
Microsoft graph and power platform   champMicrosoft graph and power platform   champ
Microsoft graph and power platform champ
 
Cnam cours azure zecloud mobile services
Cnam cours azure zecloud mobile servicesCnam cours azure zecloud mobile services
Cnam cours azure zecloud mobile services
 
App V
App VApp V
App V
 
Pune microsoft azure developers 2nd meetup
Pune microsoft azure developers 2nd meetupPune microsoft azure developers 2nd meetup
Pune microsoft azure developers 2nd meetup
 
Iphone client-server app with Rails backend (v3)
Iphone client-server app with Rails backend (v3)Iphone client-server app with Rails backend (v3)
Iphone client-server app with Rails backend (v3)
 
2015.04.23 Azure Mobile Services
2015.04.23 Azure Mobile Services2015.04.23 Azure Mobile Services
2015.04.23 Azure Mobile Services
 
Introducing Windows Azure
Introducing Windows Azure Introducing Windows Azure
Introducing Windows Azure
 
Windows azure overview for SharePoint Pros
Windows azure overview for SharePoint Pros Windows azure overview for SharePoint Pros
Windows azure overview for SharePoint Pros
 
Cloud Powered Mobile Apps with Azure
Cloud Powered Mobile Apps  with AzureCloud Powered Mobile Apps  with Azure
Cloud Powered Mobile Apps with Azure
 
Windows azure mobile services from start to rest
Windows azure mobile services from start to restWindows azure mobile services from start to rest
Windows azure mobile services from start to rest
 
Build intelligent solutions using ms azure
Build intelligent solutions using ms azureBuild intelligent solutions using ms azure
Build intelligent solutions using ms azure
 
Building mobile back ends with windows azure mobile services
Building mobile back ends with windows azure mobile servicesBuilding mobile back ends with windows azure mobile services
Building mobile back ends with windows azure mobile services
 
Building a mobile application for dot netnuke v3
Building a mobile application for dot netnuke v3Building a mobile application for dot netnuke v3
Building a mobile application for dot netnuke v3
 
Azure Mobile Services per Windows Phone e smartphones
Azure Mobile Services per Windows Phone e smartphonesAzure Mobile Services per Windows Phone e smartphones
Azure Mobile Services per Windows Phone e smartphones
 

Mehr von Flavius-Radu Demian

C# everywhere - Building Cross-Platform Apps with Xamarin and MvvmCross
C# everywhere - Building Cross-Platform Apps with Xamarin and MvvmCrossC# everywhere - Building Cross-Platform Apps with Xamarin and MvvmCross
C# everywhere - Building Cross-Platform Apps with Xamarin and MvvmCrossFlavius-Radu Demian
 
C# everywhere - Building Cross-Platform Apps with Xamarin and MvvmCross
C# everywhere - Building Cross-Platform Apps with Xamarin and MvvmCrossC# everywhere - Building Cross-Platform Apps with Xamarin and MvvmCross
C# everywhere - Building Cross-Platform Apps with Xamarin and MvvmCrossFlavius-Radu Demian
 
ALM on the shoulders of Giants - Visual Studio Online
ALM on the shoulders of Giants - Visual Studio OnlineALM on the shoulders of Giants - Visual Studio Online
ALM on the shoulders of Giants - Visual Studio OnlineFlavius-Radu Demian
 

Mehr von Flavius-Radu Demian (8)

Mobile growth with Xamarin
Mobile growth with XamarinMobile growth with Xamarin
Mobile growth with Xamarin
 
MVVM frameworks - MvvmCross
MVVM frameworks - MvvmCrossMVVM frameworks - MvvmCross
MVVM frameworks - MvvmCross
 
C# everywhere - Building Cross-Platform Apps with Xamarin and MvvmCross
C# everywhere - Building Cross-Platform Apps with Xamarin and MvvmCrossC# everywhere - Building Cross-Platform Apps with Xamarin and MvvmCross
C# everywhere - Building Cross-Platform Apps with Xamarin and MvvmCross
 
C# everywhere - Building Cross-Platform Apps with Xamarin and MvvmCross
C# everywhere - Building Cross-Platform Apps with Xamarin and MvvmCrossC# everywhere - Building Cross-Platform Apps with Xamarin and MvvmCross
C# everywhere - Building Cross-Platform Apps with Xamarin and MvvmCross
 
ALM on the shoulders of Giants - Visual Studio Online
ALM on the shoulders of Giants - Visual Studio OnlineALM on the shoulders of Giants - Visual Studio Online
ALM on the shoulders of Giants - Visual Studio Online
 
Universal apps
Universal appsUniversal apps
Universal apps
 
Security in windows azure
Security in windows azureSecurity in windows azure
Security in windows azure
 
Fundaments of Knockout js
Fundaments of Knockout jsFundaments of Knockout js
Fundaments of Knockout js
 

Kürzlich hochgeladen

Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
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
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
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
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
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
 
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
 
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
 
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
 

Kürzlich hochgeladen (20)

Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
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
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
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
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
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
 
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
 
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
 
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
 

Building a chat app with windows azure mobile

  • 1. Building a chat app with Windows Azure Mobile Services 29 march 2014, Timisoara Global Windows Azure Bootcamp
  • 2. Flavius Radu Demian Software developer, Avaelgo I really like programming, especially web and mobile Please feel free to ask questions any time and don’t be shy Knowledge is power  flaviusdemian91@yahoo.com | flavius.demian@gmail.com | @slowarad
  • 3. Expectations Learn how to use mobile services Learn when to use mobile services Learn the strengths and limitations of mobile services Learn that mobile services wants to be friend with everyone Make you curious  => go home and play with it
  • 4. Agenda Overview Storage Custom API Authentication & Authorization Scheduler Diagnostics & Logging Scale Cool Third Party Add-Ons Design of the chat app Review
  • 6. Overview Clients for: Windows Store, Windows Phone 8, iOS, Android, Javascript You can add a cloud backend to your app in minutes without the need for server code The backend login can be written in node.js or c# (preview) The SDK’s are open source (on github) , it’s integrated with GIT
  • 7. Overview Easily manipulate data (filters) Easily authenticate users Send push notifications Integrate your favorite services Great community
  • 8. Server side logic Node.js Is a software platform for scalable server-side and networking applications Applications are written in JavaScript can be run within the Node.js runtime on Windows, Mac OS X and Linux with no changes It is written in
  • 9. Storage Windows Azure SQL Database Dynamic schema on/off REST API generated per table -> Data centric platform Access your data through : Portal, SQL Management Studio, Rest API
  • 10. Storage JSON to SQL data types conversions
  • 11. “Data Centric” Server Logic Backend runs Node JS on small azure VM’s “Interceptors” exposed for all CRUD requests to all tables You get access to a predefined set of node modules : request, console, push.*, tables, statusCodes, azure, mssql
  • 12. Custom API You can write your own API very easily and quickly If you need you can add extra Node JS packages exports.get = function(req, res) { /* code here */ } exports.post = function(req, res) {/* code here */ }
  • 13. Small demo time part 1 Login in the portal and create a mobile service Set GIT credentials and get repository Create some tables, show interceptors Create a custom API See list of predefined packages -> click here
  • 14. Push notifications The notification provider server maintains a "persistent IP connection" with your device in order to deliver notifications when the app needs to 'say' something to you. Payload limited, specific to platform The global push object is used to send push notifications Success and Error callbacks are provided
  • 16. Push notifications overview 1) The app requests a channel from the Notifications Provider 2) The app sends the channel url to Mobile Services which stores it 3) When a notification is sent, Mobile Services executes something like this: push.mpns.send(channelUri….) Windows Phone case study 4) The notification goes through the Notifications Provider which forwards it to the device
  • 17. Authentication & Authorization You can make provide quick auth in your app with Facebook Twitter Google Microsoft and Windows Azure Active Directory
  • 18. Authorization Table level authorization for CRUD operation Everyone -> any request by anyone is accepted Anyone with Application Key -> app key is sent on the request distributed (default) Authenticated Users -> users authenticated with one of the mentioned identity providers
  • 19. Authorization Table level authorization for CRUD operation (*cont) Scripts and Admins -> registers scripts or requests via the master key The application key is not secure and should not be used to authenticate users of your app, especially in production
  • 20. Scheduler Run jobs on simple or complex recurring schedules such as: 1) Send broadcast push notifications 2) Processing or resizing stored images Invoking a Web Service over HTTP/s Post a message to a Windows Azure Storage Queue, etc
  • 21. Diagnostics and Logging View diagnostics directly in the portal including : 1) API calls 2) CPU time 3) Data Out LoggingConsole.* operations like console.log and console.error provide an easy means to debug your server side scripts.
  • 22. Scale Compute - scale between shared and reserved mode Increase/decrease your instance count Storage ability to scale out your mobile service tenant(s) to a dedicated SQL DB Ability to scale up your SQL DB from web through business to 150GB
  • 23. Small demo time part 2 Push notifications Authentication Authorization Diagnostics Logging Scale
  • 24. Cool Third Party Add-Ons Real time communication Emails SMS
  • 25. Design - Database Tables: users, channels, messages Channel ChannelUri RegistrationId UserProviderId DeviceType Message FromId ToId DeviceType FromName FromPicture User ProviderId Name Picture AccessToken AccessTokenSecret
  • 26. Design - Functionalities Integrate Azure Mobile Services Integrate with social media providers Store data to cloud after auth ( user and channel related data ) Retrieve the rest of the users you can talk to (custom API) Send message functionality Receive message functionality Logout functionality
  • 27. Design – send push to web
  • 28. Let’s show some code But first let’s see a short teaser
  • 29. Review of Azure Mobile Services Create a scalable and secure backend for your Windows, Android and iOS apps Store data in the cloud Easily authenticate users Send push notifications
  • 30. Review of Azure Mobile Services Consume your favorite services Monitor, alert, and auto scale Cheap and FREE in some cases -> click here Preview: No availability Service Level Agreement Paid: General Availability: 99.9%