Azure Mobile Services. Parte II de ?. Enlace con el servicio.

Una vez que hemos visto en el post anterior, que es, que nos ofrece y como podemos crear un servicio de Mobile Services, vamos a meternos manos a la obra y a empezar a tirar alguna línea de código que otra.

Lo primero que tenemos que hacer es descargarnos el cliente manejado de Mobile Services para poder operar con el servicio. Para obtener dicho cliente (o lo que es lo mismo, para obtener el SDK de acceso a Mobile Services) podemos ir a la sección de downloads dentro de la web de Windows Azure, concretamente en la url: http://www.windowsazure.com/es-es/downloads/, dentro de la sección de movilidad. Pero quizás la mejor forma es descargarlo a través de Nuget e incluirlo en nuestra solución. Para obtenerlo en Nuget, y encontrarlo de una forma mas fácil y directa, deberemos de buscar: “WindowsAzure.MobileServices”

Nuget

Nota: A través de todos los post de esta serie, intentare crear una aplicación tipo. Dicha aplicación se llamará MyListOfTask. Vamos la típica aplicación de ToDo, al que intentare darle alguna nota diferenciadora. Obviamente, como todos sabéis, lo mío es Windows Phone, por lo que ese será el sistema elegido. No descarto en algún momento hacer lo mismo al menos para Windows Store y para Web.

Una vez instalado, el punto inicial para acceder a nuestro servicio en Mobile Services es instanciar la clase MobileServiceClient, contenida en el namespace Microsoft.WindowsAzure.Mobile. Si hemos incluido Mobile Services a través de Nuget no es necesario, pero si no fuera así, si hubiéramos descargado el SDK por otro método, para poder hacer referencia al namespace Microsoft.WindowsAzure.Mobile deberemos de hacer referencia al ensamblado Microsoft.WindowsAzure.Mobile.dll

Definicion
  1. public MobileServiceClient(string applicationUrl, string applicationKey);

Esto lo podemos hacer de muchas formas, quizás la mas extendida y la mas común de ver en cualquier tipo de proyecto que nos podamos descargar de la red, es instanciar esta clase como una propiedad estática dentro del fichero App.xaml.cs en Windows Phone.

Como veis en la parte superior, para instanciar esa clase es necesario indicar por un lado la url de nuestro servicio (recordáis la dirección con terminación .azure-mobile.net, que hemos indicado al crear el servicio) y la clave de aplicación. La url es fácil de saber o de recordar, pero en nuestra sección del panel de control de Windows Azure perteneciente a nuestro servicio móvil podemos verla. Por otro lado la clave de aplicación, la podemos encontrar en el mismo lugar, en la parte inferior, tras pulsar el botón de “Administrar Claves”

Administer1

Una vez pulsado dicho botón, se nos muestran dos claves. Por un lado la clave de aplicación (la que nos interesa ahora mismo) y por otro lado la clave maestra (de la cual hablaremos en otro momento).

Administer2

Luego nuestra instancia de la clase MobileServiceClient quedaría de la siguiente forma:

MobileServiceClient
  1. public static MobileServiceClient MobileClient = new MobileServiceClient(
  2.     “https://mylistoftasks.azure-mobile.net/”,
  3.     “vgJviKzeFEdJZnn……………..”);

Como ya he comentado esta seria la forma de instanciar la clase necesaria para obtener un punto de entrada a nuestro servicio, o por llamarlo de otra forma, es la forma de crear un cliente de nuestro servicio móvil.

Simplemente con esto, ya tenemos nuestra aplicación enlazada. A partir de ahora deberemos de empezar a usar los servicios y las opciones que Mobile Services nos proporciona. Esto lo comenzare a realizar en las siguientes entradas de esta serie. Para realizarlo, me voy a apoyar en una “clase/servicio” a la que he denominado AzureMobileService. Con su correspondiente interface para usar inyección de dependencias, test unitarios y demás historias que iremos viendo con el tiempo.

Toda la estructura de la aplicación de ejemplo, esta montada en base a la utilización de MVVM, por lo que nuestro proyecto, en su punto embrionario quedaría de la siguiente forma.

Structure

Muchas cosas os pueden sonar raras en el proyecto si no estáis acostumbrados a trabajar con MVVM. No es este el cometido de esta serie de entradas, pero aprovechare para dar un buen repaso a la forma de trabajar con este patrón de diseño.

Nota: Dentro de nuestro proyecto disponemos de una “clase/servicio” para manejar nuestro dispatcher de forma mas cómoda. Se usa la inyección de dependencias a través de AutoFac, y alguna cosilla mas que quizás se me escape.

Nota 2: Si tenemos la intención de crear dos aplicaciones, una para Windows Store y otra para Windows Phone, y queremos crear el mayor numero de código común para ambas plataformas, lo suyo seria apoyarnos en una Portable Class Library. Desde el mes de marzo de este mismo año (si ahora mismo la memoria no me falla), es posible crear y manejar Azure Mobile Services a través de una PCL. El único problema que tenemos es que existen determinadas operaciones que no es posible realizarlas en la PCL y tendríamos que extenderla en cada uno de nuestros proyectos para realizarlo en Windows Store o en Windows Phone directamente. Esa es la razón por la que de momento no lo voy a crear, ya que complicaría la explicación

Seguido de estas líneas, podéis encontrar el enlace para descargaros el código fuente correspondiente a este segundo capitulo de la serie.

Skydrive Folder

Nos vemos!!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *