mobile services meetup - short version

Post on 24-Jul-2015

67 Views

Category:

Technology

6 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Разработка мобильных приложений с готовым бэкендом в облаке: новый взгляд на старую задачуАлександр БелоцерковскийMicrosoft albe@microsoft.com

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

аутентификация и хранение данныхРегламентируем доступ к хранилищу

Контакты

Александр БелоцерковскийMicrosoftalbe@microsoft.com & @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