Connectez votre application au cloud avec les services mobiles Windows Azure

Les formidables applications du Windows Store sont connectées. Elles utilisent des vignettes dynamiques, identifient les utilisateurs avec l'authentification unique et partagent les données entre appareils et utilisateurs. Pour bénéficier de tous les avantages liés à la connexion, votre application doit utiliser les services du cloud.

Créer des services cloud est difficile. La plupart des plateformes cloud offrent des fonctionnalités d'ordre général pour stocker des données et exécuter du code, mais vous devez créer un volume incalculable de code d'infrastructure pour les faire fonctionner ensemble. Je suis certain que pouvez tout à fait relever le défi, mais je suis prêt à parier que le code d'infrastructure du serveur principal n'est pas votre première priorité. Vous souhaitez avant tout vous concentrer sur la réalisation de votre idée pour élaborer une formidable application.

Pour résoudre cette difficulté, nous avons annoncé il y a quelques jours la version d'aperçu d'un nouveau service dans Windows Azure : les services mobiles. Je vais vous montrer comment ajouter les services cloud dont vous avez besoin dans votre application en quelques minutes, grâce aux services mobiles.

Pour commencer, inscrivez-vous à la version d'évaluation gratuite de Windows Azure. Vous pourrez utiliser gratuitement 10 services mobiles. Utilisons l'un d'entre eux pour créer une application de liste des tâches simple.

Créer un nouveau service mobile

  1. Une fois inscrit, accédez à https://manage.windowsazure.com et connectez-vous avec votre compte Microsoft. Créez un nouveau service mobile en cliquant sur le bouton [+NEW] (+NOUVEAU) au bas du volet de navigation.

    Bouton Nouveau

  2. Sélectionnez [Mobile Service] (Service mobile) et cliquez sur [Create] (Créer). Un écran ressemblant à celui-ci apparaît :

    Service mobile

    Figure 1. Création d'un service mobile dans le portail de gestion.

  3. Dans l'assistant [New Mobile Service] (Nouveau service mobile), donnez un nom à votre application. Il fera partie de l'URL de votre nouveau service.

    Assistant de service mobile

    Figure 2. Assistant de création d'un service mobile, premier écran.

  4. Lorsque vous créez un service mobile Windows Azure, nous l'associons automatiquement à une base de données SQL à l'intérieur de Windows Azure. Le serveur principal du service mobile Windows Azure prend alors en charge de manière intégrée l'activation des applications à distance pour stocker et extraire les données de ces applications en toute sécurité, sans que vous n'ayez à écrire ou déployer de code serveur personnalisé. Tapez le nom de la nouvelle base de données, puis entrez un nom de connexion et un mot de passe pour votre nouveau serveur SQL. N'oubliez pas ces informations d'identification si vous souhaitez réutiliser ce serveur de base de données pour d'autres services mobiles. Si vous vous êtes inscrit à une version d'évaluation gratuite de 90 jours, vous avez droit à une base de données de 1 Go gratuitement.

    Assistant de service mobile 2

Figure 3. Assistant de création d'un service mobile, deuxième écran.

Cliquez sur le bouton représentant une coche de validation pour terminer le processus. En quelques secondes seulement, vous pourrez profiter d'un service mobile : un serveur principal qui vous permet de stocker des données, d'envoyer des notifications de transmission et d'authentifier les utilisateurs. Essayons à partir d'une application.

Créer une nouvelle application du Windows Store

  1. Cliquez sur le nom du service mobile que vous venez de créer.

    Applications du Windows Store

    Figure 4. Service mobile que vous venez de créer.

    Deux possibilités s'offrent à vous : créer une nouvelle application ou connecter une application existante à votre service mobile. Choisissons la première option et créons une liste des tâches simple qui stocke les tâches à accomplir dans votre base de données SQL. Suivez les étapes à l'écran :

    Liste des tâches

    Figure 5. Création d'une application de services mobiles.

  2. Installez le SDK des services mobiles et Visual Studio 2012 si tel n'est pas encore le cas.

  3. Pour stocker les tâches à accomplir, vous devez créer une table. Vous n'avez pas besoin de prédéfinir la structure de votre table. Les services mobiles ajouteront automatiquement les colonnes nécessaires pour stocker vos données.

  4. Sélectionnez ensuite votre langage préféré (C# ou JavaScript) et cliquez sur [Download] (Télécharger). Un projet personnalisé qui a été préconfiguré pour se connecter à votre nouveau service mobile est ainsi téléchargé. Enregistrez le fichier de projet compressé sur votre ordinateur local.

  5. Accédez à l'emplacement dans lequel vous avez enregistré les fichiers de projet compressés, développez les fichiers sur l'ordinateur et ouvrez la solution dans Visual Studio 2012 Express pour Windows 8.

  6. Appuyez sur la touche F5 pour lancer l'application.
    Dans l'application, saisissez une tâche à accomplir dans la zone de texte située à gauche, puis cliquez sur Enregistrer. Cette opération envoie une requête HTTP au nouveau service mobile hébergé dans Windows Azure. Ces données sont ensuite stockées de manière sécurisée dans votre table des tâches à accomplir. Vous recevez un accusé de réception de la part du service mobile et vos données apparaissent dans la liste de droite.

Liste des tâches

Figure 6. Application terminée.

Examinons le code à l'intérieur de l'application qui enregistre vos données. Arrêtez l'application de liste des tâches et double-cliquez sur App.xaml.cs. Remarquez les lignes suivantes :

 public static MobileServiceClient MobileService = new MobileServiceClient(
       "https://todolist.azure-mobile.net/",
       "xPwJLJqYTMsAiBsHBHDhDEamZdtUGw75"
);

Il s'agit du seul code dont vous avez besoin pour connecter votre application à votre service mobile. Si vous connectez une application existante à votre service mobile, vous pouvez copier ce code à partir de l'option de démarrage rapide « Connect your existing app » (Connecter votre application existante). Ouvrez maintenant MainPage.xaml.cs et regardez le code suivant qui insère les données dans le service mobile :

 private IMobileServiceTable<TodoItem> todoTable = App.MobileService.GetTable<TodoItem>();
private async void InsertTodoItem(TodoItem todoItem)
{    
    await todoTable.InsertAsync(todoItem);    
    items.Add(todoItem);  
}

Voilà tout ce qui est nécessaire pour stocker des données dans votre serveur principal sur le cloud. Voici un code équivalent en JavaScript :

 var client = new Microsoft.WindowsAzure.MobileServices.MobileServiceClient(
    "https://todolist.azure-mobile.net/",
    "xPwJLJqYTMsAiBsHBHDhDEamZdtUGw75"
);
var todoTable = client.getTable('TodoItem');

var insertTodoItem = function (todoItem) {
    todoTable.insert(todoItem).done(function (item) {
        todoItems.push(item);
    });
};

Gérer et contrôler votre service mobile

Retournez sur le portail de gestion Windows Azure et sélectionnez l'onglet [Dashboard] (Tableau de bord) pour consulter les informations d'utilisation et de contrôle de votre service mobile en temps réel.

Liste des tâches 2

Figure 7. Tableau de bord des services mobiles.

Sélectionnez l'onglet [Data] (Données), puis cliquez sur la table des tâches à accomplir.

Onglet [Data] (Données)

Figure 8. Onglet [Data] (Données).

Vous pouvez ensuite parcourir les données que l'application a insérées dans la table.

Parcourir

Figure 9. Parcours des données.

 

Conclusion

Dans cette courte présentation, nous avons observé comme il est facile d'ajouter la puissance de Windows Azure à votre application sans avoir à créer, gérer et déployer un projet de serveur principal complexe. Nous avons simplement survolé ce qu'il est possible de faire avec les services mobiles. Voici d'autres fonctionnalités prêtes à être explorées.

Pour en savoir plus sur les services mobiles, consultez le site https://www.windowsazure.com/mobile.

--Kirill Gavrylyuk, chef de projet, Windows Azure