Easy Tables w Azure Mobile Apps

Każda aplikacja potrzebuje tzw. Backend, aby przechowywać dane swoich użytkowników. Nie inaczej jest w aplikacji, którą aktualnie tworzę. Dostępnych tego typu rozwiązań i sposobów implementacji backendu w aplikacjach mobilnych jest wiele. Ja wybieram Azure Mobile Apps, a dokładnie Easy Tables. W tym poście opiszę konfiguracje takiej usługi.

Easy Tables?

Easy Table jest to jedna z nowszych rozwiązań dostępnych w ramach grupy usług zwanych Azure Mobile Apps, które to są częścią Azure App Service. Easy table to po prostu ułatwiony sposób konfiguracji usługi sieciowej do przechowywania danych w chmurze. Więcej na temat Mobile Apps i Azure App Service przeczytasz tutaj.

No ale czemu Easy Tables są takie “easy”. Ponieważ do stworzenia backendu w chmurze potrzebujesz zero kodu. Wszystko można dosłownie “wyklikać” w 15 minut. Nie potrzebujesz osobnego projektu w VS czy co tam jeszcze można wymyślać… Wszystko skonfigurujesz w portalu Azure. Po skończeniu konfiguracji wstawiasz wywołania usługi korzystając z SDK dostępnych w postaci paczek Nugeta. Następnie cieszysz się z możliwości posiadania backendu w zawsze dostępnej skalowalnej bazie danych. Z dodatkowych możliwości jakie oferuje SDK Azure Mobile Apps, to min. łatwa synchronizacja danych z lokalną bazą w przypadku ograniczonej łączności z siecią. O tym w następnym wpisie.

Oczywiście wiadomo, że nie ma nic za darmo. Zabawa z Azure kosztuje, ale chciałbym zauważyć, że jest wiele promocji i darmowych planów np. Dreamspark , czy dostępny darmowy Azure App Service z Visual Studio Esenstials. Nie można też zapomnieć o trialu. Dlatego dla chcących się nauczyć Azure nie powinno być problemu z dostępnością.

Stwórzmy własną usługę Azure Mobile:

(Dodam, że poniżej opisane kroki wykonywane na portalu Azure najlepiej zrobić w przeglądarce Edge lub IE)

  1. Zaloguj się na swoje konto do portalu Azure – http://portal.azure.com
  2. Klik na +New i wybierz Web + Mobile > Mobile App.NewMobileApp
  3. W oknie tworzenia Mobile App podaj nazwę dla twojej usługi oraz wybierz subskrypcję jeżeli masz więcej niż jedną.MobileApp
  4. Następnie trzeba stworzyć lub wybrać istniejącą tzw. Resource Group
  5. Jeszcze pozostał nam App Service Plan/Location. Można użyć domyślny lub stworzyć nowy. Póki co nie musisz się tym za bardzo przejmować. Kliknij “Create” aby zakończyć proces podstawowej konfiguracji usługi.deployment

Sam proces tworzenia usługi zajmie parę minut. Postęp można obserwować w obszarze notyfikacji (górny prawy róg). Kiedy ten proces się zakończy otworzy się okno usługi.

MobileAppDetails

 

Stworzenie tzw. Data Connection do twojej usługi:

Zanim zaczniemy cokolwiek robić z usługą potrzebujemy tzw. Data store. Czyli serwera bazy danych w chmurze.

  1. W Settings kliknij na Data Connections. Otworzy to zakładkę Data Connections. Jako, że nie mamy żadnych połączeń zdefiniowanych, musimy je stworzyć. Kliknij Add data connection.Data Connection
  2. W zakładce Add data connection kliknij na SQL Database > Create a new database, następnie podaj nazwę bazy, wybierz “pricing tier” (free :)) i kliknij na Server. W zakładce serwera podaj jego nazwę i dane administratora (login i hasło). Upewnij się, że checkbox  “Allow azure services to access server” jest zaznaczony. Po podwójnym kliknięciu OK zostanie utworzony serwer razem z bazą danych.DataConnectionCreation
  3. Tak jak poprzednio proces tworzenia serwera zajmie trochę czasu, po jego zakończeniu, sprawdź czy masz zdefiniowane połączenia klikając na Data Connections.

Data Connection Check

Inicjalizacja Easy Tables:

Teraz kiedy mam już stworzoną usługę mobilną razem z bazą danych w chmurze Azure nadszedł czas aby uruchomić tytułowe Easy Tables.

  1. W zakładce Settings naszej usługi kliknij na Easy Tables. Następnie w zakładce Easy Tables zobaczysz która mówi: “Need to configure Easy Tables/Easy APIs – Click here to continue”. Kliknij na tą notyfikację.easyTables
  2. W zakładce Easy Tables, zostanie wykryte, że masz już skonfigurowane połączenie z bazą, więc pozostanie nam tylko inicjalizacja. Kliknij przycisk Initialize App.easyTableinit

Zainicjowanie Easy Table zajmie chwilę, możesz monitorować jej przebieg w obszarze notyfikacji.

Dodanie tabeli do usługi mobilnej:

  1. Z zakładki Settings, wybierz Easy Tables.
  2. Easy Tables, wciśnij przycisk +AddeasyTableAdd
  3. W zakładce Add a Table, podaj nazwę Twojej tabeli i pozostaw domyślne ustawienia dla operacji ustawione na Allow full anonymous access. Trzeba nadmienić, że jest możliwe dodanie autentykacji z pomocą różnych dostawców tożsamości takich jak Facebook, Twitter, Google, Microsoft. Opiszę to w którymś z przyszłych wpisów.AddTable
  4. Kiedy tabela zostanie stworzona po kliknięciu na nią mamy dostęp do szeregu opcji, skupmy się na dodaniu nowych kolumn do tabeli. Kliknij na Manage schema.manageSchema
  5. W zakładce Schema istniejące kolumny są wyświetlone w postaci siatki gdzie widzisz ich nazwę, typ, oraz czy są indeksem. Aby dodać nową kolumnę kliknij przycisk +Add. W zakładce Add a column podaj nazwę kolumny i wybierz rodzaj danych Data type. Po wciśnięciu OK kolumna zostanie dodana. Pamiętaj, aby nazwy kolumn zgadzały się z klasą Twojego modelu w kodzie aplikacji.AddTableCollumn
  6. Po skonfigurowaniu kolumn mamy gotową usługę mobilną, w której możemy przechowywać dane naszej aplikacji, bez napisania kawałka kodu. To są właśnie tytułowe “Easy Table”

W następnym wpisie będzie o tym w jaki sposób wykorzystać wyżej opisaną usługę w tworzonej aplikacji.