Využívanie cloudových služieb v mobilných aplikáciách

Z hľadiska princípu fungovania môžeme mobilné aplikácie rozdeliť na dve základné skupiny

  • Aplikácie fungujúce autonómne – aplikácie sa nepotrebujú pripájať k externým zdrojom údajom, službám ani serverovým aplikáciám.
  • Aplikácie využívajúce cloudové, či mobilné služby, externé databázy, či k middlewarovej aplikačnej vrstve.

Chystáte sa tento príspevok prestať čítať, pretože neplánujete vyvíjať podnikové aplikácie? Zamyslite sa nad triviálnym scenárom. Vytvorili ste hru a chcete aby súčasťou hry bol aj rebríček top skóre najúspešnejších hráčov. Ako by ste bez pripojenia k cloudovým službám, alebo databáze túto funkcionalitu implementovali?

Vzhľadom na rozvoj cloudových platforiem a ich čoraz širšie využívanie väčšina moderných mobilných aplikácií sa v blízkej budúcnosti bez využívania cloudových služieb nezaobíde

Microsoft Azure Mobile Services

Mobilné služby sa využívajú pre špecifický okruh často sa opakujúcich úloh v mobilných aplikáciách, typicky pre ukladanie údajov, autentifikáciu, posielanie notifikácií a podobne. Použitím mobilnej služby si uľahčíte a zrýchlite vývoj, nakoľko funkcionalitu, ktorú presuniete na mobilnú službu by ste museli prácne vytvárať a prevádzkovať ju vo vlastnom, alebo prenajatom serverovom prostredí. Mobilnú službu vytvoríte rýchlo, doslova na niekoľko kliknutí. Mobilné služby môžu využívať aplikácie pre najpoužívanejšie tabletové a mobilné platformy Windows 8 a 8.1, Windows Phone, iOS a Android. Prevádzka mobilnej službu je lacná, na báze mesačných poplatkov. Nároky na správu sú prakticky nulové, nakoľko je prevádzkovaná v cloudovom prostredí platformy Microsoft Azure, takže neriešite prevádzkové aspekty ako sú zálohovanie, monitorovanie, obnova a podobne.

Cenové kalkulácie nájdete na http://azure.microsoft.com/en-us/pricing/calculator/?scenario=mobile
Môžete prevádzkovať až 10 služieb zdarma a zdarma ukladať údaje do objemu 20 MB.

Napríklad 100 MB databáza stojí 5 USD/mesiac

Interaktívny kalkulátor mesačných nákladov za prevádzkovanie mobilných služieb

Cenník (august 2014)

 

Dátové služby

Umožňujú trvalé uloženie aplikačných dát v relačnej cloudovej databáze SQL Azure, prípadne údaje pomocou Custom API môžete uložiť inde vo vlastných zdrojoch údajov. Dátové služby je možné použiť na zdieľanie údajov medzi zariadeniami a to aj naprieč platformami. Typickým príkladom je zdieľanie údajov medzi Windows 8.1, Windows Phone a trebárs iPhone aplikáciami toho istého používateľa.

Ako úložisko slúži databáza SQL Azure. Databáza môže byť zdieľaná až 10-timi mobilnými službami. Konfiguruje sa pri vytváraní mobilnej služby pomocou portálu. Neskôr je možné pripojovací reťazec do databázy zmeniť. Tabuľky sa v databáze vytvárajú taktiež cez portál manuálne. Zadáte názov a prístupové práva.

Ak si sťahujete zo stránky mobilnej služby štartovaciu aplikáciu, tabuľku pre túto aplikáciu vytvoríte tlačidlom zo  stránky služby.

Názov mobilnej služby je zároveň databázová schéma. Ak je názov služby mojahra, tak na tabuľku skore sa dotazujeme SELECT * FROM mojahra.skore.

V tabuľke je automaticky vytvorený stĺpec (atribút) Id typu bigint (64 bitový integer), ktorý slúži ako primárny kľúč. Automaticky sa generuje priamo na serveri.

Názvy stĺpcov tabuliek sú de facto názvami JSON elementov. Stĺpce (atribúty) databázovej tabuľky môžete vytvárať manuálne pomocou nástrojov na správu SQL Azure, prípadne dynamicky. Ak túto možnosť v sekcii dynamic schema povolíte, vytvára si služba atribúty v prípade potreby sama

Konfigurácia SQL Azure databázy využívanej mobilnou službou

Vzťah medzi kódom a JSON formátom je definovaný takto:

  • Názov triedy = názov entity
  • Názov vlastnosti = názov JSON elementu

Túto konvenciu je možné zmeniť pomocou atribútov v kóde

Správa databázy je jednoduchá prostredníctvom portálu. Môžete zobraziť buď návrhovú štruktúru tabuľky, alebo uložené údaje. Používateľské rozhranie portálu umožňuje aj vymazanie konkrétneho riadku, prípadne celej tabuľky, vymazanie atribútu, či vytváranie a vymazávania indexov pre jednotlivé atribúty.

Zobrazenie záznamov uložených v databázovej tabuľke

Zobrazenie návrhovej štruktúry tabuľky

Vytvorenie tabuľky

 

SQL Azure databázu môžete spravovať aj pomocou í SQL Management Studia, kde môžete definovať zložitejšie indexy, relácie medzi tabuľkami, pohľady, uložené procedúry, triggery a podobne.

Pre prístup k údajom z Windows Store aplikácie je potrebné vytvoriť objekt MobileServiceClient

MobileServiceClient client =
    new MobileServiceClient(
        “https://vase-url/”,     
        “xXAeT…kluc…Io91”);

 

Následne je potrebné definovať dátovú triedu (v C#)

public class Uloha
{
    public int Id { get; set; }
    public string Nazov { get; set; }
    public string Popis { get; set; }

public int Priorita { get; set; }
}

 

Kód pre čítanie údajov v C#

var ulohy = client.GetTable<Uloha>();

var urgentneUlohy = await
    ulohy.Where(k => k.Priorita > 5)
    .ToListAsync();

 

Kód pre vloženie záznamu v C#

var u = new Uloha() {
    Nazov = “Ostrihať psa”,
    Popis = “potrebujem pomocníka”};

var ulohy = client.GetTable<Kniha>();
await ulohy.InsertAsync(u);

 

Kód pre vloženie záznamu v Objective C (iOS)

NSDictionary *u= @{
    @”nazov” : @”Ostrihať psa”,
    @”popis” : @”potrebujem pomocníka”};

MSTable *ulohy= [client getTable:@”Uloha”];
[ulohy insert:u];

 

Kód pre vloženie záznamu v jazyku Java na platforme Android

Uloha u = new Uloha();

u.Nazev = “Ostrihať psa”;

u.Autor = “potrebujem pomocníka”;

MobileServiceTable<Uloha> ulohy = client.getTable(Uloha.class);

ulohy.Insert(u);

 

Autentizačné služby

Komunikácia s mobilnou službou prebieha cez rozhranie http a https. Prístup k údajom mobilnej služby získa používateľ až po prihlásení. Autentizačné služby umožňujú jednotné prihlásenie používateľov známou identitou, ktorá je od renomovaných poskytovateľov identít, napríklad Microsoft účet, Facebook účet, Twitter účet, či Google účet…

Postup nastavenia autentizácie je možné rozdeliť do troch krokov

  • Registrácia aplikácie u poskytovateľa identity
  • Získanie ID aplikácie a kľúča pre šifrovanie tokenu
  • Zadanie údajov v správe Mobile Service

Notifikačné služby

Umožňujú doručenie notifikácií na zariadenie. Typickým príkladom sú dynamické dlaždice Windows 8.1 a Windows Phone aplikácií, prípadne takzvané “toast” notifikácie známe nielen z Windows, ale aj z Androidu. Názov toast je odvodený od toho, že oznam vizuálne vyskočí ako hrianka z hriankovača. Notifikačné služby okrem aktualizácie dlaždíc umožňujú aj aktualizáciu údajov bežiacej aplikácie.

Využívajú sa tri typy notifikácií

  • Rýchla správa pre užívateľov “Toast notification” – pre aktuálne oznamy, napríklad o prijatí mailu, dôležitej udalosti a podobne.
  • Aktualizácia stavu aplikácie “Tile notification” – napríklas. aktuálna teplota, počet správ v schránke
  • Správa pre aplikáciu “Raw notification” – správa nie je pre užívateľa, ale pre aplikáciu. Aplikácia musí v danú chvíľu bežať alebo mať registrovaného agenta na pozadí.

Vytvorenie konta na platforme Microsoft Azure

Vstupný bod do platformy je www.windowsazure.com Môžete si vytvoriť skúšobné konto a počas jedného mesiaca máte k dispozícii na vyskúšanie ľubovoľné služby v objeme 150 EUR.

Odkaz Try for Free vás presmeruje na vytvorenie bezplatného vytvorenie skúšobného konta

Vývojári s predplatenou službou MSDN môžu využívať bezplatné konto počas celého trvania predplatného. Objem dostupných prostriedkov závisí od úrovne MSDN, ktoré máte predplatené. Nie je potrebné zadať žiadnu platobnú kartu, pričom aj pri tomto prístupe máte garantovanú nulovú platbu. Ak vyčerpáte pridelené limity, služba bude zvyšok mesiaca obmedzená. Predplatné MSDN získavajú v programe BizSpark aj vývojárske “startupy”, ktoré si tiež môžu aktivovať Azure benefit bez platobnej karty a môžu ho používať dokonca aj na produkčné účely. Vstupný bod do vášho Azure účtu je https://manage.windowsazure.com/

 

V budúcom pokračovaní ukážem vytvorenie Azure Mobile services a využitie mobilnej služby nielen na platforme Windows 8.1 a Windows Phone, ale aj na platformách Android a iOS

Reklamy

Pridaj komentár

Zadajte svoje údaje, alebo kliknite na ikonu pre prihlásenie:

WordPress.com Logo

Na komentovanie používate váš WordPress.com účet. Odhlásiť sa / Zmeniť )

Twitter picture

Na komentovanie používate váš Twitter účet. Odhlásiť sa / Zmeniť )

Facebook photo

Na komentovanie používate váš Facebook účet. Odhlásiť sa / Zmeniť )

Google+ photo

Na komentovanie používate váš Google+ účet. Odhlásiť sa / Zmeniť )

Connecting to %s


%d bloggers like this: