Разработка мобильных приложений с готовым бэкендом в облаке: новый взгляд на старую задачуАлександр БелоцерковскийMicrosoft [email protected]
Microsoft Azure Mobile ServicesАвторизацияMicrosoft Account, Facebook, Twitter, Google, свой провайдер
Хранение данныхРеляционные данные, автоматическое изменение схемы
Push-уведомленияWindows 8, Windows Phone, iOS, Android
Серверный код – маленькая ВМ-бэкенд с Node.jsJavaScript, обработка событий, доступ к ресурсам, планировщик задач
Серверная логика
Скрипты на Node.js
Режим Pass-through
Перехват запросов CRUD к таблицам хранилища
Широкие возможности кастомизации
МодулиРасширяемость через дополнительные модули
request
console
push.*
mssql
statusCodes azure
sendgrid
twilio
Сценарий №1: хранение данныхБэкенд - SQL DatabaseРеализуется через серверную логику:
Мультитенантность через партиционированиеУправление данными:
Портал управления Microsoft AzureSQL Portal, SQL Management StudioREST APICLI
Хранение данных: REST API
Действие HTTP Verb URL
Create POST /Apartment
Read GET /Apartment?$filter=id%3D42
Update PATCH /Apartment/id
Delete DELETE /Apartment/id
CRUD in REST
Базовый REST API URL
https://mobileservice.azure-mobile.net/tables/*
Хранение данных: маппинг JSON к SQL
JSON Value T-SQL Type
integer, decimal, floating point
Float(53)
Boolean Bit
DateTime DateTimeOffset(3)
String Nvarchar(max)
Сценарий №2: аутентификацияMicrosoft Account, Twitter, Facebook, GoogleРегламентирование доступа на уровне таблиц для каждого типа операций CRUD: Everyone
Anybody with the Application KeyOnly Authenticated UsersOnly Scripts and Admins (master key)
Сценарий 3: Пуш-нотификации1. Запрос Channel URI
2. Регистрация
3. Аутентификация && нотификация
Windows 8
(1)
(2)
(3)
(3)
Пуш-нотификации: интеграцияИнтеграция с WNSИнтеграция через получение секретного ключа сервисаpush.wns.*:
объектная модель нотификацийпроизводит аутентификацию
push.mpns.*: push.mpns.[sendFlipTile(..) | sendTile(..) |
sendToast(..) | sendRaw(..)]
Дополнительно: Custom APIСкрипты вне таблицДоступ как
GetPostPutPatchDelete
Разделение прав
Дополнительно: планировщик
Скрипты по расписаниюСкрипты по «хочу сейчас»Преднастроенные интервалы
DEMO
аутентификация и хранение данныхРегламентируем доступ к хранилищу
Контакты
Александр Белоцерковский[email protected] & @ahriman_ruahriman.ru
© 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Top Related