Accueil Nos publications Blog [Retour] Soirée «Conquérir le monde avec Windows Azure Mobile Services »

[Retour] Soirée «Conquérir le monde avec Windows Azure Mobile Services »

logo windows azure

Le 23 mai dernier s’est tenu dans les locaux de Soat, une soirée technique dont le thème était “Conquérir le monde avec Windows Azure Mobile Services“. Pour l’occasion, les orateurs, Wilfried Woivré – MVP Azure et David Poulin – membre du pôle expert .NET – ont entretenu pendant plus de deux heures un public composé aussi bien de consultants de l’entreprise que de personnes externes à la société. Je vous propose à travers cet article, de revenir sur les points clés exposés durant cette soirée. Les slides présentés pourront compléter ou illustrer davantage le contenu de cet article. De même la vidéo de la soirée sera disponible ici.

Quelques rappels

Pour amener son auditoire à bien comprendre ce dont il allait être question, nos présentateurs ont d’abord tenu à faire quelques rappels sur le portail Windows Azure de manière générale. Mais puisque c’était le thème du jour, ils se sont surtout attardés sur l’un des derniers nés de la famille, à savoir Windows Azure Mobile Services.portail

Ainsi, on retiendra que Windows Azure Mobile Services est un service de Windows Azure (plateforme de Cloud Computing proposée par Microsoft), qui permet à tout développeur de service mobile que ce soit sur Windows Phone 8/Windows 8, IOS, Android, PhoneGap, HTML5/JS de pouvoir bénéficier d’un “backend” prêt à l’emploi !

De manière générale, Windows Azure Mobile Services que j’abrégerai désormais WAMS, est un package qui vous permet de disposer pour votre application de :

– Un service de CRUD

getting_started

La plateforme nous permet en moins d’une minute de créer un “mobile service” dans lequel nous définissons le langage de programmation que nous souhaitons utiliser (C#, Javascritpt, etc…) et la plateforme mobile cible (Windows phone 8, IOS, Android, etc…).

Une fois cette étape réalisée, nous pouvons télécharger un projet Visual Studio de démarrage. Ce template nous fournit déjà un exemple de méthodes pour faire des opération de type CRUD sur un objet exemple TodoItem. Pratique pour gagner en temps !

– Un service de gestion de pushs/notifications

Via un programme écrit en Node.js on peut définir des routines d’envoi de notifications aux terminaux utilisant notre service mobile.

– Un service de gestion d’identité

identitéActuellement, l’intégration avec 4 fournisseurs d’identité est fonctionnelle. Il s’agit de Windows Live ID, Facebook, Tweeter et Google. Vous pouvez donc permettre à vos utilisateurs de s’authentifier dans votre application au moyen d’un de ces fournisseurs, et ceci en une ligne de code ! Cependant, démonstration a été faite qu’on pouvait aussi gérer une authentification personnalisée au moyen d’un système traditionnel de login/mot de passe.

– Un service de planfication de tâches/Scheduler

Le backend propose un scheduler tout prêt. Vous pouvez ainsi par exemple planifier des tâches telles que l’appel à un webservice via une API Rest, en utilisant un script écrit en Node.js.

Utilisation de la plateforme

– Support de stockage

Dans le backend WAMS, plusieurs options sont disponibles pour sauvegarder vos données. Par défaut, et ce dès la création du template du projet de démarrage évoqué plus haut, SQL Azure est la solution utilisée. Cependant, rien ne vous empêche d’utiliser d’autres moyens tels que le Table Storage, sorte de support de stockage à la NoSQL proposé par Windows Azure. A ce propos, Wilfried démontrera plus tard que pour des raisons de coût, cette solution peut être une très bonne alternative !

– Node.js au cœur de l’action

completionVous l’avez certainement déjà remarqué, mais je le rappelle quand même : pour profiter pleinement des fonctionnalités de WAMS, vous devez savoir vous servir de Node.js. Il s’agit du javascript, exécuté coté serveur. Bien qu’on puisse éditer le code Node.js directement depuis son navigateur, Microsoft a pensé à enrichir l’éditeur intégré de fonctionnalités bien sympathiques comme les suggestions syntaxiques pour faciliter l’auto complétion. De même, quelques raccourcis clavier sont déjà disponibles comme le Ctrl+S pour sauvegarder sa saisie. Bref quelques fonctionnalités pour rendre le travail un peu plus convivial !

Ainsi on se servira de Node.js pour pas mal d’autres tâches telles que : la validation côté serveur, exécuter des requêtes SQL, faire des appels REST, etc.

Quelques services externes (envoi de mails/SMS)

Quand on utilise un service de backend comme WAMS, on a souvent besoin de notifier les utilisateurs par le moyen de mails ou de sms. Pour cela, deux services ont été présentés. Il s’agit de SendGrid pour l’envoi de mails et de Twilio pour l’envoi de sms.

Le service SendGrid est ce qu’on appelle un add-on de Windows Azure : c’est une application en mode SAAS (SoftWare As A Service) qui vous permet d’envoyer des mails depuis Windows Azure. Grâce à un abonnement mensuel on peut par exemple envoyer près de 40.000 mails par mois pour moins de 10 dollars. Twilio quant à lui, permet via une API REST d’envoyer des sms à des terminaux mobiles. Le service est payant, et pour moins de 6 centimes, on peut envoyer un sms sur un mobile en France.

Les command line tools

command_line

Le SDK de WAMS permet au développeur d’interagir avec la plateforme par le biais de la ligne de commande. On peut entre autre télécharger en local les scripts Node.js disponibles sur la plateforme, les éditer en local puis les uploader au moyen de lignes de commandes. L’avantage d’un tel système est qu’il peut permettre de “versionner” nos modifications, et bien au-delà, d’automatiser certaines interactions avec la plateforme.

En conclusion

Cette soirée a été très dense, aussi bien par le contenu de la présentation et des démonstrations que par le nombre de questions de l’auditoire. Au bout de deux heures passées ensemble, les speakers sont parvenus à nous présenter l’essentiel du potentiel offert par Windows Azure Mobile Services. Compte tenu de la richesse des fonctionnalités offertes par Windows Azure, il sera certainement bienvenue que d’autres soirées soient organisées autour de Windows Azure, afin de nous permettre de nous approprier progressivement  la puissance de cette plateforme.