Archive for august, 2014

Vytvorenie Azure mobilnej služby (.Net backend)

21. augusta 2014

Novinkou na platforme Azure je podpora .NET backend. V praxi to znamená, že služba na strane servera môže byť vytvorená nielen ako Node.js, ale aj ako ASP.NET Web API aplikácia vytvorená vo Visual Studiu. Taktiež môžete publikovať existujúce Web API do Mobile Services a využiť z Mobile Services služby ako napr. autentifikáciu, či push notifikácie. Mobile Services s .NET “backendom” môžete debugovať lokálne v Visual Studiu, kde služba pobeží v lokálnom IIS Express alebo vzdialene, po nasadení do cloudovej platformy Azure.

Môžete publikovať existujúce ASP.NET Web API do Azure a monitorovať, či spravovať mobilné služby. Môžete taktiež využívať zabudované funkcie, ako napríklad push notifikácie, notifikácie v reálnom čase na báze SignalR, či podnikové sign-on s Azure Active Directory, sociálne autentifikácie, synchronizácia u údajov umožňujúcu aj spojené scenáre. Môžete naplno využiť funkcie webového API rozhrania, napríklad radiče OData a Web API frameworky, napríklad Breeze. Najväčšou výhodou pre vývojárov je možnosť testovania a ladenia mobilných služieb s NET backendom priamo pomocou Visual Studia, keď služba beží lokálne na vašom počítači alebo na diaľku po jej publikovaní do Azure.

ASP.NET SignalR je nová knižnica pre vývojárov ASP.NET, ktorá umožňuje jednoduchý vývoj real-time webových funkcií. SignalR umožňuje obojsmernú komunikáciu medzi serverom a klientom. Servery môžu teraz posielať obsah na pripojených klientov okamžite, akonáhle je k dispozícii. SignalR podporuje Web Sockets, a iné kompatibilné techniky pre staršie prehliadače.

Podporu .NET v službe Mobile Services si môžete odskúšať tak, že pri tvorbe Mobile Service na Azure portále vyberiete “Backend: .NET”. Portál vám vygeneruje Web API projekt pre Visual Studio, ktorý môžete vyvíjať a ladiť lokálne. Nasadenie naspäť do dátového centra vykonáte z Visual Studia, do ktorého si naimportujete “publish profile” z Azure portálu a potvrdíte Publish.

Na vytvorenie mobilnej služby použite webový nástroj Azure Management Portal na adrese https://manage.windowsazure.com V dolnej časti ľavého stĺpca s prehľadom aktuálne využívaných služieb aktivujte položku menu New. Postupne kliknite na voľby ComputeMobile Service a následne aktivujte tlačidlo Create.

Vytvorenie novej mobilnej služby

Môžete vytvoriť databázu pre ukladanie údajov mobilnej služby, prípadne využiť už existujúcu databázu. V tomto príklade využijeme bezplatnú 20 MB SQL databázu, ktorú sme vytvorili v predchádzajúcom príklade, kde sme vytvárali mobilnú službu s JavaScript backendom.

V našom prípade sme vybrali región North Europe. V poli Backend pre tento príklad zvoľte možnosť JavaScript. Alternatívnou voľbou je .NET.

Vytvorenie Mobile Service s .NET backendom

V nasledujúcom dialógu vyberte existujúci databázový server a zadajte prístupové údaje, alebo zvoľte položku New SQL satabase server.

Výber a konfigurácia databázového servera

Po potvrdení sa začne vytvárať mobilná služba, prípadne aj databáza. Po vytvorení sa zobrazí v zozname mobilných služieb Microsoft Azure portálu.

Novovytvorená mobilná služba v zozname

Windows 8.1 – úprava existujúcej aplikácie aby mohla využívať Azure mobilnú službu

18. augusta 2014

Ak chcete doplniť konektivitu už existujúcej aplikácie na mobilnú službu, aktivujte voľbu Connect an existing Windows Store App, kde je popísaný postup. Skúste si to na niektorej aplikácii. Zistíte, že doplniť do existujúcej aplikácie prepojenie na mobilnú službu je pomerne jednoduché.

Vygenerovaný postup a fragmenty kódu, ktoré je potrebné pridať do aplikácie, aby mohla komunikovať s mobilnou službou

Kliknite pravým tlačidlom myši klienta projektu, vyberte možnosť Manage NuGet Packages, vyhľadajte balíček WindowsAzure.MobileServices a pridajte naň odkaz. V súbore App.xaml.cs pridajte referenciu na namespace

using Microsoft.WindowsAzure.MobileServices;

Do súboru pridajte kód

public static MobileServiceClient MobileService = new MobileServiceClient(

https://zoznamuloh.azure-mobile.net/”,

“iHlKtHakccf…zvušok kľúča”

);

Pridajte kód triedy Item

public class Item

{

public string Id { get; set; }

public string Text { get; set; }

}

Pre vloženie záznamu poslúži kód

Item item = new Item { Text = “Pridaná položka” };

await App.MobileService.GetTable<Item>().InsertAsync(item);

Vytvorenie Windows 8.1 aplikácie využívajúcej mobilnú službu

12. augusta 2014

Keď po vytvorení mobilnej služby kliknete na ňu v zozname Mobile Services, zobrazí sa ponuka vytvorenia mobilných aplikácií pre Windows Store, teda pre Windows 8 a 8.1 a taktiež pre mobilné platformy Windows Phone 8, iOS a Android. V ponuke je aj možnosť vytvorenia šablóny aplikácie využívajúcej mobilnú službu pre HTML-JavaScript, Xamarin a PhoneGap.

Ponuka vytvorenia mobilných aplikácií pre rôzne mobilné platformy

V príklade vytvoríme aplikáciu pre Windows 8.1. V riadku Choose a Platform označte položku Windows Store. Zobrazí sa aktualizovaná ponuka

Create a New Windows Store App – vytvorí šablónu projektu aplikácie využívajúcej mobilnú službu

Connect an existing Windows Store App – vygeneruje postup a fragmenty kódu, ktoré je potrebné pridať do aplikácie, aby mohla komunikovať s mobilnou službou.

V prvom príklade aktivujeme voľbu Create a New Windows Store App. Zobrazí sa
postup pre vytvorenie Windows 8.1 aplikácie využívajúcej mobilnú službu. Aplikácia je kompletná, jej súčasťou je aj cvičná databázová tabuľka, takže ju môžete spustiť, preskúmať a prípadne zmodifikovať

Prvý krok dokonca počíta aj s tým, že nemáte nainštalované vývojové prostredie, takže ponúka stiahnutie a inštaláciu Visual Studio 2013 Express for Windows. Ak vývojové prostredie Visual Studio 2013, či už free Expres verziu, alebo niektorú z komerčne dostupných verzií máte, môžete pokračovať druhým krokom. V databáze, ktorú využíva mobilná služba vytvoríte tabuľku. Tabuľka má názov TodoItem a bude slúžiť pre štartovací cvičný projekt, ktorého námetom je evidencia úloh.

Postup vytvorenia aplikácie pre vybranú platformu

V kroku číslo 2. aktivujte tlačidlo CreateTodoItem Table. Za niekoľko sekúnd sa vytvorí cvičná tabuľka. Oznam o jej vytvorení sa zobrazí vpravo od tlačidla. Vytvorenie tabuľky môžete skontrolovať na karte Data. Tabuľka zatiaľ neobsahuje žiadne záznamy.

Tabuľka pre mobilnú službu v zložke Data

Ak budete neskôr aplikáciu rozširovať a budete potrebovať ďalšie tabuľky použite pre ich vytvorenie tlačidlo Create na karte Data.

Kliknutím na položku tabuľky a následne na zložku Columns si môžete prezrieť návrhovú štruktúru tabuľky. Obsahuje stĺpce id, _createdAT, _updatedAt a version.

Štruktúra tabuľky pre mobilnú službu v zložke Columns.

V kroku číslo 3 vyberte programovací jazyk (C#, JavaScript) a kliknite na tlačidlo Download. Týmto postupom stiahnete do vývojárskeho počítača kompletný projekt aplikácie zabalený v ZIP archíve. V našom prípade bude mať archív názov ZoznamUloh.Zip. Po stiahnutí projekt rozbaľte do vhodného adresára.

Spustenie projektu

Projekt, ktorú ste si stiahli z Azure portálu otvorte vo Visual Studiu. Všimnite si, že súčasťou projektu je aj NuGet balíček Microsoft.Windows.Azure.Mobile spolu so súvisiacimi baličkami, medzi ktoré patrí aj Newtonsoft.Json.

Po spustení projektu napíšte do poľa Insert a TodoItem nejaký text a potvrďte ho. Po potvrdení textu sa tento po malej chvíli zobrazí v aplikácii v pravom stĺpci.

Spustenie aplikácie a vloženie prvej položky.

Čo sa stalo na pozadí? Po potvrdení zadaného textu ho aplikácia pošle ako POST mobilnej službe v cloude a tá uloží údaje do tabuľky TodoItem. Po zápise sa údaje vrátia na mobilne zariadenie a zobrazia sa v aplikácii napojenej na mobilnú službu.

Cez Azure Management Portál sa môžete presvedčiť (záložka BROWSE), že vami zadaný text je v tabuľke databázy na ktorú je napojená mobilná služba.

Údaje zadané v aplikácii boli zapísané do tabuľky databázy na ktorú je napojená mobilná služba.

Ak v aplikácii v pravom stĺpci zaškrtnete políčko u splnenej úlohy a zatlačíte tlačidlo Refresh, položka sa prestane zobrazovať. Týmto úkonom ste v tabuľke zmenili hodnotu atribútu complete z false na true.

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

10. augusta 2014

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/&#8221;,     
        “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

Publikovanie Windows Phone 8.1 aplikácie do aplikačného obchodu

3. augusta 2014

Na webovú stránky Windows Phone Store pre publikovanie aplikácie sa najjednoduchšie dostanete z Visual Studia cez menu Project – Store – Upload App Package.

Na úvodnej stránke Windows Phone Store pre publikovanie aplikácie zvolíte, či sa jedná o novú aplikáciu, alebo či ste aplikáciu už niekedy publikovali pod iným názvom.

 

Úvodná stránka Windows Phone Store pre publikovanie aplikácie

Pokračujete nastavením kategórie, podkategórie a ceny, ak chcete aplikáciu predávať, V tomto kroku môžete špecifikovať krajiny v ktorých chcete aplikáciu distribuovať.

Nastavenie kategórie, trhov a ceny

Nasleduje nahratie predtým vytvoreného distribučného balíčka aplikácie, vloženie jej popisu, ktorý sa zobrazí potenciálnym záujemcom vo Windows Phone Store, obrázku dlaždice aplikácie v rozlíšení 300 x 300 pixelov a promo obrázkov

  • Background image 1000 x 800 pixelov
  • Square Icon 358 x 358 pixelov
  • Wide icon 358 x 173 pixelov

Musíte uploadnúť minimálne jeden screenshot. Ak si vyberiete implicitné nastavenie WXGA, screenshot musí byť o rozmeroch 768×1280, alebo 1280 x 768

Keď je všetko hotové, odošlete aplikáciu na schválenie.

Oznam o schválení aplikácie do Windows Phone Store