Uploaded by m.madaraychixa3

Windows Azure Mobile Services

advertisement
ПОКС-41
Работал над презентацией Сафонов. Н. Ю.
Сервис Windows Azure Mobile Services предлагает облачную инфраструктуру для
популярных мобильных платформ: Windows 8, Windows Phone, iOS и Android. На
основе сервиса Windows Azure Mobile Services можно построить облачный бэкенд,
на который будут перенесены задачи по хранению данных, аутентификации и
Push-уведомлений.
 Сервис Windows Azure Mobile Services не является конструктором – с
помощью Windows Azure Mobile Services нельзя создать
готовое приложение. Windows Azure Mobile Services - это набор функциональности,
которая дополняет уже готовое (или новое, если приложение только
разрабатывается) приложение возможностью, например, аутентифицировать
пользователей с помощью Facebook. В приложении нет необходимости
реализовывать логику непосредственно процесса аутентификации – достаточно
использовать уже готовое API Windows Azure Mobile Services и перевести
пользователя на страницу входа в систему Facebook. Таким образом,
сервис Windows Azure Mobile Services предоставляет набор функциональности,
который могут быть использованы для дополнения, но не создания приложения.
С помощью Mobile Services Windows Azure значительно упрощается выполнение
стандартных задач разработки, таких, как интеграция push-уведомлений и
настройка аутентификации пользователя.


Windows Azure Mobile Services предоставляет возможность хранения
структурированных данных в облаке. Такой сценарий возникает, когда необходимо
хранить простые данные, но разворачивать для этой задачи дополнительный
сервер может быть слишком затратно (например, известно, что данных будет
немного). На каждую из операций из набора CRUD можно ассоциировать
соответствующее действие на стороне сервера – например, на операцию Insert,
пришедшую со стороны клиента, можно ответить Push-уведомлением клиента о
том, что операция прошла успешно. По умолчанию в хранилище Windows Azure
Mobile Services включена динамическая схема, позволяющая расширять схему
таблицы в любой момент – так, если добавляется сущность с полем, которого не
было в таблице, это поле добавляется в таблицу, схема расширяется, все же
сущности, у которых не было ранее этого поля, получают значение 0.
Динамическую схему рекомендуется отключать при окончании процесса
тестирования приложения.
 С помощью сервиса Windows Azure Mobile Services разработчик может
интегрировать в свое приложение аутентификацию с использованием как
популярных провайдеров аутентификации, так и настраиваемых. Таким
образом разработчик абстрагируется от низлежащих деталей реализации
взаимодействия с провайдерами аутентификации – всем процессом по
обмену аутентификационными данными и непосредственно самим
процессом управляет Windows Azure Mobile Services.





Подсервис аутентификации может быть интегрирован с подсервисом хранилища – так,
разработчик может назначить одну из опций на каждую из операций с хранилищем. Доступны
следующие опции аутентификации каждого из запросов на операцию:
Everyone: данная опция означает, что запрос на операцию будет одобрен от любого источника.
Любой клиент сможет модифицировать хранящиеся в Windows Azure Mobile Services данные.
Anybody with the Application Key: запрос на операцию будет одобрен только для того
клиента, у которого есть корректный ключ.
Only Authenticated Users: запрос на операцию будет одобрен только для
аутентифицировавшихся клиентом.
Only Scripts and Admins: запрос на операцию будет одобрен только для выполняющихся на
стороне сервера скриптов и администраторов мобильного сервиса.


Как уже говорилось ранее, весь процесс коммуникаций с провайдером аутентификации берет
на себя движок мобильных сервисов. В процессе коммуникаций мобильный сервис получает
специальный пакет, который называется токеном безопасности – этот пакет отдается
провайдером в результате успешной аутентификации клиента, и содержит в себе набор
информации, специфичный для каждого провайдера – например, идентификатор
пользователя, E-Mail и т.д. Данный токен безопасности действует в течение некоторого
времени. Разработчик может кэшировать этот токен, сохраняя его данные в хранилище,
изолированном для конкретного экземпляра приложения (для WinRT это, например,
PasswordVault), и использовать закэшированный токен для того, чтобы при следующем запуске
автоматически определить аутентифицировавшегося ранее пользователя, и не спрашивать
учетные данные снова. Разумеется, учитывая период жизни токена, его необходимо
периодически обновлять – для этого надо постоянно проверять, что возвращается мобильным
сервисом в ответ на посылаемые запросы – в том случае, если мобильный сервис возвращает
код ответа 401 Unauthorized, необходимо снова предложить пользователю
аутентифицироваться и повторить процедуру кэширования токена.

Если разработчик имеет перед собой задачу уведомлять всех пользователей или
конкретного пользователя о произошедшем событии или действии, он может
воспользоваться сервисом Windows Azure Mobile Services для интеграции Pushуведомлений в свое приложение. При этом нет необходимости вручную
реализовывать все низлежащие механизмы – достаточно открыть специальный
канал с помощью API Windows Azure Mobile Services и настроить скрипты на
стороне сервера таким образом, чтобы они, в зависимости от какого-либо
действия, высылали Push-уведомления пользователям.
Push-уведомления подразделяются на
два типа:
XML-обновления, содержащие
обновленные тайлы или бейджи. Могут
быть интерпретированы Windows.
Бинарные, или raw-уведомления,
содержащие любые данные, которые
необходимо послать – эти уведомления
не могут быть обработаны Windows, так
как неизвестна логика их обработки –
логика должна быть реализована в
клиентском приложении.







В сервисе Windows Azure Mobile Services есть собственный планировщик задач, полезный в тех
сценариях, когда необходимо определить код на стороне сервера, который должен
выполняться по расписанию, определенному разработчиком. Помимо других предложений
планировщиков задач (например, реализации планировщика задач с помощью Cloud Services
или Cloud Based CRON Scheduler), Windows Azure Mobile Services Scheduler является
интегрированным в платформу средством, с помощью которого можно реализовывать такие
задачи, как, например, периодическое обновление и сохранение данных из внешних и
внутренних сервисов.
Выполнение кода возможно по следующим временным промежуткам:
Раз в X минут
Раз в Y часов
Раз в M дней
Раз в N месяцев
Где переменная может быть равна тем значениям, которые заданы для каждого промежутка,
например, для месяцев это могут быть значения 1, 2 и 3.
 Перед тем, как начинать анализировать возникающие
проблемы с любым из сервисов Windows Azure,
необходимо узнать, нет ли глобальных проблем с этими
сервисами. Платформа предоставляет сервисную
панель http://www.windowsazure.com/enus/support/service-dashboard/, на которой в
исторической перспективе можно увидеть состояние и
"здоровье" сервисов. Windows Azure Mobile Services не
являются исключением – отправной точкой для
диагностики должна быть именно эта панель.
 В Visual Studio 2013 появилась
прямая интеграция Server Explorer с мобильными
сервисами и другими сервисами Windows Azure.
Подобная интеграция позволяет использовать
инструменты IDE для редактирования и управления
серверными скриптами мобильного сервиса.
Помогал с создание
данного проекта:
Имя: Наруто Узумаки
(Неведомая Хрень)
Раса: Неведомая
Злобная Хрень
Уровень: - 666 (опыт:
0,667/666 666 666)
Класс: Неведомая
хрень
Подкласс: Неведомой
хреовости сучность
Download