Azure Mobile Services (1.) – Co to je? (aktualizováno)

Jednou ze speciálních služeb nabízených platfomou Azure je služba Mobile Services (vyzkoušejte zdarma!). Jedná se o službu pro podporu základních funkcí vyžadovaných typickými mobilními aplikacemi bez ohledu na platformu. Jejím hlavním cílem je “ulevit” typickému mobilnímu vývojáři od vývoje složitých serverových funkcí – místo toho se může soustředit na funkci a uživatelské rozhraní svojí mobilní aplikace. Potřebné serverové funkce jsou připravené a pouze se nakonfigurují, není třeba žádná složitá instalace, aktualizace, upgrade, monitorování, zálohování ani další otravné správcovské činnosti.

Nabízené funkce

Mobilní služby nabízejí 3 základní funkce a není jistě náhodou, že i tento seriál bude mít ještě 3 díly Smile. Konkrétně:

1. datové služby – téměř každá aplikace potřebuje ukládat nějaká data. Jednodušší aplikace vystačí s uložením dat na lokálním zařízení (např. vybrané město v aplikaci Počasí), ale často je třeba data sdílet mezi více zařízeními (nejlepší skóre ve hře, rodinný nákupní seznam apod.) anebo je ukládat trvale tak, aby zůstala zachována např. při ztrátě zařízení. Zde vám pomohou právě Mobile Services, které obstarají veškerou infrastrukturu pro uložení dat.

2. autentizační služby – pokud chcete zpřístupňovat data nebo funkce aplikace selektivně v závislosti na uživateli zařízení, musíte uživatele autentizovat. Buď můžete použít nějaké svoje vlastní autenizační údaje – typicky jméno a heslo, které uživatel vzápětí zapomene a založí si jiný. Anebo můžete využít toho, že uživatel již svoji identitu má (Facebook profil, Twitter, LiveID/Microsoft Account, Google ID apod.). Druhá varianta vypadá lákavě, ale je poměrně složitá na implementaci. Mobile Services vše zařídí za vás.

3. notifikační služby – dnešní mobilní aplikace často dostávají aktualizované informace ze serveru – oznámení o vyřízení objednávky, předpověď počasí, počet nových emailů ve schránce apod. Přestože jde o relativně jednoduché funkce, jejich implementace vyžaduje náročné zabezpečení, navíc je na každé platformě jiná. Mobile Services opět zařídí vše za vás.

Podporované platformy

První otázkou, která přijde je: Na jakých platformách lze Mobile Services využít?

Jednoduchá odpověď je: na každé platformě, kde je programově dostupné HTTP(S) pro komunikaci a JSON pro serializaci dat. Což je prakticky každá myslitelná platforma. Málokomu se ale bude chtít ručně kódovat na takto nízké úrovni. Proto jsou k dispozici komfortní knihovny pro využití funkcí Mobile Services na následujících platformách:

  • Windows Store, Windows Phone 7.5, 7.8, 8.0 (verze 7.x pomocí Portable Library)
  • Windows Phone 8
  • iOS – iPhone, iPad apod.
  • Android
  • HTML stránka a JavaScript

Cena

Služby jsou poskytovány na komerční bázi, takže je jistě fér je v tuto chvíli zmínit. Cena se skládá ze tří komponent:

  • Výpočetní výkon – pokud se spokojíte se sdíleným prostředím, kde běží též aplikace ostatních uživatelů, můžete mít v každém datovém centru až 10 mobilních služeb (pro 10 nezávislých aplikací) zdarma. Pokud chcete dedikovaný virtuální server/servery pro vaši aplikaci, budete platit řádově desítky dolarů měsíčně v závislosti na velikosti a počtu virtuálních počítačů.
  • Databáze – veškerá data jsou ukládána v databázi SQL Azure, přičemž se standardně platí měsíční částka podle velikosti databáze. Např. databáze do 100 MB stojí 5 USD měsíčně. V jedné databázi lze ukládat data až pro 10 nezávislých mobilních aplikací.
  • Přenášená data – platí se za síťový provoz směrem z cloudu do mobilního zařízení, a to 0.12 USD za každý 1 GB přenesených dat. Vzhledem k tomu, že typicky se přenáší malé objemy, bude se pravděpodobně jednat o zanedbatelnou položku (pokud vaši službu nebude používat statisíce uživatelů).

Přesnější kalkulaci měsíční ceny naleznete na https://www.windowsazure.com/en-us/pricing/calculator/?scenario=mobile

Zřízení a vyzkoušení služby

Pokud si budete chtít jednotlivé příklady prakticky vyzkoušet, je nejjednodušší zřídit si 90denní testovací verzi. Podrobný návod k jejímu zřízení je zde. Služba ještě není v produkčním režimu, tudíž musíte potvrdit svoje obeznámení s touto skutečností. Postup pro povolení služby najdete zde. Pak už jenom stačí založit novou službu typu Mobile Service pomocí New/Mobile Service/Create:

image

Na první stránce pouze pak stačí zadat DNS jméno vaší budoucí služby, vybrat datové centrum a specifikovat SQL databázi:

image

Buď se můžete připojit k existující databázi (zadáte jméno, uživatele a heslo) anebo můžete vytvořit novou databázi (zde můžete zadat pár věcí navíc, jako je např. collation anebo maximální velikost). Poté stačí počkat cca 1 minutu a vaše mobilní služba včetně databáze je úspěšně založena. Na domovské stránce své služby najdete tutoriály pro využití všech tří funkčních služeb na všech podporovaných platformách (Windows Phone 8/C#, Windows Store/C#, Windows Store/JavaScript, iOS/Objective C).

V dalších dílech se postupně podíváme na jednotlivé nabízené služby – datové (2.díl), autentizační (3.díl) a notifikační (4.díl).

 

Michael