Добавление облака к приложению с помощью Windows Azure Mobile Services

Первоклассные приложения Магазина Windows всегда на связи. Они используют динамические плитки, выполняют проверку подлинности пользователя с помощью функции единого входа и поддерживают обмен данными между пользователями и устройствами. Чтобы сочетать в себе все эти преимущества вашим приложениям необходимо использовать облачные службы.

Создавать облачные службы непросто. Большинство облачных платформ предлагают универсальные возможности хранения данных и выполнения кода, но вам нужно написать большой объем кода инфраструктуры, чтобы связать эти возможности воедино. Уверен, что вы не боитесь трудностей, но готов поспорить, что код внутренней инфраструктуры не является для вас главным приоритетом. Вы хотите сосредоточиться на реализации грандиозной идеи своего приложения.

Чтобы справиться с этой сложной задачей, ранее на этой неделе мы объявили о создании новой службы в Windows Azure: Mobile Services. Сейчас я покажу вам, как за считанные минуты добавить необходимые облачные службы в ваше приложение, используя Mobile Services.

Сначала зарегистрируйтесь для бесплатного пробного использования Windows Azure. Вы бесплатно получите 10 мобильных служб. Давайте используем одну из них, чтобы создать простое приложение списка дел.

Создание новой мобильной службы

  1. После регистрации войдите на сайт https://manage.windowsazure.com с использованием своей учетной записи Майкрософт. Создайте новую мобильную службу, нажав кнопку "[+NEW] (+СОЗДАТЬ)" в нижней части области навигации.

    кнопка_new

  2. Выберите "[Mobile Service] (Мобильная служба)" и щелкните "[Create] (Создать)". Вы увидите следующий экран:

    мобильная_служба

    Рисунок 1. Создание секции на портале управления.

  3. В мастере создания мобильной службы введите название своего приложения. Оно становится частью URL-адреса вашей новой службы.

    мастер_создания_мобильной_службы

    Рисунок 2. Мастер создания мобильной службы, первый экран.

  4. Когда вы создаете мобильную службу Windows Azure, мы автоматически связываем ее с базой данных SQL в Windows Azure. Затем серверная часть мобильной службы Windows Azure предоставляет встроенную поддержку, чтобы удаленные приложения могли безопасно сохранять в ней данные и извлекать их, а вам не требовалось бы для этого писать или развертывать собственный серверный код. Введите имя новой базы данных, а также имя пользователя и пароль для вашего нового сервера SQL Server. Запомните эти учетные данные, если хотите повторно использовать этот сервер баз данных для других мобильных служб. Если вы зарегистрировались для бесплатного пробного использования Windows Azure в течение 90 дней, вам бесплатно предоставляется одна база данных объемом 1 ГБ.

    мастер_создания_мобильной_службы2

Рисунок 3. Мастер создания мобильной службы, второй экран.

Нажмите кнопку с галочкой, чтобы завершить этот процесс. Через несколько секунд у вас будет мобильная служба — серверный компонент, который можно использовать для хранения данных, отправки push-уведомлений и проверки подлинности пользователей. Давайте опробуем ее из приложения.

Создание приложения для Магазина Windows

  1. Щелкните имя созданной мобильной службы.

    приложения_магазина

    Рисунок 4. Созданная мобильная служба.

    Теперь вам доступно два варианта: создать новое приложение или подключить к своей мобильной службе существующее приложение. Давайте выберем первый вариант и создадим простой список дел для хранения соответствующих элементов в вашей базе данных SQL. Выполните действия, указанные на экране:

    список_дел

    Рисунок 5. Создание приложения, использующего мобильную службу.

  2. Установите Visual Studio 2012 и Mobile Services SDK, если вы этого еще не сделали.

  3. Для хранения элементов списка дел необходимо создать таблицу. Вам не нужно заранее определять схему для своей таблицы. Служба Mobile Services автоматически добавит необходимые столбцы для хранения ваших данных.

  4. Затем выберите удобный для вас язык, C# или JavaScript, и щелкните "[Download] (Загрузить)". При этом загрузится персонализированный проект, предварительно настроенный для подключения к вашей новой мобильной службе. Сохраните сжатый файл проекта на свой локальный компьютер.

  5. Перейдите к папке, в которой были сохранены сжатые файлы проектов, разархивируйте их на свой компьютер и откройте решение в Visual Studio 2012 Express для Windows 8.

  6. Нажмите F5, чтобы запустить приложение.
    В приложении введите элемент списка дел в текстовом поле слева и щелкните "[Save] (Сохранить)". При этом отправляется HTTP-запрос новой мобильной службе, размещенной в Windows Azure. Затем эти данные безопасно сохраняются в таблице TodoItem. Вы получаете подтверждение от мобильной службы, а ваши данные отображаются в списке, расположенном справа.

список_дел

Рисунок 6. Готовое приложение.

Давайте рассмотрим код, используемый в приложении для сохранения введенных вами данных. Остановите приложение списка дел и дважды щелкните файл App.xaml.cs. Обратите внимание на следующие строки:

 public static MobileServiceClient MobileService = new MobileServiceClient(
       "https://todolist.azure-mobile.net/",
       "xPwJLJqYTMsAiBsHBHDhDEamZdtUGw75"
);

Это весь код, который требуется, чтобы подключить ваше приложение к мобильной службе. Если вы подключаете к своей мобильной службе существующее приложение, то можете скопировать этот код из варианта "[Connect your existing app] (Подключение существующего приложения)". Теперь откройте MainPage.xaml.cs и посмотрите на следующий код, вставляющий данные в мобильную службу:

 private IMobileServiceTable<TodoItem> todoTable = App.MobileService.GetTable<TodoItem>();
private async void InsertTodoItem(TodoItem todoItem)
{    
    await todoTable.InsertAsync(todoItem);    
    items.Add(todoItem);  
}

Это все, что нужно, чтобы сохранить данные в облачной службе. Вот аналогичный код на JavaScript:

 var client = new Microsoft.WindowsAzure.MobileServices.MobileServiceClient(
    "https://todolist.azure-mobile.net/",
    "xPwJLJqYTMsAiBsHBHDhDEamZdtUGw75"
);
var todoTable = client.getTable('TodoItem');

var insertTodoItem = function (todoItem) {
    todoTable.insert(todoItem).done(function (item) {
        todoItems.push(item);
    });
};

Управление мобильной службой и отслеживание ее работы

Вернитесь на портал управления Windows Azure, перейдите на вкладку "[Dashboard] (Панель мониторинга)", чтобы в реальном времени просмотреть данные мониторинга вашей новой мобильной службы и информацию о ее использовании.

список_дел2

Рисунок 7. Панель мониторинга Mobile Services.

Перейдите на вкладку "[Data] (Данные)" и щелкните таблицу TodoItems.

вкладка_data

Рисунок 8. Вкладка "[Data] (Данные)".

Здесь можно просматривать данные, вставленные приложением в таблицу.

обзор

Рисунок 9. Просмотр данных.

 

Заключение

В этом кратком обзоре мы рассмотрели, насколько просто добавить возможности Windows Azure в свое приложение без задержек, связанных с написанием и развертыванием сложного серверного проекта и управлением им. Я лишь слегка приоткрыл завесу над тем, что можно сделать с помощью Mobile Services. Вот анонс некоторых других компонентов, которые вы можете использовать.

Подробнее о Mobile Services можно прочитать на сайте https://www.windowsazure.com/mobile.

-- Кирилл Гаврилюк (Kirill Gavrylyuk), ведущий руководитель программы, Windows Azure