Привет, хабрачитатели!
Я уже долгое время занимаюсь мобильными и встраиваемыми технологиями. Ограничения по ресурсам, как самого устройства, так и его производителя, могут налагать определенные ограничения на доступные конечному пользователю мобильного устройства сервисы. Например, не очень мощный процессор у устройства; нет возможности поддерживать выделенную инфраструктуру сервисов для своего устройства у производителя.
Когда я только узнал про облачные технологии, я подумал, что было бы здорово получить доступ к мощи облака на мобильном устройстве. Поскольку я специализируюсь на технологиях Microsoft, то я задумывал сделать пример, где с Windows Phone 7 будут удобно доступны сервисы хранения Windows Azure.
Но меня опередили.
Вышел Windows Azure Toolkit for Windows Phone 7, обзор которого я представляю вашему вниманию.
Облачные технологии становятся всё более популярными, количество пользователей смартфонов стремительно растёт. Всё больше и больше проектов совмещают в себе клиентскую часть на мобильном устройстве и ответную часть в облаке.
Не осталась в стороне и компания Microsoft. У нас есть PaaS облако Windows Azure и есть, набирающая популярность, мобильная платформа Windows Phone 7. С самого начала появления облачной платформы Windows Azure она поддерживает REST API, поэтому всегда можно написать приложение, которое будет взаимодействовать с Windows Azure, используя обычные HTTP запросы. Но это далеко от удобства использования Windows Azure при разработке для Windows-платформы.
Windows Azure Toolkit for Windows Phone 7 как раз и предназначен для упрощения использования возможностей технологий Windows Azure на платформе Windows Phone 7. Набор включает в себя библиотеки классов для Windows Phone 7 для взаимодействия с Windows Azure с исходным кодом, шаблоны проектов, пример приложения и документацию. Также он содержит вспомогательный набор сервисов, которые обеспечивают более безопасное использование сервисов Windows Azure на мобильном устройстве.
Тулкит поставляется в виде самораспаковывающегося архива WAZToolkitForWP7.Setup.exe. Он распаковывается в следующую иерархию директорий:
Чтобы запустить установку шаблонов, надо запустить файл Setup.cmd. Запсутится утилита, которая проверит, что на машине разработчика присутствует всё, необходимое для работы тулкита.
Если чего-то нет – даст ссылку на скачивание или на скрипт, выполняющий необходимые настройки. Финальный шаг установки – установка шаблонов для Visual Studio 2010.
Для того чтобы получить доступ к своему аккаунту хранилища на Azure, необходимо знать название аккаунта и ключ. Поскольку хранить подобную информацию в мобильном приложении не очень безопасно и не удобно, тулкит предоставляет сервисы, которые позволяют использовать другую модель аутентификации в приложении с дополнительными возможностями по разграничению уровня доступа к данным.
Сервисы предоставляемые тулкитом, также как и веб-сайт системы администрирования пользователей хостятся в веб-роли ASP.NET MVC 2.
Сервисы аутентификации тулкита (AuthenticationService) базируются на ASP.NET провайдерах (Membership, Roles, Profile и Session State Store) для таблиц Windows Azure Table. Исходный код провайдера содержится в самом тулките (\Samples\Libraries\AspProviders\). Прежде чем получить доступ к каким-либо данным необходимо аутентифицироваться, используя этот сервис.
Обработчик HTTP REST API запросов к таблицам Windows Azure (AzureTablesProxy.axd) используется как прокси запросов к таблицам Windows Azure. Запросы, которые приходят на этот сервис подписываются ключом аккаунта хранения и перенаправляются к реальной конечной точке (endpoint) таблиц Windows Azure.
WCF REST сервис генерации подписей для общего доступа (SharedAccessSignatureService) для работы с контейнерами и BLOB-ами.
В папке \Samples\Libraries\ находятся библиотеки в исходных кодах:
Тулкит содержит два шаблона, каждый из которых доступен и на C#, и на Visual Basic.
Анонс: http://www.wadewegner.com/2011/03/windows-azure-toolkit-for-windows-phone-7/
Скачать: http://watoolkitwp7.codeplex.com/
Видео с Channel 9: http://channel9.msdn.com/Shows/Cloud+Cover/Cloud-Cover-Episode-41-Windows-Azure-Toolkit-for-Windows-Phone-7
Подписи для общего доступа (Shared Access Signatures): http://msdn.microsoft.com/library/ee395415.aspx
Вспомогательная серверная библиотека для пуш-оповещений (Push Notification Server Side Helper Library) http://create.msdn.com/en-US/education/catalog/article/pnhelp-wp7
Я уже долгое время занимаюсь мобильными и встраиваемыми технологиями. Ограничения по ресурсам, как самого устройства, так и его производителя, могут налагать определенные ограничения на доступные конечному пользователю мобильного устройства сервисы. Например, не очень мощный процессор у устройства; нет возможности поддерживать выделенную инфраструктуру сервисов для своего устройства у производителя.
Когда я только узнал про облачные технологии, я подумал, что было бы здорово получить доступ к мощи облака на мобильном устройстве. Поскольку я специализируюсь на технологиях Microsoft, то я задумывал сделать пример, где с Windows Phone 7 будут удобно доступны сервисы хранения Windows Azure.
Но меня опередили.
Вышел Windows Azure Toolkit for Windows Phone 7, обзор которого я представляю вашему вниманию.
Облачные технологии становятся всё более популярными, количество пользователей смартфонов стремительно растёт. Всё больше и больше проектов совмещают в себе клиентскую часть на мобильном устройстве и ответную часть в облаке.
Не осталась в стороне и компания Microsoft. У нас есть PaaS облако Windows Azure и есть, набирающая популярность, мобильная платформа Windows Phone 7. С самого начала появления облачной платформы Windows Azure она поддерживает REST API, поэтому всегда можно написать приложение, которое будет взаимодействовать с Windows Azure, используя обычные HTTP запросы. Но это далеко от удобства использования Windows Azure при разработке для Windows-платформы.
Windows Azure Toolkit for Windows Phone 7 как раз и предназначен для упрощения использования возможностей технологий Windows Azure на платформе Windows Phone 7. Набор включает в себя библиотеки классов для Windows Phone 7 для взаимодействия с Windows Azure с исходным кодом, шаблоны проектов, пример приложения и документацию. Также он содержит вспомогательный набор сервисов, которые обеспечивают более безопасное использование сервисов Windows Azure на мобильном устройстве.
Установка
Тулкит поставляется в виде самораспаковывающегося архива WAZToolkitForWP7.Setup.exe. Он распаковывается в следующую иерархию директорий:
Чтобы запустить установку шаблонов, надо запустить файл Setup.cmd. Запсутится утилита, которая проверит, что на машине разработчика присутствует всё, необходимое для работы тулкита.
Если чего-то нет – даст ссылку на скачивание или на скрипт, выполняющий необходимые настройки. Финальный шаг установки – установка шаблонов для Visual Studio 2010.
Сервисы
Для того чтобы получить доступ к своему аккаунту хранилища на Azure, необходимо знать название аккаунта и ключ. Поскольку хранить подобную информацию в мобильном приложении не очень безопасно и не удобно, тулкит предоставляет сервисы, которые позволяют использовать другую модель аутентификации в приложении с дополнительными возможностями по разграничению уровня доступа к данным.
Сервисы предоставляемые тулкитом, также как и веб-сайт системы администрирования пользователей хостятся в веб-роли ASP.NET MVC 2.
Сервисы аутентификации тулкита (AuthenticationService) базируются на ASP.NET провайдерах (Membership, Roles, Profile и Session State Store) для таблиц Windows Azure Table. Исходный код провайдера содержится в самом тулките (\Samples\Libraries\AspProviders\). Прежде чем получить доступ к каким-либо данным необходимо аутентифицироваться, используя этот сервис.
Обработчик HTTP REST API запросов к таблицам Windows Azure (AzureTablesProxy.axd) используется как прокси запросов к таблицам Windows Azure. Запросы, которые приходят на этот сервис подписываются ключом аккаунта хранения и перенаправляются к реальной конечной точке (endpoint) таблиц Windows Azure.
WCF REST сервис генерации подписей для общего доступа (SharedAccessSignatureService) для работы с контейнерами и BLOB-ами.
Библиотеки
В папке \Samples\Libraries\ находятся библиотеки в исходных кодах:
- AspProviders: ASP.NET провайдеры (Membership, Roles, Profile и Session State Store) поверх таблиц Windows Azure Tables;
- System.Data.Services.Client: версия клиентской библиотеки OData для Windows Phone 7 (http://odata.codeplex.com) слега поправленная для поддержки работы с Azure Table API;
- WindowsPhone.Recipes.Push.Messasges: Push Notification Server Side Helper Library, — серверная библиотека, часть «рецепта» «Windows Phone 7 Push Recipe». Позволяет отсылать все типы пуш-оповещений: Tile, Toast, и Raw;
- WindowsPhoneCloud.StorageClient: клиентская библиотека для работы с Azure Storage для Windows Phone 7. Эта библиотека позволяет:
- создавать и удалять таблицы Azure Tables;
- выполнять CRUD операции со строками таблиц Azure Tables;
- Загружать BLOB-ы в публичные/приватные контейнеры, с использованием подписей общего доступа (Shared Access Signatures);
- Получать список BLOB-ов в приватных/публичных контейнерах с использованием подписей общего доступа (Shared Access Signatures)
Шаблоны Visual Studio 2010
Тулкит содержит два шаблона, каждый из которых доступен и на C#, и на Visual Basic.
- Windows Phone 7 Cloud Application: Упрощает создание приложения Windows Phone 7 использующего возможности Windows Azure. Шаблон генерирует проект Windows Azure, проект ASP.NET MVC 2 (веб-роль), и проект приложения Windows Phone 7. Данный проект демонстрирует, как можно использовать сервисы хранения Windows Azure без необходимости хранить данные аккаунта на мобильном устройстве.
- Windows Phone 7 Empty Cloud Application: То же самое, что и шаблон Windows Phone 7 Cloud Application, но вместо примера приложения Windows Phone 7, демонстрирующего возможности сервисов тулкита, создается пустой проект приложения Windows Phone 7 с минимальным набором настроек и зависимостей.
Дополнительно
Анонс: http://www.wadewegner.com/2011/03/windows-azure-toolkit-for-windows-phone-7/
Скачать: http://watoolkitwp7.codeplex.com/
Видео с Channel 9: http://channel9.msdn.com/Shows/Cloud+Cover/Cloud-Cover-Episode-41-Windows-Azure-Toolkit-for-Windows-Phone-7
Подписи для общего доступа (Shared Access Signatures): http://msdn.microsoft.com/library/ee395415.aspx
Вспомогательная серверная библиотека для пуш-оповещений (Push Notification Server Side Helper Library) http://create.msdn.com/en-US/education/catalog/article/pnhelp-wp7