[AzureCamp 24 Juin 2014] Interactions en "temps réel" pour les applications Web et Mobiles

2,176 views
2,026 views

Published on

[AzureCamp 24 Juin 2014] Interactions en "temps réel" pour les applications Web et Mobiles

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,176
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

[AzureCamp 24 Juin 2014] Interactions en "temps réel" pour les applications Web et Mobiles

  1. 1. Julien CORIOLAND Infinite Square Stéphane GOUDEAU Microsoft France
  2. 2. SPONSORS MICROSOFT AZURE CAMP
  3. 3. Interactions en « temps réel » : Pourquoi faire ? • Tableaux de bord affichant une information « Live » (ex : prix d’une action • Applications collaboratives (ex: Réponse à un « chat ») • Suivi de l’avancement d’une tâche • Application métier répondant à des mises à jour multiples et simultanées • Evènement dans un jeu • Remontée d’alerte et push sur les mobiles • …
  4. 4. Interactions « temps réel » pour le Web • Limites du protocole HTTP • « Half duplex » et sans état • De multiples contournements liés aux usages du Web 2.0 • WebSockets : • Evolution du protocole (IETF) et de l’API (W2C) • Connexion persistante et bidirectionnelle • Pré-requis • Un serveur http piloté par évènement • Etre supporté par le browser et par le serveur • Implémentation via de nombreux frameworks : • Socket.io • SignalR • ... • De multiples possibilités d’hébergement sur Azure : Azure Web Site, Cloud Service PaaS, Cloud Service IaaS, Azure Mobile Service
  5. 5. Node.js + Socket.io • node.js est un framework Open Source événementiel permettant de développer des applications réseau en JavaScript • Tous les requêtes sont asynchrones et s’exécutent sur un seul thread • Utilise le moteur JavaScript V8 de Google et un wrapper C++ optimisé pour gérer les I/O • Environnement extrêmement modulaire: • « socket.io » : • Connexions WebSockets et long polling • Affinité de session requise en multi-nodes sur les scénarios long polling • « IISNode » : node.js hébergé dans IIS • Gestion des processus • Scalabilité sur des serveurs multi-cœurs • …
  6. 6. Browser Web Moteur JavaScript Code client javaScript Framework Client : AngularJS, Knockout, … Microsoft Azure VM, WebRole, Site Web, Mobile Service HTML/JSON WebSockets node.js Moteur JavaScript V8 Code serveur javaScript Modules node.js : Express, Socket.io, …
  7. 7. SignalR • SignalR 2.x est un framework Open Source • Communication asynchrone d'un client (javaScript + jQuery) avec un serveur .Net • Push d’événements serveur vers le navigateur client • Connexion WebSockets et long polling • Deux modèles de programmation • Persistent Connection • API de bas niveau : Sémantique de connexion, reconnexion & déconnection • Broadcast vers tous les clients, groupes or des clients ciblés • Hubs • Fondé sur l’API PersistentConnection • RPC client-serveur *ET* server-client • Génération automatique du proxy client (JavaScript) • Support du Cross-Origin Resource Sharing (CORS) • De multiples possibilités d’hébergement sur Windows : • ASP.NET, OWIN, Self-Host,… • Mécanismes natif de scaleout via différents backplanes
  8. 8. Interactions « temps réel » Mobile • Service Azure Notification Hubs fondé sur Windows Notifications Service • Windows / Windows Phone • iOS, Androïd… • Centralisation des notifications push pour toutes vos applications mobiles • SDK ultra simple pour envoyer des notifications Microsoft Azure APNs WNS App back-end iOS app Windows 8.x / Phone app Android app MPNS GCM Notification Hub
  9. 9. Une revue des flux applicatifs …
  10. 10. Resources techniques • SignalR • www.asp.net/signalr • http://github.com/signalr/signalr • http://www.campusmvp.net/blog/signalr-iv-hubs • Nodejs • http://www.windowsazure.com/en-us/develop/nodejs • https://github.com/WindowsAzure/azure-sdk-for-node • https://npmjs.org/package/azure • https://nodejstools.codeplex.com • Microsoft Azure Notification Hubs • http://azure.microsoft.com/en-us/documentation/services/notification-hubs/ • http://azure.microsoft.com/en-us/documentation/articles/notification-hubs-windows-store- dotnet-get-started/ • Série de blogs « IoT / Real Time » sur notre scénario de démo d’aujourd’hui (à venir) • http://blogs.infinitesquare.com/b/beedoo • http://blogs.msdn.com/b/stephgou
  11. 11. Boostez votre projet cloud! Remportez un Hands- On avec nos spécialistes Azure le 3 juillet Inscrivez-vous sur notre stand!
  12. 12. © 2012 Microsoft Corporation. Tous droits réservés. Microsoft, Windows et les autres noms de produits sont des marques déposées ou des marques commerciales de Microsoft aux États-Unis et/ou dans d'autres pays. Les informations contenues dans ce document sont fournies uniquement à titre indicatif. Elles représentent l'opinion actuelle de Microsoft Corporation sur les points cités à la date de cette présentation. Microsoft s'adapte aux conditions fluctuantes du marché et ce document ne doit pas être interprété comme un engagement de la part de Microsoft ; de plus, Microsoft ne peut pas garantir la véracité de toute information présentée après la date de la présentation. MICROSOFT EXCLUT TOUTE GARANTIE, EXPRESSE, IMPLICITE OU STATUTAIRE, EN CE QUI CONCERNE CETTE PRÉSENTATION.

×