Windows Azure Mobile Service (WAMS) je služba určená pro vytváření backendu pro mobilní aplikace. Služba využívá architekturu REST, což znamená, že je nezávislá na platformě. Aby byl vývoj aplikací co jednodušší, je k dispozici celá řada knihoven pro různé platformy, které zjednodušují vytváření klientské aplikace.
Není bez zajímavosti, že služba WAMS je postavena na Node.js.
Ukládání dat
Data jsou ukládána do standardní Azure SQL databáze, kterou WAMS zpřístupní přes REST rozhraní. U databáze stačí jen vytvořit tabulku, a o vytvoření struktury se automaticky postará služba. Struktura tabulky se vytváří podle objektů, které se do tabulky pokusíte uložit. Automatické generování struktury tabulky lze samozřejmě vypnout.
public class TodoItem
{
public string Id;
public string Text;
public bool Complete;
}
Všimněte si, že název třídy odpovídá názvu tabulky a pro každou veřejnou vlastnost třídy je vytvořeno pole tabulky se stejným názvem.
Ukázka uložení záznamu do tabulky (Android):
import com.microsoft.windowsazure.mobileservices.*;
private MobileServiceClient mClient;
mClient = new MobileServiceClient(
„https://stepanb-unicorn.azure-mobile.net/“,
„gpwatozYphLSRxbIwSHUZB3cOGZils70“,
this
);
TodoItem item = new TodoItem();
item.Text = „Awesome item“;
mClient.getTable(Item.class).insert(item, new TableOperationCallback<Item>() {
public void onCompleted(Item entity, Exception exception, ServiceFilterResponse response) {
if (exception == null) {
// Insert succeeded
} else {
// Insert failed
}
}
});
Autorizace
Pro autorizaci můžete využít různé různé služby jako je Twitter, Facebook, Google, Microsoft Account nebo Active Directory.
Po nastavení WAMS stačí jen přidat kód pro vynucení autorizace v aplikaci.
import com.microsoft.windowsazure.mobileservices.MobileServiceUser;
import com.microsoft.windowsazure.mobileservices.MobileServiceAuthenticationProvider;
import com.microsoft.windowsazure.mobileservices.UserAuthenticationCallback;
private void authenticate() {
// Login using the Google provider.
mClient.login(MobileServiceAuthenticationProvider.Google,
new UserAuthenticationCallback() {
@Override
public void onCompleted(MobileServiceUser user,
Exception exception, ServiceFilterResponse response) {
if (exception == null) {
createAndShowDialog(String.format(
„You are now logged in – %1$2s“,
user.getUserId()), „Success“);
createTable();
} else {
createAndShowDialog(„You must log in. Login Required“, „Error“);
}
}
});
}
U tabulky pak můžete nastavit přístupová práva.
Push notifikace
Podporovány jsou opět všechny hlavní platformy.
Z výše uvedeného je zřejmé, že pomocí Windows Azure Mobile Services můžete velmi snadno vytvořit univerzální backend pro různé mobilní platformy. V případě, že by vás zajímalo více informací k tomuto tématu, najdete je v dokumentaci, nebo se můžete podívat na záznam přednášky o této službě.
Štěpán Bechynský