Мобільні сервіси для ASP.NET розробників



Мобільні сервіси Microsoft Azure надають розробникам готове рішення для реалізації хмарного бекенда в додатку. Тепер мобільні служби Azure повністю підтримують створення серверної логіки з допомогою ASP.NET Web API і представляють відмінний вибір для розробників, які проектують мобільні API за допомогою ASP.NET:

  • Готовий бекенда cнабором SDKдля всіх мобільних платформ. З допомогою мобільних сервісів Azure ви зможете швидко додати повнофункціональний бекенда для ваших iOS, Android, Windows, Windows Phone або HTML додатків, а так само для крос-платформних рішень на базі Xamarin, Sencha і PhoneGap. Ми надаємо клієнтські пакети SDK для кожної з цих платформ, полегшуючи інтеграцію додатків з бэкэндом в хмарі.

  • Першокласний хостингмобільного API.
    Мобільні сервіси побудовані з використанням Web API і ви зможете опублікувати будь-який існуючий контролер Web API в мобільну службу. Основною відмінністю мобільних сервісів від інших обчислювальних середовищ є те, що ми самостійно стежимо за роботою Web API контролерs. І в разі виникнення проблем із середовищем виконання Web API або розширеннями, ми виправляємо це без вашої участі. Ми звертаємося до вас тільки в тому випадку, якщо проблема виявлена в коді контролера.

  • Корисніможливості мобільного бекенда. Вашій Web API коду доступна велика кількість можливостей, що надаються мобільними сервісами. Серед них: мобільні pushпопередження, обмін повідомленнями в реальному часі SignalR, авторизація через соціальні мережі, реалізація офлайн режими роботи програми.

  • З'єднаннядо корпоративних систем. Розробники корпоративних систем, по достоїнству зможуть оцінити можливість авторизації в додатку за допомогою Active Directory і доступ до корпоративних ресурсів, таким як SharePoint і Office 365. Крім того, ми додали механізм, що допомагає реалізувати безшовне з'єднання з локальними ресурсами, не доступні з Інтернету, такими як бази даних і внутрішні веб сервіси.

  • Інтеграція з Visual Studio. Ваша улюблена середа тепер містить спеціальний шаблон проекту і скаффолдинг для мобільних сервісів, і надає підтримку публікації і віддаленої налагодження коду.
Готовий бекенда з набором SDK для всіх мобільних платформ
Приступити до реалізації підтримки мобільних сервісів в Visual Studio дуже легко. Необхідно зайти на портал Microsoft Azure і створити нову мобільну службу. На першій сторінці виберіть .NET в якості серверної частини. Після того, як служба буде створена, перейдіть на вкладку «Quickstart» і скачайте тестовий проект для тієї клієнтської платформи, на якій ви розробляєте.





У тому випадку, якщо ви починаєте роботу в Visual Studio, ви можете створити мобільний сервіс вже після розробки локального проекту, для публікації його в сервіс.



У будь-якому випадку ви отримаєте шаблон проекту Mobile Services .NET. Зверніть увагу, що це звичайний Web API проект, який використовує додаткові NuGet пакети.



Відкрийте файл контролера TodoItemController.cs і вивчіть його зміст. Встановіть точку зупину всередині методу GetAllTodoitems. Цей контролер покаже вам, як працювати з інформацією, використовуючи підтримку Mobile Services .NET:

public class TodoItemController : TableController<TodoItem>
{
protected override void Initialize(HttpControllerContext controllerContext)
{
base.Initialize(controllerContext);
csharp_testContext context = new csharp_testContext();
DomainManager = new EntityDomainManager<TodoItem>(context, Request, Services);
}

// GET tables/TodoItem
public IQueryable<TodoItem> GetAllTodoItems()
{
return Query();
}

// GET tables/TodoItem/48D68C86-6EA6-4C25-AA33-223FC9A27959
public SingleResult<TodoItem> GetTodoItem(string id)
{
return Lookup(id);
}

// PATCH tables/TodoItem/48D68C86-6EA6-4C25-AA33-223FC9A27959
public Task<TodoItem> PatchTodoItem(string id, Delta<TodoItem> patch)
{
return UpdateAsync(id, patch);
}

// POST tables/TodoItem/48D68C86-6EA6-4C25-AA33-223FC9A27959
public async Task<IHttpActionResult> PostTodoItem(TodoItem item)
{
TodoItem current = await InsertAsync(item);
return CreatedAtRoute("Tables", new { id = current.Id }, current);
}

// DELETE tables/TodoItem/48D68C86-6EA6-4C25-AA33-223FC9A27959
public Task DeleteTodoItem(string id)
{
return DeleteAsync(id);
}
}

Зверніть увагу, що всі ключові CRUD методи TodoItem вже визначені. За замовчуванням контролер EntityDomainManager є оболонкою поверх Entity Framework моделі, що забезпечує легкий перехід на використання альтернативного сховища даних:

З підтримкою .NET коду в мобільних сервісах, запуск і налагодження логіки мобільного бекенда доступна локально. Запускаємо сервіс клавішею F5, і на стартовій сторінці сервісу в браузері натискаємо «Try it out».

Підтримка .NET у мобільних сервісах надає автоматичну генерацію довідкової інформації для вашого Web API у вигляді окремої сторінки. Отримати опис реалізації методу можна за допомогою GET tables/ TodoItem. Натисніть на «Try this out», а потім «Send», для виклику методу GetAllTodoItems (), і ви потрапляєте в точку зупину, яку встановили раніше.



Після завершення розробки серверної частини API, ви можете опублікувати свій Web API в мобільний сервіс. Підтримка публікації вбудована в Visual Studio, досить клацнути правою кнопкою миші на проект і вибрати «Publish». Ви можете вибрати наявний мобільний сервіс або створити новий прямо з Visual Studio, без необхідності відвідування порталу Azure.



Ви можете опублікувати будь-яке існуюче WebAPI рішення мобільний сервіс і відразу ж передати його управління та моніторинг в Azure.

Детальніше про підтримку .NET бекенда в мобільних сервісах можна дізнатися з документації:

Першокласний хостинг для мобільного API
Поговоримо трохи про переваги, які отримує розробник при публікації свого API в мобільну службу, адже з іншого боку, існує безліч інших способів розміщення Web API в Azure.

Перерахуємо лише деякі з переваг, які надають мобільні сервіси:

  • Моніторинг і діагностика. Мобільні сервіси забезпечують 99,9%, рівень SLA, заснований на можливостях контролю та моніторингу, створених у Azure для того, щоб подбати про ваш API. В платні послуги входить моніторинг HTTP трафіку і SQL з'єднання, плюс ми сповістимо вас при різкому збільшенні кількості помилок. І це лише доповнення до цілого ряду можливостей, які ви можете використовувати самостійно, зокрема моніторинг кінцевих точок і сповіщення.
  • Автоматичнееоновлення середовища. Ми оновлюємо код платформи щотижня, без необхідності повторного розгортання вашого додатка. Зміни в середовищі виконання мобільних служб або нові функції — всі ці оновлення додадуться до вашим мобільним сервісам без переривання їх роботи.
  • Автоматична ініціалізація хмарних ресурсів. При створенні будь-якої мобільної служби, ми автоматично надаємо і налаштовуємо SQL базу даних і концентратор повідомлень, і перевіряємо налаштування всіх відповідних зв'язків. Так само, за допомогою пари кліків миші, існує можливість швидкого створення запланованих завдань і гібридних сполук в хмарі. Мобільні служби надають швидке з'єднання з усіма необхідними хмарними ресурсами, необхідними для комфортної роботи вашого сервісу.
Корисні можливості мобільного бекенда
Мобільні служби пропонують велику кількість функціоналу для вашого додатки прямо «з коробки».
Наприклад:

  • Готова аутентифікація. Для кожної мобільної служби надається цілий набір хмарних ресурсів і реалізація найбільш поширених сценаріїв аутентифікації. Швидке підключення авторизації з обліковим записом Microsoft, Facebook, Twitter, Google, або з аккаунтом організації за допомогою AAD. Не потрібно бути експертом OAuth, тому що всі необхідні механізми вже готові і зібрані разом, досить уточнити деякі параметри конфігурації, а про решту подбають служби Azure.
    Детальніша інформація доступна за наступною посилання.
  • Масштабовані push повідомлення. Мобільний сервіс завжди оснащений концентратором push повідомлень, що забезпечує доставку великої кількості повідомлень на пристрої всіх основних платформ: Windows, iOS, Android і Kindle. Для того щоб відправити повідомлення мільйонів підключених пристроїв, буде потрібно всього один виклик API. Так само реалізована підтримка тегів для поділу аудиторії та налаштування шаблонів повідомлень для кожної з груп.
    Детальна покрокова інструкція представлена в документ.
  • Offline режим роботи програми. На сьогоднішній день, однією з можливостей, очікуваних користувачами програми стала підтримка роботи з даними в умовах відсутності інтернет з'єднання. Мобільні служби Azure надають вбудовану підтримку офлайн роботи програми і синхронізацію даних для всіх основних платформ, засновану на SQLite.
    Детальну інформацію про цю можливість можна отримати тут.
  • Обмін повідомленнями в реальному часі. Push-повідомлення відмінно працюють для залучення користувачів в вашу програму, але забезпечення масштабованої високої пропускної здатності з низькими затримками для вашого додатки вимагає іншого набору инструментов.Мобильные сервіси забезпечують вбудовану підтримку обміну даними в реальному часі на основі WebSocket і SignalR, надаючи двонаправлену передачу повідомлень у вашому додатку. Служба надається з вбудованою шиною повідомлень для безшовного масштабованого розгортання по мірі того, як ваш додаток зростає. Вона інтегрована з тим же каналом аутентифікації, як і інші ваші сервіси, полегшуючи аутентифікацію і авторизацію користувачів.
    Додаткова інформація доступна за посилання.
Підключення до корпоративних систем
Вибір платформи .NET один із частих сценаріїв корпоративної розробки, так як сімейство .NET мов надає велику кількість актуальних сценаріїв для створення бізнес-додатків:

  • Реєстрація і авторизація з обліковим записом Активний Directory. Для корпоративних додатків дуже важливо мати можливість авторизації з обліковим записом AD. Реалізація цього механізму спрощує керування обліковими записами, а також надає користувачам доступ до хмарними ресурсів, захищених Active Directory, таким як SharePoint Online для служби Office 365.
    Для отримання додаткової інформації по налаштуванню авторизації Active Directory в додатку рекомендуємо вивчити наступний матеріал. Відео — інструкція з налаштування інтегрованого доступу перебуває тут.
  • З'єднаннядо даних усередині корпоративної мережі. У разі, коли корпоративні ресурси, такі як бази даних та веб-сервіси змушені зберігається локально на обладнанні компанії і не можуть бути перенесені в хмару, Microsoft Azure надає можливість доступу до них через мобільні сервіси. Використовуючи функцію «Hybrid connections», яка дозволить передавати трафік в локальній хмара, ви в своєму додатку зможете забезпечити доступ до даних усередині корпоративної мережі.
    Посилання на докладний керівництво і відео-інструкцію.
  • Xamarin SDK. Xamarin надає готовий набір інструментів для створення кроссплатформенних додатків (Windows, Windows Phone, Android і IOS) на C #, реалізуючи один з найбільш продуктивних механізмів створення додатків, в основі якого лежить повторне використання навичок для розробників, знайомих зі стеком Microsoft, на інших платформах. Мобільні сервіси Microsoft Azure надають даний SDK, а так же величезна кількість інших ресурсів, необхідних для створення додатків на Xamarin.
  • Акселератори. Іноді найпростішим способом реалізації сценарію є використання вже готового рішення. Команда Microsoft Azure створила набір «акселераторів», які представляють собою готові до використання програми, що покривають основні вертикальні сценарії деяких наших клієнтів і демонструють використання мобільних сервісів. Ці програми опубліковані у магазині Windows і доступні у вигляді вихідних кодів для завантаження і зміни.
    Детальніша інформація доступна за наступною посилання.
Інтеграція з Visual Studio
На додаток до вже перерахованих функціональності, Visual Studio містить безліч інших корисних інструментів для розробки та налагодження вашого мобільного сервісу. Наприклад вбудований скаффолдинг, що дозволяє створювати контролери таблиць для зберігання реляційних даних), користувальницькі контролери (для побудови довільних API, HTTP) і завдання, що виконуються за розкладом.



Так само Visual Studio надає можливість віддаленого налагодження. Просто клацніть правою кнопкою миші на мобільний сервіс «Solution Explorer і виберіть «Attach Debugger». Для того, щоб скористатися цією функцією переконайтеся, що ви опублікували код в режимі «Debug».



Іншою цікавою можливістю в Solution Explorer є команда «View Logs», що дозволяє переглядати журнали, які заповнюються вашим мобільним сервісом в хмарі, у тому числі з повідомлення про помилки і трасування стека.



Ми сподіваємося, що ви зможете по достоїнству оцінити набір нових функцій і можливостей мобільних служб Microsoft, і рекомендуємо вам спробувати їх у вашому наступному проекті.

Для отримання рекомендацій або зворотного зв'язку скористайтесь Twitter: @theYavor.

Корисні посилання


Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.