SlideShare une entreprise Scribd logo
1  sur  14
#azurecamp
Node.js
• Node.js est un framework opensource événementiel permettant de
développer des applications réseau en JavaScript
• Créé en 2009 par Ryan Dahl
• Utilise le moteur JavaScript V8 de Google et un wrapper C++
optimisé pour gérer les I/O
• Tous les requêtes sont asynchrones et s’exécutent sur un seul thread
• Construction de services en ligne scalables
– Gestion de la concurrence assurée directement par l'OS
– Exemples de solution utilisant node.js : Yammer, Yahoo!, WalMart, LinkedIn, eBay,…
Modules node.js
• Environnement extrêmement
modulaire
• Exemples de modules :
– “fs”: système de fichier
– “net”: réseau, TCP
– “crypto”: cryptographie

• Support d’un module “http”
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('Hello Worldn');
}).listen(1337, "127.0.0.1");
console.log('Server running at http://127.0.0.1:1337/');
Node.js package manager
• L’outil npm est
inclus dans le
livrable node.js
• Catalogue de
modules :
– http://npmjs.org
– 50270 packages
(8/12/2013)…

connect

Standard middleware
Sinatra like web framework:
routing + templates
Real time communication
over WebSockets/polling

Full-stack MVC (wants to be
like Rails)
NoSQL data storage
In-memory cache
jsdom

Parse/generate HTML on the
server
NODE.JS ET AZURE WEB SITE
Module IISNode : node.js hébergé dans
IIS
• Gestion des processus
• Scalabilité sur des serveurs multicœurs
• Auto-update
• Access aux logs via HTTP
• Intégration avec d’autres types de
contenu
• Très peu d’impact sur le code
node.js
• Supervision dans IIS
• https://github.com/WindowsAzure/
iisnode
Implémentation d’un « Chat » avec node.js

NODE.JS ET AZURE WEB SITE
NODE.JS ET AZURE MOBILE
SERVICES
Windows Azure Mobile Services
• « Back-end as a Service »
pour vos apps mobiles
• Étendre les apps web
internes à des
périphériques mobiles
• Construire et déployer
rapidement des
applications grand public
• Un unique back-end pour
toutes vos apps
• Sur tous les périphériques
Back end « As a Service »
• Gestion de données « code first »
• Couche de service JSON auto-générée
• API REST / SDK pour Win8 / WP8 / IOS / Android /
JavaScript
• Push / Notification
• Unification de l’authentification
• Scheduler
• Gestion de code source avec Git
• …
Support de custom API node.js
• Création et exposition
de Custom APIs
– Implémentées avec Node.js

• Support des packages
NPM :
– Installation dans le référentiel
Git associé au site Web
– Synchronisation des services
mobiles
Custom API et node.js

NODE.JS ET AZURE MOBILE
SERVICES
Nodejs : outils Microsoft
•

Nodejs Developper Center
–

•

http://www.windowsazure.com/enus/develop/nodejs

Libraries for Azure services
–

https://github.com/WindowsAzure/azuresdk-for-node

•

Extension Visual Studio
–

•

https://nodejstools.codeplex.com

CmdLets PowerShell
–

https://github.com/WindowsAzure/azuresdk-tools
© 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.

Contenu connexe

Tendances

Javascript & tools
Javascript & toolsJavascript & tools
Javascript & toolsSlim Soussi
 
Nuxt.js et les applications isomorphiques (Universelles/SSR)
Nuxt.js et les applications isomorphiques (Universelles/SSR)Nuxt.js et les applications isomorphiques (Universelles/SSR)
Nuxt.js et les applications isomorphiques (Universelles/SSR)Joffrey LEVEUGLE
 
2014 applications web sur Azure
2014 applications web sur Azure2014 applications web sur Azure
2014 applications web sur AzureJulien Plée
 
NodeJs, une introduction
NodeJs, une introductionNodeJs, une introduction
NodeJs, une introductionToxicode
 
Aws beanstalk - Pastis Tech 21/11/2019
Aws beanstalk - Pastis Tech 21/11/2019Aws beanstalk - Pastis Tech 21/11/2019
Aws beanstalk - Pastis Tech 21/11/2019Frederic Leger
 
Solutions Linux 2014 – Alter Way : Industrialisation des développements en Ja...
Solutions Linux 2014 – Alter Way : Industrialisation des développements en Ja...Solutions Linux 2014 – Alter Way : Industrialisation des développements en Ja...
Solutions Linux 2014 – Alter Way : Industrialisation des développements en Ja...ALTER WAY
 
Lightning talk: Les Load Balancers HTTP modernes
Lightning talk: Les Load Balancers HTTP modernesLightning talk: Les Load Balancers HTTP modernes
Lightning talk: Les Load Balancers HTTP modernesFrederic Leger
 
Présentation de nodejs
Présentation de nodejsPrésentation de nodejs
Présentation de nodejs13p
 
[RedHat Forum 2019] REX - COMMENT MONTER UNE OFFRE DE CLOUD EN MARQUE BLANCHE...
[RedHat Forum 2019] REX - COMMENT MONTER UNE OFFRE DE CLOUD EN MARQUE BLANCHE...[RedHat Forum 2019] REX - COMMENT MONTER UNE OFFRE DE CLOUD EN MARQUE BLANCHE...
[RedHat Forum 2019] REX - COMMENT MONTER UNE OFFRE DE CLOUD EN MARQUE BLANCHE...Worteks
 
Présentation de WCF
Présentation de WCFPrésentation de WCF
Présentation de WCFRomain Coste
 
Jean-Luc Boucho - Azure DocumentDB - Global Azure Bootcamp 2016 Paris
Jean-Luc Boucho - Azure DocumentDB - Global Azure Bootcamp 2016 Paris Jean-Luc Boucho - Azure DocumentDB - Global Azure Bootcamp 2016 Paris
Jean-Luc Boucho - Azure DocumentDB - Global Azure Bootcamp 2016 Paris AZUG FR
 
Enib cours c.a.i. web - séance #6 : introduction à node js
Enib   cours c.a.i. web - séance #6 : introduction à node jsEnib   cours c.a.i. web - séance #6 : introduction à node js
Enib cours c.a.i. web - séance #6 : introduction à node jsHoracio Gonzalez
 
Meetup DevOps Aix-Marseille - théorie du chaos et architectures résilientes
Meetup DevOps Aix-Marseille - théorie du chaos et architectures résilientesMeetup DevOps Aix-Marseille - théorie du chaos et architectures résilientes
Meetup DevOps Aix-Marseille - théorie du chaos et architectures résilientesFrederic Leger
 
L'architecture MVVM avec KnockoutJS
L'architecture MVVM avec KnockoutJSL'architecture MVVM avec KnockoutJS
L'architecture MVVM avec KnockoutJSDavid Bottiau
 

Tendances (20)

Node.js
Node.jsNode.js
Node.js
 
Javascript & tools
Javascript & toolsJavascript & tools
Javascript & tools
 
Nuxt.js et les applications isomorphiques (Universelles/SSR)
Nuxt.js et les applications isomorphiques (Universelles/SSR)Nuxt.js et les applications isomorphiques (Universelles/SSR)
Nuxt.js et les applications isomorphiques (Universelles/SSR)
 
2014 applications web sur Azure
2014 applications web sur Azure2014 applications web sur Azure
2014 applications web sur Azure
 
MGD Html5 pres fr
MGD Html5 pres frMGD Html5 pres fr
MGD Html5 pres fr
 
NodeJs, une introduction
NodeJs, une introductionNodeJs, une introduction
NodeJs, une introduction
 
Azure containers
Azure containersAzure containers
Azure containers
 
Vert.x 3
Vert.x 3Vert.x 3
Vert.x 3
 
Aws beanstalk - Pastis Tech 21/11/2019
Aws beanstalk - Pastis Tech 21/11/2019Aws beanstalk - Pastis Tech 21/11/2019
Aws beanstalk - Pastis Tech 21/11/2019
 
Solutions Linux 2014 – Alter Way : Industrialisation des développements en Ja...
Solutions Linux 2014 – Alter Way : Industrialisation des développements en Ja...Solutions Linux 2014 – Alter Way : Industrialisation des développements en Ja...
Solutions Linux 2014 – Alter Way : Industrialisation des développements en Ja...
 
Lightning talk: Les Load Balancers HTTP modernes
Lightning talk: Les Load Balancers HTTP modernesLightning talk: Les Load Balancers HTTP modernes
Lightning talk: Les Load Balancers HTTP modernes
 
Vert.x
Vert.xVert.x
Vert.x
 
Présentation de nodejs
Présentation de nodejsPrésentation de nodejs
Présentation de nodejs
 
[RedHat Forum 2019] REX - COMMENT MONTER UNE OFFRE DE CLOUD EN MARQUE BLANCHE...
[RedHat Forum 2019] REX - COMMENT MONTER UNE OFFRE DE CLOUD EN MARQUE BLANCHE...[RedHat Forum 2019] REX - COMMENT MONTER UNE OFFRE DE CLOUD EN MARQUE BLANCHE...
[RedHat Forum 2019] REX - COMMENT MONTER UNE OFFRE DE CLOUD EN MARQUE BLANCHE...
 
Présentation de WCF
Présentation de WCFPrésentation de WCF
Présentation de WCF
 
Zenika MongoDB Tour - REX Amadeus
Zenika MongoDB Tour - REX AmadeusZenika MongoDB Tour - REX Amadeus
Zenika MongoDB Tour - REX Amadeus
 
Jean-Luc Boucho - Azure DocumentDB - Global Azure Bootcamp 2016 Paris
Jean-Luc Boucho - Azure DocumentDB - Global Azure Bootcamp 2016 Paris Jean-Luc Boucho - Azure DocumentDB - Global Azure Bootcamp 2016 Paris
Jean-Luc Boucho - Azure DocumentDB - Global Azure Bootcamp 2016 Paris
 
Enib cours c.a.i. web - séance #6 : introduction à node js
Enib   cours c.a.i. web - séance #6 : introduction à node jsEnib   cours c.a.i. web - séance #6 : introduction à node js
Enib cours c.a.i. web - séance #6 : introduction à node js
 
Meetup DevOps Aix-Marseille - théorie du chaos et architectures résilientes
Meetup DevOps Aix-Marseille - théorie du chaos et architectures résilientesMeetup DevOps Aix-Marseille - théorie du chaos et architectures résilientes
Meetup DevOps Aix-Marseille - théorie du chaos et architectures résilientes
 
L'architecture MVVM avec KnockoutJS
L'architecture MVVM avec KnockoutJSL'architecture MVVM avec KnockoutJS
L'architecture MVVM avec KnockoutJS
 

En vedette

Mongodb introduction
Mongodb introductionMongodb introduction
Mongodb introductioneric German
 
Scalabilité de MongoDB
Scalabilité de MongoDBScalabilité de MongoDB
Scalabilité de MongoDBMongoDB
 
Monitoring d'un compteur EDF avec node.js @bdx.io
Monitoring d'un compteur EDF avec node.js @bdx.ioMonitoring d'un compteur EDF avec node.js @bdx.io
Monitoring d'un compteur EDF avec node.js @bdx.iolaurenthuet
 
Réussir une montée en charge avec MongoDB
Réussir une montée en charge avec MongoDBRéussir une montée en charge avec MongoDB
Réussir une montée en charge avec MongoDB MongoDB
 
Quand utiliser MongoDB … Et quand vous en passer…
Quand utiliser MongoDB	… Et quand vous en passer…Quand utiliser MongoDB	… Et quand vous en passer…
Quand utiliser MongoDB … Et quand vous en passer…MongoDB
 
Node.js et MongoDB: Mongoose
Node.js et MongoDB: MongooseNode.js et MongoDB: Mongoose
Node.js et MongoDB: Mongoosejeromegn
 
Scenario exercise 2014 mid atlantic technical communication conference DDeBoard
Scenario exercise 2014 mid atlantic technical communication conference DDeBoardScenario exercise 2014 mid atlantic technical communication conference DDeBoard
Scenario exercise 2014 mid atlantic technical communication conference DDeBoardddeboard
 
Docker Tours Meetup #1 - Introduction à Docker
Docker Tours Meetup #1 - Introduction à DockerDocker Tours Meetup #1 - Introduction à Docker
Docker Tours Meetup #1 - Introduction à DockerThibaut Marmin
 
MongoDB Java Development - MongoBoston 2010
MongoDB Java Development - MongoBoston 2010MongoDB Java Development - MongoBoston 2010
MongoDB Java Development - MongoBoston 2010Eliot Horowitz
 
Seminario Web MongoDB-Paradigma: Cree aplicaciones más escalables utilizando ...
Seminario Web MongoDB-Paradigma: Cree aplicaciones más escalables utilizando ...Seminario Web MongoDB-Paradigma: Cree aplicaciones más escalables utilizando ...
Seminario Web MongoDB-Paradigma: Cree aplicaciones más escalables utilizando ...MongoDB
 

En vedette (10)

Mongodb introduction
Mongodb introductionMongodb introduction
Mongodb introduction
 
Scalabilité de MongoDB
Scalabilité de MongoDBScalabilité de MongoDB
Scalabilité de MongoDB
 
Monitoring d'un compteur EDF avec node.js @bdx.io
Monitoring d'un compteur EDF avec node.js @bdx.ioMonitoring d'un compteur EDF avec node.js @bdx.io
Monitoring d'un compteur EDF avec node.js @bdx.io
 
Réussir une montée en charge avec MongoDB
Réussir une montée en charge avec MongoDBRéussir une montée en charge avec MongoDB
Réussir une montée en charge avec MongoDB
 
Quand utiliser MongoDB … Et quand vous en passer…
Quand utiliser MongoDB	… Et quand vous en passer…Quand utiliser MongoDB	… Et quand vous en passer…
Quand utiliser MongoDB … Et quand vous en passer…
 
Node.js et MongoDB: Mongoose
Node.js et MongoDB: MongooseNode.js et MongoDB: Mongoose
Node.js et MongoDB: Mongoose
 
Scenario exercise 2014 mid atlantic technical communication conference DDeBoard
Scenario exercise 2014 mid atlantic technical communication conference DDeBoardScenario exercise 2014 mid atlantic technical communication conference DDeBoard
Scenario exercise 2014 mid atlantic technical communication conference DDeBoard
 
Docker Tours Meetup #1 - Introduction à Docker
Docker Tours Meetup #1 - Introduction à DockerDocker Tours Meetup #1 - Introduction à Docker
Docker Tours Meetup #1 - Introduction à Docker
 
MongoDB Java Development - MongoBoston 2010
MongoDB Java Development - MongoBoston 2010MongoDB Java Development - MongoBoston 2010
MongoDB Java Development - MongoBoston 2010
 
Seminario Web MongoDB-Paradigma: Cree aplicaciones más escalables utilizando ...
Seminario Web MongoDB-Paradigma: Cree aplicaciones más escalables utilizando ...Seminario Web MongoDB-Paradigma: Cree aplicaciones más escalables utilizando ...
Seminario Web MongoDB-Paradigma: Cree aplicaciones más escalables utilizando ...
 

Similaire à Node.js dans Windows Azure mobile services et web sites

Node.js dans Azure
Node.js dans AzureNode.js dans Azure
Node.js dans AzureMicrosoft
 
[AzureCamp 24 Juin 2014] Interactions en "temps réel" pour les applications W...
[AzureCamp 24 Juin 2014] Interactions en "temps réel" pour les applications W...[AzureCamp 24 Juin 2014] Interactions en "temps réel" pour les applications W...
[AzureCamp 24 Juin 2014] Interactions en "temps réel" pour les applications W...Microsoft Technet France
 
JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?Microsoft
 
Server Side Javascript in the cloud
Server Side Javascript in the cloudServer Side Javascript in the cloud
Server Side Javascript in the cloudstefounet
 
JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?benjguin
 
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...Microsoft
 
Parisweb - javascript server side - par où commencer ?
Parisweb - javascript server side - par où commencer ?Parisweb - javascript server side - par où commencer ?
Parisweb - javascript server side - par où commencer ?Quentin Adam
 
Introduction à meteor
Introduction à meteorIntroduction à meteor
Introduction à meteorFabian Vilers
 
03 - [ASP.NET Core] Services RESTful et SPA
03 - [ASP.NET Core] Services RESTful et SPA 03 - [ASP.NET Core] Services RESTful et SPA
03 - [ASP.NET Core] Services RESTful et SPA Cellenza
 
Les défis d’une application mobile multi-périphériques avec HTML5
Les défis d’une application mobile multi-périphériques avec HTML5Les défis d’une application mobile multi-périphériques avec HTML5
Les défis d’une application mobile multi-périphériques avec HTML5davrous
 
Architecturez vos applications mobiles avec Azure et Xamarin
Architecturez vos applications mobiles avec Azure et XamarinArchitecturez vos applications mobiles avec Azure et Xamarin
Architecturez vos applications mobiles avec Azure et XamarinThierry Buisson
 
Les plateformes de développement des web services
Les plateformes de développement des web servicesLes plateformes de développement des web services
Les plateformes de développement des web servicesoussemos
 
Automati(sati)on de votre application Azure
Automati(sati)on de votre application AzureAutomati(sati)on de votre application Azure
Automati(sati)on de votre application AzureMarius Zaharia
 
Gab paris 2015 automatisation
Gab paris 2015   automatisationGab paris 2015   automatisation
Gab paris 2015 automatisationAymeric Weinbach
 
Gab2015 Jean-Marie Crommen Docker sur Azure
Gab2015 Jean-Marie Crommen Docker sur AzureGab2015 Jean-Marie Crommen Docker sur Azure
Gab2015 Jean-Marie Crommen Docker sur AzureVincent Thavonekham-Pro
 
Joomla Days 2011 Lyon
Joomla Days 2011 LyonJoomla Days 2011 Lyon
Joomla Days 2011 LyonLeTesteur
 
Gwt oxiane-novae-lr
Gwt oxiane-novae-lrGwt oxiane-novae-lr
Gwt oxiane-novae-lroxmed
 
[GAB2016] Azure et les Microservices - Jean-Luc Boucho
[GAB2016] Azure et les Microservices - Jean-Luc Boucho[GAB2016] Azure et les Microservices - Jean-Luc Boucho
[GAB2016] Azure et les Microservices - Jean-Luc BouchoCellenza
 

Similaire à Node.js dans Windows Azure mobile services et web sites (20)

Node.js dans Azure
Node.js dans AzureNode.js dans Azure
Node.js dans Azure
 
[AzureCamp 24 Juin 2014] Interactions en "temps réel" pour les applications W...
[AzureCamp 24 Juin 2014] Interactions en "temps réel" pour les applications W...[AzureCamp 24 Juin 2014] Interactions en "temps réel" pour les applications W...
[AzureCamp 24 Juin 2014] Interactions en "temps réel" pour les applications W...
 
Support NodeJS avec TypeScript Express MongoDB
Support NodeJS avec TypeScript Express MongoDBSupport NodeJS avec TypeScript Express MongoDB
Support NodeJS avec TypeScript Express MongoDB
 
JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?
 
Server Side Javascript in the cloud
Server Side Javascript in the cloudServer Side Javascript in the cloud
Server Side Javascript in the cloud
 
JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?
 
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
 
Parisweb - javascript server side - par où commencer ?
Parisweb - javascript server side - par où commencer ?Parisweb - javascript server side - par où commencer ?
Parisweb - javascript server side - par où commencer ?
 
Introduction à meteor
Introduction à meteorIntroduction à meteor
Introduction à meteor
 
03 - [ASP.NET Core] Services RESTful et SPA
03 - [ASP.NET Core] Services RESTful et SPA 03 - [ASP.NET Core] Services RESTful et SPA
03 - [ASP.NET Core] Services RESTful et SPA
 
Les défis d’une application mobile multi-périphériques avec HTML5
Les défis d’une application mobile multi-périphériques avec HTML5Les défis d’une application mobile multi-périphériques avec HTML5
Les défis d’une application mobile multi-périphériques avec HTML5
 
Architecturez vos applications mobiles avec Azure et Xamarin
Architecturez vos applications mobiles avec Azure et XamarinArchitecturez vos applications mobiles avec Azure et Xamarin
Architecturez vos applications mobiles avec Azure et Xamarin
 
Les plateformes de développement des web services
Les plateformes de développement des web servicesLes plateformes de développement des web services
Les plateformes de développement des web services
 
Automati(sati)on de votre application Azure
Automati(sati)on de votre application AzureAutomati(sati)on de votre application Azure
Automati(sati)on de votre application Azure
 
Gab paris 2015 automatisation
Gab paris 2015   automatisationGab paris 2015   automatisation
Gab paris 2015 automatisation
 
12-Factor
12-Factor12-Factor
12-Factor
 
Gab2015 Jean-Marie Crommen Docker sur Azure
Gab2015 Jean-Marie Crommen Docker sur AzureGab2015 Jean-Marie Crommen Docker sur Azure
Gab2015 Jean-Marie Crommen Docker sur Azure
 
Joomla Days 2011 Lyon
Joomla Days 2011 LyonJoomla Days 2011 Lyon
Joomla Days 2011 Lyon
 
Gwt oxiane-novae-lr
Gwt oxiane-novae-lrGwt oxiane-novae-lr
Gwt oxiane-novae-lr
 
[GAB2016] Azure et les Microservices - Jean-Luc Boucho
[GAB2016] Azure et les Microservices - Jean-Luc Boucho[GAB2016] Azure et les Microservices - Jean-Luc Boucho
[GAB2016] Azure et les Microservices - Jean-Luc Boucho
 

Plus de Microsoft

Uwp + Xamarin : Du nouveau en terre du milieu
Uwp + Xamarin : Du nouveau en terre du milieuUwp + Xamarin : Du nouveau en terre du milieu
Uwp + Xamarin : Du nouveau en terre du milieuMicrosoft
 
La Blockchain pas à PaaS
La Blockchain pas à PaaSLa Blockchain pas à PaaS
La Blockchain pas à PaaSMicrosoft
 
Tester, Monitorer et Déployer son application mobile
Tester, Monitorer et Déployer son application mobileTester, Monitorer et Déployer son application mobile
Tester, Monitorer et Déployer son application mobileMicrosoft
 
Windows 10, un an après – Nouveautés & Démo
Windows 10, un an après – Nouveautés & Démo Windows 10, un an après – Nouveautés & Démo
Windows 10, un an après – Nouveautés & Démo Microsoft
 
Prenez votre pied avec les bots et cognitive services.
Prenez votre pied avec les bots et cognitive services.Prenez votre pied avec les bots et cognitive services.
Prenez votre pied avec les bots et cognitive services.Microsoft
 
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...Microsoft
 
Créer un bot de A à Z
Créer un bot de A à ZCréer un bot de A à Z
Créer un bot de A à ZMicrosoft
 
Microsoft Composition, pierre angulaire de vos applications ?
Microsoft Composition, pierre angulaire de vos applications ?Microsoft Composition, pierre angulaire de vos applications ?
Microsoft Composition, pierre angulaire de vos applications ?Microsoft
 
Les nouveautés SQL Server 2016
Les nouveautés SQL Server 2016Les nouveautés SQL Server 2016
Les nouveautés SQL Server 2016Microsoft
 
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?Microsoft
 
Administration et supervision depuis le Cloud avec Azure Logs Analytics
Administration et supervision depuis le Cloud avec Azure Logs AnalyticsAdministration et supervision depuis le Cloud avec Azure Logs Analytics
Administration et supervision depuis le Cloud avec Azure Logs AnalyticsMicrosoft
 
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...Microsoft
 
Plan de Reprise d'Activité avec Azure Site Recovery
Plan de Reprise d'Activité avec Azure Site RecoveryPlan de Reprise d'Activité avec Azure Site Recovery
Plan de Reprise d'Activité avec Azure Site RecoveryMicrosoft
 
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...Microsoft
 
Transformation de la représentation : De la VR à la RA, aller & retour.
Transformation de la représentation : De la VR à la RA, aller & retour.Transformation de la représentation : De la VR à la RA, aller & retour.
Transformation de la représentation : De la VR à la RA, aller & retour.Microsoft
 
Introduction à ASP.NET Core
Introduction à ASP.NET CoreIntroduction à ASP.NET Core
Introduction à ASP.NET CoreMicrosoft
 
Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?Microsoft
 
Comment développer sur la console Xbox One avec une application Universal Win...
Comment développer sur la console Xbox One avec une application Universal Win...Comment développer sur la console Xbox One avec une application Universal Win...
Comment développer sur la console Xbox One avec une application Universal Win...Microsoft
 
Azure Service Fabric pour les développeurs
Azure Service Fabric pour les développeursAzure Service Fabric pour les développeurs
Azure Service Fabric pour les développeursMicrosoft
 
Les nouveautés de C# 7
Les nouveautés de C# 7Les nouveautés de C# 7
Les nouveautés de C# 7Microsoft
 

Plus de Microsoft (20)

Uwp + Xamarin : Du nouveau en terre du milieu
Uwp + Xamarin : Du nouveau en terre du milieuUwp + Xamarin : Du nouveau en terre du milieu
Uwp + Xamarin : Du nouveau en terre du milieu
 
La Blockchain pas à PaaS
La Blockchain pas à PaaSLa Blockchain pas à PaaS
La Blockchain pas à PaaS
 
Tester, Monitorer et Déployer son application mobile
Tester, Monitorer et Déployer son application mobileTester, Monitorer et Déployer son application mobile
Tester, Monitorer et Déployer son application mobile
 
Windows 10, un an après – Nouveautés & Démo
Windows 10, un an après – Nouveautés & Démo Windows 10, un an après – Nouveautés & Démo
Windows 10, un an après – Nouveautés & Démo
 
Prenez votre pied avec les bots et cognitive services.
Prenez votre pied avec les bots et cognitive services.Prenez votre pied avec les bots et cognitive services.
Prenez votre pied avec les bots et cognitive services.
 
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
 
Créer un bot de A à Z
Créer un bot de A à ZCréer un bot de A à Z
Créer un bot de A à Z
 
Microsoft Composition, pierre angulaire de vos applications ?
Microsoft Composition, pierre angulaire de vos applications ?Microsoft Composition, pierre angulaire de vos applications ?
Microsoft Composition, pierre angulaire de vos applications ?
 
Les nouveautés SQL Server 2016
Les nouveautés SQL Server 2016Les nouveautés SQL Server 2016
Les nouveautés SQL Server 2016
 
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
 
Administration et supervision depuis le Cloud avec Azure Logs Analytics
Administration et supervision depuis le Cloud avec Azure Logs AnalyticsAdministration et supervision depuis le Cloud avec Azure Logs Analytics
Administration et supervision depuis le Cloud avec Azure Logs Analytics
 
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
 
Plan de Reprise d'Activité avec Azure Site Recovery
Plan de Reprise d'Activité avec Azure Site RecoveryPlan de Reprise d'Activité avec Azure Site Recovery
Plan de Reprise d'Activité avec Azure Site Recovery
 
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
 
Transformation de la représentation : De la VR à la RA, aller & retour.
Transformation de la représentation : De la VR à la RA, aller & retour.Transformation de la représentation : De la VR à la RA, aller & retour.
Transformation de la représentation : De la VR à la RA, aller & retour.
 
Introduction à ASP.NET Core
Introduction à ASP.NET CoreIntroduction à ASP.NET Core
Introduction à ASP.NET Core
 
Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?
 
Comment développer sur la console Xbox One avec une application Universal Win...
Comment développer sur la console Xbox One avec une application Universal Win...Comment développer sur la console Xbox One avec une application Universal Win...
Comment développer sur la console Xbox One avec une application Universal Win...
 
Azure Service Fabric pour les développeurs
Azure Service Fabric pour les développeursAzure Service Fabric pour les développeurs
Azure Service Fabric pour les développeurs
 
Les nouveautés de C# 7
Les nouveautés de C# 7Les nouveautés de C# 7
Les nouveautés de C# 7
 

Node.js dans Windows Azure mobile services et web sites

  • 2. Node.js • Node.js est un framework opensource événementiel permettant de développer des applications réseau en JavaScript • Créé en 2009 par Ryan Dahl • Utilise le moteur JavaScript V8 de Google et un wrapper C++ optimisé pour gérer les I/O • Tous les requêtes sont asynchrones et s’exécutent sur un seul thread • Construction de services en ligne scalables – Gestion de la concurrence assurée directement par l'OS – Exemples de solution utilisant node.js : Yammer, Yahoo!, WalMart, LinkedIn, eBay,…
  • 3. Modules node.js • Environnement extrêmement modulaire • Exemples de modules : – “fs”: système de fichier – “net”: réseau, TCP – “crypto”: cryptographie • Support d’un module “http” var http = require('http'); http.createServer(function (req, res) { res.writeHead(200, { 'Content-Type': 'text/plain' }); res.end('Hello Worldn'); }).listen(1337, "127.0.0.1"); console.log('Server running at http://127.0.0.1:1337/');
  • 4. Node.js package manager • L’outil npm est inclus dans le livrable node.js • Catalogue de modules : – http://npmjs.org – 50270 packages (8/12/2013)… connect Standard middleware Sinatra like web framework: routing + templates Real time communication over WebSockets/polling Full-stack MVC (wants to be like Rails) NoSQL data storage In-memory cache jsdom Parse/generate HTML on the server
  • 5. NODE.JS ET AZURE WEB SITE
  • 6. Module IISNode : node.js hébergé dans IIS • Gestion des processus • Scalabilité sur des serveurs multicœurs • Auto-update • Access aux logs via HTTP • Intégration avec d’autres types de contenu • Très peu d’impact sur le code node.js • Supervision dans IIS • https://github.com/WindowsAzure/ iisnode
  • 7. Implémentation d’un « Chat » avec node.js NODE.JS ET AZURE WEB SITE
  • 8. NODE.JS ET AZURE MOBILE SERVICES
  • 9. Windows Azure Mobile Services • « Back-end as a Service » pour vos apps mobiles • Étendre les apps web internes à des périphériques mobiles • Construire et déployer rapidement des applications grand public • Un unique back-end pour toutes vos apps • Sur tous les périphériques
  • 10. Back end « As a Service » • Gestion de données « code first » • Couche de service JSON auto-générée • API REST / SDK pour Win8 / WP8 / IOS / Android / JavaScript • Push / Notification • Unification de l’authentification • Scheduler • Gestion de code source avec Git • …
  • 11. Support de custom API node.js • Création et exposition de Custom APIs – Implémentées avec Node.js • Support des packages NPM : – Installation dans le référentiel Git associé au site Web – Synchronisation des services mobiles
  • 12. Custom API et node.js NODE.JS ET AZURE MOBILE SERVICES
  • 13. Nodejs : outils Microsoft • Nodejs Developper Center – • http://www.windowsazure.com/enus/develop/nodejs Libraries for Azure services – https://github.com/WindowsAzure/azuresdk-for-node • Extension Visual Studio – • https://nodejstools.codeplex.com CmdLets PowerShell – https://github.com/WindowsAzure/azuresdk-tools
  • 14. © 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.

Notes de l'éditeur

  1. Node s'appuie sur V8, le moteur Javascript de Google utilisé dans Chrome, qui fait partie des moteurs Javascript les plus puissants du marché actuellement. Node va nous permettre de développer très simplement des applications scalables. Comment ? Un petit tour sur le site nous explique son approche : http://nodejs.org/#about. En français et en quelques mots : l'idée est d'utiliser des IO non bloquantes pour gérer toutes les requêtes entrantes, sortantes ainsi que tout le process lié à la requête.Prenons l'exemple du serveur Apache. Chaque requête HTTP entrante se voit allouer un thread. Celui-ci est utilisé pendant toute la durée du traitement de la requête : lecture/écriture en base de données, lecture/écriture dans des fichiers de logs ou autres, exécution de code... Ainsi, si votre code côté serveur fait un accès à la base de données, celui-ci est en attente de la réponse. De plus, durant toute la durée de la requête, le client sera bloqué, en attente de la réponse du serveur.Node et plus globalement les serveurs dits non bloquants (comme Netty ou Deft pour ceux qui tournent sur JVM) adoptent une autre approche. Node n'utilise qu'un seul thread pour gérer les requêtes entrantes. De plus, Node ne propose pas, dans ses API, de fonctions bloquantes. Ainsi, tout notre code est asynchrone. L'avantage immédiat à cela est la simplification à l'extrême de la gestion de la concurrence dans nos applications qui n'est ici plus gérée par le développeur mais directement par l'OS. Concrètement, toutes les fonctions fournies par Node prennent en paramètre un callback. Une fois que la fonction aura terminé son traitement, le callback sera appelé avec le résultat en paramètre et une éventuelle erreur. Ainsi, pendant toute la durée du traitement, le thread sera relâché et pourra être donné à une autre requête pour effectuer un autre traitement. Nous sommes donc face à un système évènementiel. Et Javascript est un très bon choix de langage du fait que l'on peut programmer de manière fonctionnelle avec celui-ci. Les callbacks dans tous les sens, nous connaissons très bien avec des librairies comme jQuery qui nous habituent depuis déjà quelques temps à ce type de développement.Les fonctions fournies par Node prennent en paramètre un callback. Une fois que la fonction aura terminé son traitement, le callback sera appelé avec le résultat en paramètre.Pendant toute la durée du traitement, le thread sera relâché et pourra être donné à une autre requête pour effectuer un autre traitement. Un seul thread = une seule stack allouée en mémoire
  2. node.js process lifetime managementnode.js process scalability across multiple coresSide-by side with other content typesnode-inspector built-in for debugging, logs accessible over HTTPRestart node.js process on app changeDeveloper-friendly errorsTomasz Janczuk isworking on the iisnodeprojectlately. You mightthinkthat Windows and nodedon'tbelongtogether. "That'sjustwrong! What are theythinking? I thought IIS was all about .NET?" Well, youmayrecall I spokeatCodeMash a few years back on IIS7 and PHP and did a screencastshowing how IIS7, PHP and FastCGIcould push manythousands of requests a second. The IIS folks, the Windows folks, the Azure folks, want to make sure everythingrunswell on Windows. Remember, wesellWindows, soit's good if itdoesmanythingswell. ;)Whybothergettingnode to run on IIS? Tomasz saysit best:Some of the advantages of hosting node.js applications in IIS using the iisnode module as opposed to self-hosting node.exe processesinclude:Process management. The iisnode module takes care of lifetime management of node.exe processesmakingit simple to improveoverallreliability. You don’t have to implement infrastructure to start, stop, and monitor the processes. Scalability on multi-core servers. Since node.exe is a single threadedprocess, itonlyscales to one CPU core. The iisnode module allowscreation of multiple node.exe processes per application and load balances the HTTP trafficbetweenthem, thereforeenabling full utilization of a server’s CPU capacitywithoutrequiringadditional infrastructure code from an application developer. Auto-update. The iisnode module ensuresthatwhenever the node.js application isupdated (i.e. the script file has changed), the node.exe processes are recycled. Ongoingrequests are allowed to gracefully finish executionusing the old version of the application, while all new requests are dispatched to the new version of the app. Access to logs over HTTP. The iisnode module providesaccess the output of the node.exe process (e.g. generated by console.log calls) via HTTP. This facilityis key in helpingyoudebug node.js applications deployed to remote servers. Side by sidewithother content types. The iisnode module integrateswith IIS in a waythatallows a single web site to contain a variety of content types. For example, a single site cancontain a node.js application, static HTML and JavaScript files, PHP applications, and ASP.NET applications. This enableschoosing the best tools for the job at hand as well progressive migration of existing applications. Minimal changes to node.js application code. The iisnode module enableshosting of existing HTTP node.js applications withvery minimal changes. Typically all thatisrequiredis to change the listedaddress of the HTTP server to one provided by the iisnode module via the process.env.PORTenvironment variable. Integrated management experience. The issnode module isfullyintegratedwith IIS configuration system and uses the sametools and mechanism as other IIS components for configuration and maintenance. In addition to benefitsspecific to the iisnode module, hosting node.js applications in IIS allows the developer to benefitfrom a range of IIS features, amongthem:port sharing (hosting multiple HTTP applications over port 80) security (HTTPS, authentication and authorization) URL rewriting compression cachingloggingThese are all compelling, but the mostinteresting bit here, in my opinion, isintegration. The iisnode module is a proper IIS module, justlike ASP.NET and PHP. This meansyoucan have a single websitethat has multiple kinds of content. Restatedfromabove:For example, a single site cancontain a node.js application, static HTML and JavaScript files, PHP applications, and ASP.NET applications.Sometimes folks freak out when I sayyoucan have an ASP.NET WebFormsapp and a ASP.NET MVC app in the sameAppPool as a "hybrid." Frankly, Dear Reader, people don'tevenrealize the power and flexibility of IIS. Whenyou plug in something new likenode but runit the wayyourunotherthingsitinherits all the coolness of the outer container, in this case, IIS.
  3. Mobile apps  Another use case is to use the Cloud like a “mother ship” with which mobiles and tablets can hook up for computing resources.  With Windows Azure Mobile Services, you can streamline common development tasks like structuring storage, integrating push notifications and configuring user authentication. Mobile Services fully supports Windows Store, Windows Phone 8, iOS, Android and HTML5 development. Windows Azure Mobile Services makes it faster and easier to build dynamic mobile apps that scale.  Mobile Services streamlines common development tasks like storing data in the cloud, authenticating users, and sending push notifications. We take care of the infrastructure so you can focus on what matters—user experience. -Extend internal web apps to mobile devices: With an increasingly mobile workforce, your employees need to be able to both access and interact with important internal applications from any device.  With Mobile Services, you can extend internal web apps to a variety of mobile devices and enable your workforce to stay connected no matter where they are.  You can deliver that experience even if you have sensitive data that needs to stay on-premises behind a firewall.   -Quickly build and deploy consumer facing apps: Mobile Services supplies the infrastructure you need to stand up a consumer facing mobile app in minutes.  You can also easily work with your favorite APIs like Twilio for adding voice/SMS or SendGrid for sending email to further accelerate development. -Land your app on any platform or device: Mobile Services provides out of the box support for iOS, Android, Windows Store, Windows Phone 8, HTML5, and Windows Phone 7 apps. We give you the choice of developing native apps using the SDK for each platform, mobile web apps that run on any platform, or using Xamarin.iOS and Xamarin.Android to write native apps for iOS and Android in C#. 
  4. Mobile apps  Another use case is to use the Cloud like a “mother ship” with which mobiles and tablets can hook up for computing resources.  With Windows Azure Mobile Services, you can streamline common development tasks like structuring storage, integrating push notifications and configuring user authentication. Mobile Services fully supports Windows Store, Windows Phone 8, iOS, Android and HTML5 development. Windows Azure Mobile Services makes it faster and easier to build dynamic mobile apps that scale.  Mobile Services streamlines common development tasks like storing data in the cloud, authenticating users, and sending push notifications. We take care of the infrastructure so you can focus on what matters—user experience. -Extend internal web apps to mobile devices: With an increasingly mobile workforce, your employees need to be able to both access and interact with important internal applications from any device.  With Mobile Services, you can extend internal web apps to a variety of mobile devices and enable your workforce to stay connected no matter where they are.  You can deliver that experience even if you have sensitive data that needs to stay on-premises behind a firewall.   -Quickly build and deploy consumer facing apps: Mobile Services supplies the infrastructure you need to stand up a consumer facing mobile app in minutes.  You can also easily work with your favorite APIs like Twilio for adding voice/SMS or SendGrid for sending email to further accelerate development. -Land your app on any platform or device: Mobile Services provides out of the box support for iOS, Android, Windows Store, Windows Phone 8, HTML5, and Windows Phone 7 apps. We give you the choice of developing native apps using the SDK for each platform, mobile web apps that run on any platform, or using Xamarin.iOS and Xamarin.Android to write native apps for iOS and Android in C#. 
  5. create and expose Custom APIs fromyour Mobile Service backend, and easilypublishthem to your Mobile clients withouthaving to associatethemwith a data table. This capabilityenables a whole set of new scenarios – including the ability to workwith data sources otherthan SQL Databases (for example: Table Services or MongoDB), broker calls to 3rd party APIs, integratewith Windows Azure Queues or Service Bus, workwith custom non-JSON payloads (e.g. Windows Periodic Notifications), route client requests to services back on-premises (e.g. with the new Windows Azure BizTalk Services), or simplyimplementfunctionalitythatdoesn’t correspond to a databaseoperation.  The custom APIs canbewritten in server-side JavaScript (using Node.js) and can use Node’s NPM packages.  Wewillalsobeadding support for custom APIs writtenusing .NET in the future as well.
  6. npm install azureBlob storageTable storageQueuesService BusService Runtime(more coming)Examples: www.windowsazure.com/en-us/develop/nodejs/