Антон Бойко (Microsoft Azure MVP, Ukrainian Azure Community Founder) «Azure Mobile Services — создаем backend для мобильного приложения со скоростью света»
Антон Бойко (Microsoft Azure MVP, Ukrainian Azure Community Founder) «Azure Mobile Services — создаем backend для мобильного приложения со скоростью света»
Building a document e-signing workflow with Azure Durable FunctionsJoonas Westlin
Durable functions offer an interesting programming model for building workflows. Whether you need to sometimes split and do multiple things or wait for user input, a lot of things are possible. They do present some challenges as well, and the limitations of orchestrator functions can make working with Durable seem very complicated.
In this talk we will go through the basics of Durable Functions along with strategies for deploying and monitoring them. A sample application will be presented where users can send documents for electronic signature. A Durable Functions workflow will power the signing process.
Windows Azure Active Directory presentation will show you how to set up your Azure AD account and how to connect existing ASP.NET MVC Web Application with Azure Active Directory to provide Single-Sign-On
My presentation from the 8th meeting of Finland Azure User Group where I went through basic and intermediate concepts of Azure Active Directory for software developers.
Building a document e-signing workflow with Azure Durable FunctionsJoonas Westlin
Durable functions offer an interesting programming model for building workflows. Whether you need to sometimes split and do multiple things or wait for user input, a lot of things are possible. They do present some challenges as well, and the limitations of orchestrator functions can make working with Durable seem very complicated.
In this talk we will go through the basics of Durable Functions along with strategies for deploying and monitoring them. A sample application will be presented where users can send documents for electronic signature. A Durable Functions workflow will power the signing process.
Windows Azure Active Directory presentation will show you how to set up your Azure AD account and how to connect existing ASP.NET MVC Web Application with Azure Active Directory to provide Single-Sign-On
My presentation from the 8th meeting of Finland Azure User Group where I went through basic and intermediate concepts of Azure Active Directory for software developers.
Zero Credential Development with Managed Identities for Azure resourcesJoonas Westlin
Introduction to Managed Identities in Azure, what they are and how they work. Also goes through what services they can be used with in Azure, how you can use services without any keys or secrets.
Authentication and Authorization in Asp.NetShivanand Arur
This presentation gives a little information about Why Security is important, then moving towards understanding about Authentication and Authorization and its various ways
1. Forms Authentication
2. Windows Authentication
3. Passport Authentication
Zero Credential Development with Managed IdentitiesJoonas Westlin
Keys are always needed to access services in Azure and beyond. Storing and managing keys presents many problems, for example rotating and disabling them. Keys often also allow blanket access to the service with no way to limit it. Sometimes there is only one key that needs to be shared by services, so you won't have any way to disable access from one individually. In this talk we will go through Managed Identities for Azure Resources, how they work, and how you can use them to use Azure services in a secure way without having to manage any keys yourself. We will go through a demo application which uses various Azure services through a managed identity, removing the need to use keys entirely. The source code will be available to the audience so they have samples that they can use to implement managed identities in their own applications.
Zero credential development with managed identitiesJoonas Westlin
Introduction to Managed Identities in Azure, what they are and how they work. Also goes through what services they can be used with in Azure, how you can use services without any keys or secrets.
Mobile Authentication for iOS Applications - Stormpath 101Stormpath
Want to build user authentication into your iOS apps quickly and securely?
In this presentation, iOS Developer Evangelist Edward Jiang will go over OAuth, best practices, and how to easily integrating Facebook, Google, and email logins into your app using Stormpath's iOS SDK!
Topics Covered:
- Stormpath Customer Identity Management
- What does authentication mean?
- Common methods of mobile authentication
- OAuth Token Authentication
- Building Login & Registration with Stormpath
- Making authenticated network requests
- Add Facebook / Google login with one line of code
- Technical Q&A
We all know Azure is a powerful platform but many aren’t aware of the little features lurking in the corners than can transform you from an Azure Acolyte to full blown Azure Ninja. In this whirlwind session we’ll cover tips on everything from UI Customization to CLI’s lurking in unexpected places and from free tools and services to mysterious repositories of wisdom and enlightenment.
In this month's call, Loki Meyburg, Program Manager for Microsoft Teams discusses single sign-on (SS0) in Microsoft Teams, including:
-What is single sign-on (SSO)
-Authentication in 2019
-Single sign-on for Teams tabs today!
-Getting starting with SSO
Watch the recording here - https://youtu.be/91Sb5lz3STI
Identity and Access (AD), Azure and Office 365: Building a Single Page Application (SPA) with ASP.NET Web API and Angular.js using Azure Active Directory to Log in Users
Azure Static Web Apps allows you to develop modern full-stack web apps quickly and easily with a static front-end and dynamic back end powered by Serverless APIs with custom routing, security including authentication/authrization, custom domains, private endpoint, etc. Azure Static Web Apps offers cost-effective pricing from hobby to production apps.
Injecting custom code into authentication and authorization in ASP.NET has always been tedious at best. AspNet.Identity is a new library shipping with MVC 5, built to replace both ASP.NET Membership and Simple Membership. AspNet.Identity makes it much easier to implement custom authentication and authorization without the need to rewrite core components. In this session I will go deep into the abstractions that AspNet.Identity builds atop of, and show how to take advantage of these hook points to implement a custom membership system.
Zero Credential Development with Managed Identities for Azure resourcesJoonas Westlin
Introduction to Managed Identities in Azure, what they are and how they work. Also goes through what services they can be used with in Azure, how you can use services without any keys or secrets.
Authentication and Authorization in Asp.NetShivanand Arur
This presentation gives a little information about Why Security is important, then moving towards understanding about Authentication and Authorization and its various ways
1. Forms Authentication
2. Windows Authentication
3. Passport Authentication
Zero Credential Development with Managed IdentitiesJoonas Westlin
Keys are always needed to access services in Azure and beyond. Storing and managing keys presents many problems, for example rotating and disabling them. Keys often also allow blanket access to the service with no way to limit it. Sometimes there is only one key that needs to be shared by services, so you won't have any way to disable access from one individually. In this talk we will go through Managed Identities for Azure Resources, how they work, and how you can use them to use Azure services in a secure way without having to manage any keys yourself. We will go through a demo application which uses various Azure services through a managed identity, removing the need to use keys entirely. The source code will be available to the audience so they have samples that they can use to implement managed identities in their own applications.
Zero credential development with managed identitiesJoonas Westlin
Introduction to Managed Identities in Azure, what they are and how they work. Also goes through what services they can be used with in Azure, how you can use services without any keys or secrets.
Mobile Authentication for iOS Applications - Stormpath 101Stormpath
Want to build user authentication into your iOS apps quickly and securely?
In this presentation, iOS Developer Evangelist Edward Jiang will go over OAuth, best practices, and how to easily integrating Facebook, Google, and email logins into your app using Stormpath's iOS SDK!
Topics Covered:
- Stormpath Customer Identity Management
- What does authentication mean?
- Common methods of mobile authentication
- OAuth Token Authentication
- Building Login & Registration with Stormpath
- Making authenticated network requests
- Add Facebook / Google login with one line of code
- Technical Q&A
We all know Azure is a powerful platform but many aren’t aware of the little features lurking in the corners than can transform you from an Azure Acolyte to full blown Azure Ninja. In this whirlwind session we’ll cover tips on everything from UI Customization to CLI’s lurking in unexpected places and from free tools and services to mysterious repositories of wisdom and enlightenment.
In this month's call, Loki Meyburg, Program Manager for Microsoft Teams discusses single sign-on (SS0) in Microsoft Teams, including:
-What is single sign-on (SSO)
-Authentication in 2019
-Single sign-on for Teams tabs today!
-Getting starting with SSO
Watch the recording here - https://youtu.be/91Sb5lz3STI
Identity and Access (AD), Azure and Office 365: Building a Single Page Application (SPA) with ASP.NET Web API and Angular.js using Azure Active Directory to Log in Users
Azure Static Web Apps allows you to develop modern full-stack web apps quickly and easily with a static front-end and dynamic back end powered by Serverless APIs with custom routing, security including authentication/authrization, custom domains, private endpoint, etc. Azure Static Web Apps offers cost-effective pricing from hobby to production apps.
Injecting custom code into authentication and authorization in ASP.NET has always been tedious at best. AspNet.Identity is a new library shipping with MVC 5, built to replace both ASP.NET Membership and Simple Membership. AspNet.Identity makes it much easier to implement custom authentication and authorization without the need to rewrite core components. In this session I will go deep into the abstractions that AspNet.Identity builds atop of, and show how to take advantage of these hook points to implement a custom membership system.
A Journey to Power Intelligent IT - Big Data EmployedMohamed Sohail
Sustainability has become a hot topic as a result of significant concerns about the unintended social, environmental, and economic consequences of rapid population growth, economic growth, and consumption of our natural resources. For the IT industry in particular, a highly important consideration that affects the decisions of IT managers is data center power consumption and carbon emission.
Similar to Антон Бойко (Microsoft Azure MVP, Ukrainian Azure Community Founder) «Azure Mobile Services — создаем backend для мобильного приложения со скоростью света»
Anh Huỳnh Bảo Toàn, Chuyên viên Phát triển Lập trình viên và Nền tảng của Microsoft chia sẻ những hỗ trợ của nền tảng Azure đối với việc phát triển ứng dụng di động.
In this presentation you will see how to use Microsoft Azure Mobile Services to add structured storage, integrated authentication and scaling to your Windows apps. Presented November 15, 2014 at the London Azure Camp hosted by the London .NET Developers group in London, Ontario, Canada.
What can you do with Azure Mobile Services? In a big solution, made up of several services, you can control your remote infrastructure looking at you events collected in a DB and you can send commands.
Zero Credential Development with Managed IdentitiesJoonas Westlin
Keys are always needed to access services in Azure and beyond. Storing and managing keys presents many problems, for example rotating and disabling them. Keys often also allow blanket access to the service with no way to limit it. Sometimes there is only one key that needs to be shared by services, so you won't have any way to disable access from one individually.
In this talk we go through Managed Identities for Azure Resources, how they work, and how you can use them to use Azure services in a secure way without having to manage any keys yourself. We will go through a demo application which uses various Azure services through a managed identity, removing the need to use keys entirely.
Zero Credential Development with Managed IdentitiesJoonas Westlin
Keys are always needed to access services in Azure and beyond. Storing and managing keys presents many problems, for example rotating and disabling them. Keys often also allow blanket access to the service with no way to limit it. Sometimes there is only one key that needs to be shared by services, so you won't have any way to disable access from one individually.
In this talk we will go through Managed Identities for Azure Resources, how they work, and how you can use them to use Azure services in a secure way without having to manage any keys yourself.
We will go through a demo application which uses various Azure services through a managed identity, removing the need to use keys entirely. The source code will be available to the audience so they have samples that they can use to implement managed identities in their own applications.
2022 APIsecure_Passwordless Multi-factor Authentication Security and IdentityAPIsecure_ Official
APIsecure - April 6 & 7, 2022
APIsecure is the world’s first conference dedicated to API threat management; bringing together breakers, defenders, and solutions in API security.
Passwordless Multi-factor Authentication Security and Identity
Sal Karatas, CEO at SAASPASS
Hello All,
Let's meet and discuss what are the new announcements from Build 2016 and how we can best leverage them in our business!
Here are some of the topics we will cover this time:
- Azure Functions
- Service Fabric
- Azure Storage
- Document DB
- Azure Container Services
- Power BI Embedded
- ASP.NET Core
- Virtual Machine Scale Sets
I will be happy to share my experience from the conference, especially the session I visited and also the conversations I had with various Microsoft representatives.
Azure is developing faster than ever and Microsoft is driving the platform in very interesting direction that require us to know and work with more and more new technologies!
Come and join us to learn more about Azure!
I am arranging the venue but my plan for the meetup is to be on April 25-th or April 27-th from 19:30. I will keep you updated on that!
Thank you!
Kanio
Similar to Антон Бойко (Microsoft Azure MVP, Ukrainian Azure Community Founder) «Azure Mobile Services — создаем backend для мобильного приложения со скоростью света» (20)
DataArt Custom Software Engineering with a Human ApproachDataArt
DataArt is a global software engineering firm that takes a uniquely human approach to solving problems. With over 20 years of experience, teams of highly-trained engineers around the world, deep industry sector knowledge and ongoing technology research, we help clients create custom software that improves their operations and opens new markets. Powered by our People First principle, we work with clients at any scale and on any platform, and adapt alongside them as they evolve.
DataArt is a global software engineering firm that takes a uniquely human approach to solving problems. With over 20 years of experience, teams of highly-trained engineers around the world, deep industry sector knowledge, and ongoing technology research, we help clients create custom software that improves their operations and opens new markets. Powered by our People First principle, we work with clients at any scale and on any platform, and adapt alongside them as they evolve.
DataArt Financial Services and Capital MarketsDataArt
DataArt is a global software engineering firm that takes a uniquely human approach to solving problems. With over 20 years of experience, teams of highly-trained engineers around the world, deep industry sector knowledge, and ongoing technology research, we help clients create custom software that improves their operations and opens new markets. Powered by our People First principle, we work with clients at any scale and on any platform, and adapt alongside them as they evolve.
We integrate our engineering excellence with deeply human values that drive our business and our approach to relationships: curiosity, empathy, trust, honesty, and intuition. These qualities help us deliver high-value, high-quality solutions that our clients depend on, and lifetime partnerships they believe in.
DataArt has earned the trust of some of the world’s leading brands and most discerning clients, including Nasdaq, Travelport, Ocado, Centrica/Hive, Paddy Power Betfair, IWG, Univision, Meetup and Apple Leisure Group among others. DataArt brings together expertise of over 3000 professionals in 20 locations in the US, Europe, and Latin America.
Мы ежедневно посещаем десятки и сотни сайтов и периодически видим рекламу, зачастую даже не задумываясь, откуда она вообще берется. Почему именно эта реклама показана вам именно здесь? И какая роль JS во всем этом?
Рассмотрим:
• поговорим о жизненном цикле рекламного баннера и проследим его путь от рекламодателя до браузера;
• узнаем, кто же постоянно следит за нами в интернете, как много информации о нас им доступно;
• определим способы выявления некачественного трафика;
• разберемся, зачем нужно контролировать качество просмотров;
• обсудим, почему нельзя так просто взять и просмотреть всю статистику по рекламе в одном месте (или все-таки можно?).
Алексей Уманский, JS Developer, AnyMind Group. Опыт работы в IT – четыре года. Участвовал в тревел- и gamedev-проектах: разрабатывал крупный сервис по покупке авиабилетов, создавал систему игровых автоматов для онлайн казино. Последний год работал в Таиланде над продуктами в области Digital Marketing: онлайн биржа для influencer-ов и сервис по управлению рекламой на сайте, а так же сбору статистики по ней.
DevOps Workshop:Что бывает, когда DevOps приходит на проектDataArt
Александр Снеговой, DevOps Software Engineer в DataArt.
Более шести лет в IT. Сертифицированный AWS Solutions Architect Associate. Докладчик на международных научных конференциях. Религиозный фанат Docker.
Оксана Харчук, Senior QA Engineer.
Презентация:
Коммуникация в жизни QA. Как выстроить эффективные коммуникации тестировщику с бизнес аналитиком, разработчиком, менеджером и клиентом.
Нельзя просто так взять и договориться, или как мы работали со сложными людьмиDataArt
Эллина Азадова, QA Lead в DataArt Kherson.
Презентация:
Реальные примеры из своей практики, как работать со сложными людьми: интровертами, экстравертами, излишне эмоциональными и с постоянно пессимистически настроенными.
Дмитрий Клипинин, DevOps Engineer в GlobalLogic, более 10 лет опыта работы в IT, сертифицированный специалист Microsoft по технологиям Active Directory и SQL Server.
Презентация:
1. Эволюция системного администратора.
2. DevOps-практики.
3. Основные DevOps-инструменты.
Александр Снеговой, DevOps Software Engineer в DataArt Kherson. Более шести лет в IT. Сертифицированный AWS Solutions Architect Associate. Докладчик на международных научных конференциях. Религиозный фанат Docker.
Презентация:
1. Докеризация приложения.
2. Настройка CI/CD.
3. Развертывание инфраструктуры в AWS с помощью Terraform.
Operation “Blue Star” is the only event in the history of Independent India where the state went into war with its own people. Even after about 40 years it is not clear if it was culmination of states anger over people of the region, a political game of power or start of dictatorial chapter in the democratic setup.
The people of Punjab felt alienated from main stream due to denial of their just demands during a long democratic struggle since independence. As it happen all over the word, it led to militant struggle with great loss of lives of military, police and civilian personnel. Killing of Indira Gandhi and massacre of innocent Sikhs in Delhi and other India cities was also associated with this movement.
The Art Pastor's Guide to Sabbath | Steve ThomasonSteve Thomason
What is the purpose of the Sabbath Law in the Torah. It is interesting to compare how the context of the law shifts from Exodus to Deuteronomy. Who gets to rest, and why?
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdfTechSoup
In this webinar you will learn how your organization can access TechSoup's wide variety of product discount and donation programs. From hardware to software, we'll give you a tour of the tools available to help your nonprofit with productivity, collaboration, financial management, donor tracking, security, and more.
Model Attribute Check Company Auto PropertyCeline George
In Odoo, the multi-company feature allows you to manage multiple companies within a single Odoo database instance. Each company can have its own configurations while still sharing common resources such as products, customers, and suppliers.
How to Split Bills in the Odoo 17 POS ModuleCeline George
Bills have a main role in point of sale procedure. It will help to track sales, handling payments and giving receipts to customers. Bill splitting also has an important role in POS. For example, If some friends come together for dinner and if they want to divide the bill then it is possible by POS bill splitting. This slide will show how to split bills in odoo 17 POS.
The Roman Empire A Historical Colossus.pdfkaushalkr1407
The Roman Empire, a vast and enduring power, stands as one of history's most remarkable civilizations, leaving an indelible imprint on the world. It emerged from the Roman Republic, transitioning into an imperial powerhouse under the leadership of Augustus Caesar in 27 BCE. This transformation marked the beginning of an era defined by unprecedented territorial expansion, architectural marvels, and profound cultural influence.
The empire's roots lie in the city of Rome, founded, according to legend, by Romulus in 753 BCE. Over centuries, Rome evolved from a small settlement to a formidable republic, characterized by a complex political system with elected officials and checks on power. However, internal strife, class conflicts, and military ambitions paved the way for the end of the Republic. Julius Caesar’s dictatorship and subsequent assassination in 44 BCE created a power vacuum, leading to a civil war. Octavian, later Augustus, emerged victorious, heralding the Roman Empire’s birth.
Under Augustus, the empire experienced the Pax Romana, a 200-year period of relative peace and stability. Augustus reformed the military, established efficient administrative systems, and initiated grand construction projects. The empire's borders expanded, encompassing territories from Britain to Egypt and from Spain to the Euphrates. Roman legions, renowned for their discipline and engineering prowess, secured and maintained these vast territories, building roads, fortifications, and cities that facilitated control and integration.
The Roman Empire’s society was hierarchical, with a rigid class system. At the top were the patricians, wealthy elites who held significant political power. Below them were the plebeians, free citizens with limited political influence, and the vast numbers of slaves who formed the backbone of the economy. The family unit was central, governed by the paterfamilias, the male head who held absolute authority.
Culturally, the Romans were eclectic, absorbing and adapting elements from the civilizations they encountered, particularly the Greeks. Roman art, literature, and philosophy reflected this synthesis, creating a rich cultural tapestry. Latin, the Roman language, became the lingua franca of the Western world, influencing numerous modern languages.
Roman architecture and engineering achievements were monumental. They perfected the arch, vault, and dome, constructing enduring structures like the Colosseum, Pantheon, and aqueducts. These engineering marvels not only showcased Roman ingenuity but also served practical purposes, from public entertainment to water supply.
This is a presentation by Dada Robert in a Your Skill Boost masterclass organised by the Excellence Foundation for South Sudan (EFSS) on Saturday, the 25th and Sunday, the 26th of May 2024.
He discussed the concept of quality improvement, emphasizing its applicability to various aspects of life, including personal, project, and program improvements. He defined quality as doing the right thing at the right time in the right way to achieve the best possible results and discussed the concept of the "gap" between what we know and what we do, and how this gap represents the areas we need to improve. He explained the scientific approach to quality improvement, which involves systematic performance analysis, testing and learning, and implementing change ideas. He also highlighted the importance of client focus and a team approach to quality improvement.
Антон Бойко (Microsoft Azure MVP, Ukrainian Azure Community Founder) «Azure Mobile Services — создаем backend для мобильного приложения со скоростью света»
1. Cloud Powered Mobile Apps
with Azure
Boyko Anton
Microsoft Azure MVP
boyko.ant@live.com
Microsoft Azure
2. What is Mobile Services?
2
Storage
Authentication
Logic
Push
Scheduler
4. The REST API
4
Action HTTP Method URL Suffix
Create POST /TodoItem
Read GET /TodoItem?filter=id%3D42
Update PATCH /TodoItem/id
Delete DELETE /TodoItem/id
Microsoft Azure
Base Endpoint: https://my-service.azure-mobile.net/tables/*
5. JSON to SQL Type Mappings
5
JSON Type T-SQL Type
Numeric values (integer, decimal,
floating point)
Float(53)
Boolean bit
DateTime DateTimeOffset(3)
String Nvarchar(max)
Microsoft Azure
6. Auto-generated Columns
• id – unique guid
• __createdAt – date
• __updatedAt – date
• __version – timestamp
• Helps with concurrency and offline
6Microsoft Azure
8. Server Side Table Scripts
8
Node.js scripts
Intercept CRUD
requests to tables
Passes through to SQL
by default
Fully customizable
.NET Web API
backend in
Visual Studio
MongoDB, Table
Storage, SQL Azure
10. Custom API
• Non-table based endpoints
• Accessible from
• GET
• POST
• PUT
• PATCH
• DELETE
• For node.js logic in scripts like table endpoints
• For .NET delivered through a WebAPI
• Expose any functionality you want
10Microsoft Azure
11. File Storage
• Don’t store files in Mobile Services DB
• Use Mobile Service to provide a Valet Key Pattern to Blob Storage,
aka BLOB SAS
• Create table / custom API script to talk to Blob Storage
• Script generates Shared Access Signature (SAS) URL
• Script returns SAS URL to client app
• Client app uploads data to blob storage directly
• Store file URL in Mobile Service DB as needed
• Blob storage costs less and is built for redundant file storage
11Microsoft Azure
14. Notification Hubs
• Separate from Mobile Services
• Can be used regardless of whether you’re storing data in Azure
• Extremely scalable push notifications
• Cross platform support
• Push to iOS, Android, Kindle, Windows Phone, Windows Store
• Tags (i.e. tie my registration to this topic or user ID)
• Templates (i.e. when I get a push, send it in this format)
• Server SDKs for .NET, Java, and Node (also open as REST API)
14Microsoft Azure
16. Data Authorization
Per HTTP method auth options:
• App Key Required
• Not ideal for production use
• Everyone
• Authenticated Users
• Admins and other scripts
• Requires Master Key as header
401 Unauthorized response if security check fails
16Microsoft Azure
20. Scheduled Jobs
• Executes a script on defined schedule
• Can be run on demand
• Ideal for any backend data processing job
• Length / frequency based of Mobile Service tier
20Microsoft Azure
22. Script Source Control
• Creates a Git repo in Azure
• Access table, scheduler, custom API, shared scripts and permissions
• Pushing changes triggers a redeploy of your Mobile Service
• Enables installing NPM modules (for Node backends)
• Shared Scripts
• Create scripts that can be used from all other scripts in your Service
22Microsoft Azure
24. Diagnostics, Logging, Scale
24
API Calls, # of Devices,
Data Out
Console Logging (auto
error logging)
Scale Service Based off API
Calls
Auto-scale to Save Money
Free Tier for Mobile Free Tier for SQL
25. Mobile Service Scaling
Free: 500k calls / month / subscription
Basic: 1.5M calls / unit (6) / month
Standard: 15M calls / unit (10) / month
Microsoft Azure
26. Q & A
Boyko Anton
boyko.ant@live.com
facebook.com
/groups/azure.ua
Editor's Notes
Speaking Notes
Azure Mobile Services is a Backend-as-a-Service
Instead of you having to design, build, test, deploy, manage, and upgrade your whole backend, we do it for you
Features of Mobile Services
Storage – SQL DB
Authentication – built in support for social providers w/ ability to custom auth
Backend logic – data validation, logical flows, etc
Push Notifications – across all major mobile platforms
Scheduler – backend job processing
Speaking points
Mobile Service easily connects to SQL Database
SQL offers rich querying and indexing capabilities
Dynamic Schematization means you don’t have to be a DBA and manage schema
Data can be managed in:
Azure Portal (read and delete data)
SQL Portal (Silverlight)
SQL Management Studio (windows)
REST API (used by SDKs)
Azure CLI tools
SQL CLI (Node module)
Speaking points
This is the mapping for the REST API exposed by table storage
Standard REST
Anything that can talk REST can connect to your Mobile Service
Speaking points
JSON to SQL mapping
Whatever JSON data type on left is passed in generates column of SQL type on right
Speaking notes
Auto-generated columns
id – unique id used to handle querying, updating, and deleting specific rows
createdAt, updatedAt, version help with optimistic concurrency (first update wins)
Last three columns not pulled to client by default (Need to specify query parameter to get those back)
Speaking points
* Section change: Backend Logic
Speaking points
Node backend generates Node scripts for each table action
Scripts intercept CRUD requests
Pass to SQL by default
Custom logic added here
Edit in portal (NODE)
.NET Backend creates Visual Studio project
Speaking points
Node backend comes with pre-included modules
Request – make web requests against other services
Push.* - perform push notifications
Console – log information
Mssql – call stored procedures / custom SQL
Tables – OO way of accessing tables in backend
Azure – access service bus, blob, table storage, notification hubs, etc
Partners
Sendgrid – send emails
Pusher – web socket style communications
Twilio – SMS and voice
Most have a free tier you can use
Speaking points
All scripts so far tied to a table action
Custom APIs are non-table based endpoints
Script functionality for normal HTTP methods
File storage
SQL DB for Mobile Services not ideal for file data storage
Best practice is to use Mobile Service as Proxy
Mobile Service script generates SAS URL
Client uploads file to SAS URL
Valet Key Patternhttp://msdn.microsoft.com/en-us/library/dn568102.aspx
Speaking points
Push notifications work the same no matter which client you’re working with
Client talks to PNS to register for push
Client gets token, passes to Mobile Service
Mobile Service asks PNS to deliver payload to token / channel URI / registration ID
PNS delivers push to client app
PNS = Push Notification Service (i.e. MPNS, WNS, GCM, ADM, APNS)
Speaking points
Notification Hubs are a separate service from Mobile Services but also used by Mobile Services
Pushes to iOS, Android, Kindle, Windows Phone, Windows Store
Extremely scalable (millions of pushes in minutes)
Tags and templates
Server SDKs: .NET, Java (beta), Node, REST API
Speaking points
Section change: Authorization and Authentication
Controlling who can access what
Speaking points
Data auth – locking data down
Default is App Key Required, great for pre-release time period
Not production ready due to key’s accessibility in public apps
Authenticated users – requests must contain user ID and matching auth token
Admins and other scripts – only external requests with Master Key make it through
Otherwise 401 is returned
Speaking Points
Server auth flow uses OAUTH
Mobile Service is registered with provider to allow auth
Client calls auth method and passes in provider name
User authenticates, Mobile Service and provider do OAUTH
User ID and token (for Mobile Service) returned to client
Provider token / secret accessible in Mobile Service
Speaking points
User level indicates if they’ve logged in or came across with master key
User ID for user making the request
GetIdentities can be called to get provider token / secret and basic information from provider
Speaking notes
Subject change: Scheduler
Speaking points
Schedule jobs (scripts) can be run by the scheduler
Ideal for any backend job processing (regular push notification, remove old data, etc)
Length and how often you can run job based off tier of your mobile service
Speaking points
Subject change: Script source control
Speaking points
Script source control creates GIT repo for all scripts and permission JSON files
Enables you to pull scripts down and edit locally
Lets you create shared scripts to reuse code
Enables installing of NPM modules (Node)
Speaking points
Some default stats like # of api calls, # of devices connecting, amount of data out
Api calls are important because that’s how mobile services’ scale is baed
All console statements and errors go to logging area
Auto-scaling helps save money
Free tier for Mobile Services and SQL while developing
Speaking points
Scaling
Free 500k / month / sub (across entire subscription is important distinction)
Basic 1.5M / unit / month (up to 6 units)
Standard 15M / unit / month (up to 10 units)
More units available by contacting support