280 likes | 386 Views
Utiliser Azure Mobile Services comme backend pour mon application Modern UI. Sébastien PUTIER Consultant .Net, MCNEXT http://sputier.com. Bastien VINCENT Consultant .Net, MCNEXT. MCNEXT. Spécialiste Microsoft Implanté à Paris et Lyon. Webagency spécialiste
E N D
Utiliser Azure Mobile Services comme backend pour mon application Modern UI Sébastien PUTIER Consultant .Net, MCNEXT http://sputier.com Bastien VINCENT Consultant .Net, MCNEXT
MCNEXT Spécialiste Microsoft Implanté à Paris et Lyon Webagencyspécialiste web et SharePointImplanté à Paris Spécialiste Microsoft Implanté à Genève Spécialiste iPhone / iPad Implanté à Paris
MCNEXT 160 collaborateurs 15 millions de CA +35% de croissance annuelle depuis 2007 Membre du « Microsoft Apps circle » Certifié Gold partner
Agenda Qu’estcequec’est ? 10’ Les doigtsdans le code30’ • Créationd’un Mobile Service • Stockage de données • Authentification des utilisateurs • Notifications «Push» Trucs et astuces 10’ Questions / Réponses 5’
Qu’est-ce que c’est ? Windows Azure Mobile Services
Présentation Des fonctionnalitéssympas • Du stockagedans le cloud • La gestion des notifications “Push” • Uneauthentification des utilisateurssimplifiée • Unepasserellevers le “grand frère” : Windows Azure Un service simple • Un (petit) SDK estfourni par Microsoft : http://bit.ly/R8keSj • Possibilitéd’utiliserdirectement REST pour utiliser le stockage Un service en Preview • Jeune : disponibledepuisAoût 2012 (mais déjà une MAJ majeure !) • Gratuit à configuration minimale
Présentation UtilisablesuriOS! Depuis le 16 Octobre, ilest possible de créer un backend Azure Mobile Service pour une application iOS : • Unepossibilité de cibler beaucoup plus d’utilisateurs avec unecouche services déjà entièrementgérée • Et pleind’Objective-C pour ceuxqui aimentça ! Open Source ! Source du SDK WinRT/.Net & iOSdisponiblesurGitHub : https://github.com/WindowsAzure/azure-mobile-services License Apache
Pourquoil’utiliser ? Des fonctionnalitéscourantes La majorité des applications mobiles utilise le stockage de données et l’authentification… … Et bon nombren’ont pas besoin de plus ! Simplicité Nécessitepeu de configuration et peu de code pour fonctionner: Exemples : Le schéma des tables estdynamique par défaut (maisverrouillable) Il n’est pas nécessaire de coder unepasserelle WCF pour accéder aux données
Pourquoil’utiliser ? Authentification Le service permetd’abstraire le développeur des problématiquesd’authentification et des problèmes de sécuritéliés. A ce jour, 4 fournisseursd’authentificationsontsupportés : • Microsoft (Live) • Facebook • Google • Twitter
Limitations Stockage Le serveur qui reçoit les requêtesest en Node.JS donc : • Les types de données complexes ne sont pas supportés. • Possibilitéd’utiliser les types simples suivants : • Numeriques • Booleens • Chaines de caractères Authentification A ce jour, iln’est pas possible d’intégrer un “custom provider” au service d’authentification
Tarification (pour la preview) Mode “Shared instance” • Vos Mobile Services tournentsur les mêmes machines • Il est possible de créerjusqu’à 10 Services • Chaque service a un quota de 165Mo sortant par jour (l’entrantestillimité) • Et tout ça, gratuitement ! Mode “Reserved instance” • Vos Mobile Services sontrépartis (par utilisateur) selonleur emplacement géographique : les Services en Amérique de l’Ouesttournentsur des machines qui sontréservées à cegroupe • Il est possible de créerjusqu’à100 Services • Seul le traficsortantestfacturé
Les doigtsdans le code Windows Azure Mobile Services
Tables Permissions 4 niveauxd’autorisationssur les tables : • Publique • Uniquement à partir de l’applicationassociée • Uniquement les utilisateursauthentifiés • Uniquement scripts et admins Scripts : des triggers en… Javascript ! • Le serveur qui reçoit les requêtesest en Node.JS • Possibilité de créer des triggers complexes sur les operations CRUD • Envoi de notifications • Mise à jour de données en cascade • Appels de Web Services distants • Logs personnalisés en utilisant la permission “script et admin” • …
Stockage de données • Namespace du SDK : Microsoft.WindowsAzure.MobileServices • Utilisation de la classeMobileServiceClient pour se connecter au service • Utilisation de la classeMobileServiceTable pour requêter la base => Il est extrêmement simple de créer une application connectée à une base de données avec WAMS
Demo Création d’un Mobile Service & Stockage de données
Authentification des utilisateurs Fournisseurd’authentification : Microsoft Account L’authentification des utilisateurs se fait sur des comptes Live La mise en place se fait en 3 étapes • Configuration de Live Connect • Configuration du Mobile Service • Du code Javascript (juste un peu) et .Net (à peine plus) Autresfournisseurs La procédure de mise en place est similaire : Il suffit d’enregistrer son application auprès du fournisseur, de faire un peu de configuration sur le Mobile Service, et de coder !
Demo Authentification des utilisateurs
Notifications «Push» Configuration en 3 étapes • Enregistrerl’applicationsur le Windows Store • Récupérer des infosspécifiques à l’applicationsur le portail Live Connect • Configurerle Mobile Service avec cesinfos • (Accessoirement, vérifierquel’applicationestbien “Toast Capable”) Du code, du code, du code ! • Envoi de la notification à partir du serveuren JavaScript • Code côté client pour récupérer le channel qui vabien, et ainsirecevoir les notifications Un peu de doc pour aider La doc de WNS (dont la liste des methodesutilisables pour l’envoi de notifications) estdisponible à l’adresse : http://bit.ly/WDnf2J
Notifications«autres» SMS Il est possible d’envoyer des SMS via l’envoi de requêtes HTTP à partir de vos scripts Node.JS. Le service estpayant (partenaire de Microsoft : Twilio), mais les clients Azure ont 1000 SMS offerts à leur inscription surhttp://www.twilio.com Email Il est possible d’envoyer des mails via la “classe” SendGrid à partirde vos scripts Node.JS. Le service estpayant (partenaire de Microsoft : SendGrid), mais les clients Azure ontdroit à 25000 mails gratuits par mois. Informations et souscriptions )à l’adressehttp://www.sendgrid.com/azure.html
Demo Notifications
Trucs et astuces Windows Azure Mobile Services
Azure en complément de WAMS Il est possible d’accéderà du stockage Azure à partir du serveur Node.JS grâce au module “azure”. Pourquoi faire ? Vous faites du data-mining avec les Azure Tables et vousvouleznourrirces tables à partir de vos applications baséessur WAMS Vous vousintégrez à un systèmeexistant base sur Azure et vousvoulezutiliser WAMS commepasserelle A vousd’inventer les scenarios ! Exemples de code disponibles sur le Windows Azure Node.js Developer Center : https://www.windowsazure.com/en-us/develop/nodejs/data/
Stockage de données en base Stockagepartield’uneentité Vous ne voulez pas stocker certainespropriétésd’uneclasse ? Utilisez les attributs (bienconnus) [DataMember], [IgnoreDataMember], etc… !
Stockage de données en base Stockage d’un type non supporté Vous voulez stocker unevaleur de type DateTime, enum, ouautre ? Ces types ne sont pas supportés par WAMS, ilfautdonc implementer un IDataMemberJsonConverterqui sérialiseraoudésérialiseravotre objet dansunechaine de caractères. Un attribut [DataMemberJsonConverter] sur la propriété à stocker et hop !
Demo Trucs & Astuces
Q & R Windows Azure Mobile Services
Merci ! Rendez vous sur le stand d’INext !