SlideShare a Scribd company logo
Welcome to the
Azure Bot Service with node.js
Maurizio Moriconi
@bugman79
Sponsors
Chi Sono?
Cosa è un bot?
Pensiamo ad un bot come
un’applicazione che interagisce con gli
utenti in una maniera conversazionale
(testuale, a menù, vocale).
Azure Bot Service
• Azure -> AI + Machine Learning
• Offre un ambiente integrato progettato appositamente per lo
sviluppo di bot
• Permette di creare, collegare, distribuire e gestire i bot per interagire
con gli utenti ovunque si trovino, dall'app o dal sito Web a Cortana,
Skype, Messenger e molti altri canali
• Basato su Bot Framework
• Gestisce anche la parte di «hosting»
• Permette di avere un analytic del bot
Perché usare
Bot Service?
Linguaggi per lo sviluppo .NET e Node.js.
Usa i tuoi pacchetti preferiti Permette di usare i
pacchetti NuGet e NPM esterni
Template per i Bot Velocizzano lo sviluppo
Sviluppo flessibile. Sviluppo su portale Azure, CI
Supporto multi-channel Skype, Facebook, Teams,
Slack, SMS, e altri
Servizi e strumenti Bot Framework Emulator e
Channel Inspector
Open source. Bot Builder SDK open-source
disponibile su GitHub.
Template predefiniti
https://docs.microsoft.com/en-us/azure/bot-service/bot-service-concept-templates
Basic Creates a bot that uses dialogs to respond to user input.
Form Creates a bot that collects input from a user via a guided
conversation that is created using FormFlow in C# or waterfalls in
Node.js.
Language understanding Creates a bot that uses natural language models (LUIS) to
understand user intent.
QnA Maker Creates a bot that uses the QnA Maker service to answer user's
FAQs.
Proactive Creates a bot that uses Azure Functions to alert users of events.
Supporto multi-channel
https://docs.microsoft.com/en-us/bot-framework/bot-service-manage-channels
Channel Inspector
https://docs.botframework.com/en-us/channel-inspector/channels/Skype/
Bot Framework Emulator
https://github.com/Microsoft/BotFramework-Emulator
Hosting
• App Service plan
• Editing sorgente direttamente su editor in-browser.Web App Bot
• Azure Functions
• Può scalare
• Editing sorgente direttamente su editor in-browser.
Functions Bot
• Punta ad un endpoint esterno (on premise)
• L’endpoint deve comunicare in https
Bot Channels
Registration
Bot Framework
Bot Builder SDK
• Serve per la programmazione dei bots
• Bot Builder SDK for .NET
• Bot Builder SDK for Node.js
DEMO TIME
Concetti chiavi
• Connector
• ConsoleConnector / ChatConnector
• Normalizza i messaggi in modo da essere agnostico rispetto alla piattaforma
• Messages
• Testo / attachments / rich cards / suggested actions
• Dialogs
• Servono per gestire la conversazione
• Actions
• Gestiscono azioni che possono essere richiamate in qualunque momento
• Recognizers
• Gestiscono gli intenti (funzionano anche le espressioni regolari)
• LuisRecognizer: Riconoscimento naturale (usando LUIS)
Salvataggio Stato
• E’ possibile salvare lo stato di un utente, una conversazione o un
dialogo
• Può essere persistente ed essere utilizzato successivamente (bot
proattivi)
• Data storage:
• MemoryStorage
• Cosmos DB
• Table Storage
• Custom
DEMO TIME
Bot su Web
• Skype web control
Usando Direct Line API; tramite chiamate REST o websockets.
• Webchat control
Open Source, basato su ReactJS e Direct Line API
Backchannel
Backchannel: qualche esempio
• La pagina web può mandare dati al bot (es GPS location)
• La pagina web può avvisare il bot se l’utente ha fatto qualcosa (es.
l’utente ha premuto un tasto)
• La pagina web può mandare al bot un token di un utente loggato
• Il bot può comunicare con il web (es. usare le API in js della pagina)
• Il bot può mandare comandi alla pagina web (es. change background
color)
DEMO TIME
Bot su app
• Native mobile app
Usando Direct Line API; tramite chiamate REST o websockets.
• Web-based mobile app
Cordova o simili, su può usare lo stesso webchat control per i siti web
• IoT app
Può comunicare usando Direct Line API, in qualche caso aggiungendo i
Microsoft Cognitive Services per abilitare capacità come
riconoscimento di immagini e parlato.
http://botframework.com
Thanks for listening!
Any
question???

More Related Content

Similar to Azure Bot Service with Node.js

Meetup Azure DevOps
Meetup Azure DevOpsMeetup Azure DevOps
Meetup Azure DevOps
dotnetcode
 
Meetup Azure DevOps
Meetup Azure DevOpsMeetup Azure DevOps
Meetup Azure DevOps
dotnetcode
 
Da A a Bot con un pizzico di Cognitive
Da A a Bot con un pizzico di CognitiveDa A a Bot con un pizzico di Cognitive
Da A a Bot con un pizzico di Cognitive
Alessio Iafrate
 
Qt mobile PySide bindings
Qt mobile PySide bindingsQt mobile PySide bindings
Qt mobile PySide bindings
PyCon Italia
 
Qt Mobile: Sviluppo mobile con Python e Qt Framework
Qt Mobile: Sviluppo mobile con Python e Qt FrameworkQt Mobile: Sviluppo mobile con Python e Qt Framework
Qt Mobile: Sviluppo mobile con Python e Qt FrameworkAndrea Grandi
 
Writing apps for android with .net
Writing apps for android with .net Writing apps for android with .net
Writing apps for android with .net Leonardo Alario
 
Html5
Html5Html5
Smau milano 2012 arena social media davide-senatore
Smau milano 2012   arena social media davide-senatoreSmau milano 2012   arena social media davide-senatore
Smau milano 2012 arena social media davide-senatoreSMAU
 
Introduzione a DotNetNuke
Introduzione a DotNetNukeIntroduzione a DotNetNuke
Introduzione a DotNetNuke
Massimo Bonanni
 
Framework di sviluppo web: introduzione a bootstrap e boostack
Framework di sviluppo web: introduzione a bootstrap e boostackFramework di sviluppo web: introduzione a bootstrap e boostack
Framework di sviluppo web: introduzione a bootstrap e boostack
Stefano Spagnolo
 
Win05 accesso ai dati in win 8
Win05   accesso ai dati in win 8Win05   accesso ai dati in win 8
Win05 accesso ai dati in win 8DotNetCampus
 
.NET Core, ASP.NET Core e Linux per il Mobile
.NET Core, ASP.NET Core e Linux per il Mobile.NET Core, ASP.NET Core e Linux per il Mobile
.NET Core, ASP.NET Core e Linux per il Mobile
Pietro Libro
 
ASP.NET Core Services e Linux per il Mobile - Pietro Libro - Codemotion Rome...
ASP.NET Core Services e Linux per il Mobile  - Pietro Libro - Codemotion Rome...ASP.NET Core Services e Linux per il Mobile  - Pietro Libro - Codemotion Rome...
ASP.NET Core Services e Linux per il Mobile - Pietro Libro - Codemotion Rome...
Codemotion
 
DDive - 8.5.2 Xpages - L'evoluzione continua
DDive - 8.5.2 Xpages - L'evoluzione continuaDDive - 8.5.2 Xpages - L'evoluzione continua
DDive - 8.5.2 Xpages - L'evoluzione continua
Dominopoint - Italian Lotus User Group
 
Costruisci il tuo Sito Web - 1a parte
Costruisci il tuo Sito Web - 1a parteCostruisci il tuo Sito Web - 1a parte
Costruisci il tuo Sito Web - 1a parte
Michele Squillantini
 
Realizzazione di un ChatBot sulla piattaforma Messenger di Facebook per l'inf...
Realizzazione di un ChatBot sulla piattaforma Messenger di Facebook per l'inf...Realizzazione di un ChatBot sulla piattaforma Messenger di Facebook per l'inf...
Realizzazione di un ChatBot sulla piattaforma Messenger di Facebook per l'inf...
Xhoi Kerbizi
 
Dominopoint meet the experts 2015 - XPages
Dominopoint   meet the experts 2015 - XPagesDominopoint   meet the experts 2015 - XPages
Dominopoint meet the experts 2015 - XPages
Dominopoint - Italian Lotus User Group
 
Asp.net web api reloaded
Asp.net web api reloadedAsp.net web api reloaded
Asp.net web api reloadedPietro Libro
 
CAT tool a confronto
CAT tool a confrontoCAT tool a confronto
CAT tool a confronto
Qabiria
 

Similar to Azure Bot Service with Node.js (20)

Meetup Azure DevOps
Meetup Azure DevOpsMeetup Azure DevOps
Meetup Azure DevOps
 
Meetup Azure DevOps
Meetup Azure DevOpsMeetup Azure DevOps
Meetup Azure DevOps
 
Da A a Bot con un pizzico di Cognitive
Da A a Bot con un pizzico di CognitiveDa A a Bot con un pizzico di Cognitive
Da A a Bot con un pizzico di Cognitive
 
Qt mobile PySide bindings
Qt mobile PySide bindingsQt mobile PySide bindings
Qt mobile PySide bindings
 
Qt Mobile: Sviluppo mobile con Python e Qt Framework
Qt Mobile: Sviluppo mobile con Python e Qt FrameworkQt Mobile: Sviluppo mobile con Python e Qt Framework
Qt Mobile: Sviluppo mobile con Python e Qt Framework
 
Writing apps for android with .net
Writing apps for android with .net Writing apps for android with .net
Writing apps for android with .net
 
Html5
Html5Html5
Html5
 
Smau milano 2012 arena social media davide-senatore
Smau milano 2012   arena social media davide-senatoreSmau milano 2012   arena social media davide-senatore
Smau milano 2012 arena social media davide-senatore
 
Introduzione a DotNetNuke
Introduzione a DotNetNukeIntroduzione a DotNetNuke
Introduzione a DotNetNuke
 
Mobile e Smart Client
Mobile e Smart ClientMobile e Smart Client
Mobile e Smart Client
 
Framework di sviluppo web: introduzione a bootstrap e boostack
Framework di sviluppo web: introduzione a bootstrap e boostackFramework di sviluppo web: introduzione a bootstrap e boostack
Framework di sviluppo web: introduzione a bootstrap e boostack
 
Win05 accesso ai dati in win 8
Win05   accesso ai dati in win 8Win05   accesso ai dati in win 8
Win05 accesso ai dati in win 8
 
.NET Core, ASP.NET Core e Linux per il Mobile
.NET Core, ASP.NET Core e Linux per il Mobile.NET Core, ASP.NET Core e Linux per il Mobile
.NET Core, ASP.NET Core e Linux per il Mobile
 
ASP.NET Core Services e Linux per il Mobile - Pietro Libro - Codemotion Rome...
ASP.NET Core Services e Linux per il Mobile  - Pietro Libro - Codemotion Rome...ASP.NET Core Services e Linux per il Mobile  - Pietro Libro - Codemotion Rome...
ASP.NET Core Services e Linux per il Mobile - Pietro Libro - Codemotion Rome...
 
DDive - 8.5.2 Xpages - L'evoluzione continua
DDive - 8.5.2 Xpages - L'evoluzione continuaDDive - 8.5.2 Xpages - L'evoluzione continua
DDive - 8.5.2 Xpages - L'evoluzione continua
 
Costruisci il tuo Sito Web - 1a parte
Costruisci il tuo Sito Web - 1a parteCostruisci il tuo Sito Web - 1a parte
Costruisci il tuo Sito Web - 1a parte
 
Realizzazione di un ChatBot sulla piattaforma Messenger di Facebook per l'inf...
Realizzazione di un ChatBot sulla piattaforma Messenger di Facebook per l'inf...Realizzazione di un ChatBot sulla piattaforma Messenger di Facebook per l'inf...
Realizzazione di un ChatBot sulla piattaforma Messenger di Facebook per l'inf...
 
Dominopoint meet the experts 2015 - XPages
Dominopoint   meet the experts 2015 - XPagesDominopoint   meet the experts 2015 - XPages
Dominopoint meet the experts 2015 - XPages
 
Asp.net web api reloaded
Asp.net web api reloadedAsp.net web api reloaded
Asp.net web api reloaded
 
CAT tool a confronto
CAT tool a confrontoCAT tool a confronto
CAT tool a confronto
 

More from Maurizio Moriconi

Connected & Disconnected Apps with Azure Mobile Apps
Connected & Disconnected Apps with Azure Mobile AppsConnected & Disconnected Apps with Azure Mobile Apps
Connected & Disconnected Apps with Azure Mobile Apps
Maurizio Moriconi
 
Client authentication and authorization
Client authentication and authorizationClient authentication and authorization
Client authentication and authorization
Maurizio Moriconi
 
Backend as a Service: Parse
Backend as a Service: ParseBackend as a Service: Parse
Backend as a Service: Parse
Maurizio Moriconi
 
Cocos2d: creare videogiochi con facilità!
Cocos2d: creare videogiochi con facilità!Cocos2d: creare videogiochi con facilità!
Cocos2d: creare videogiochi con facilità!
Maurizio Moriconi
 
Welcome to the mobile galaxy!
Welcome to the mobile galaxy!Welcome to the mobile galaxy!
Welcome to the mobile galaxy!
Maurizio Moriconi
 
Box2D: Un motore fisico opensource multipiattaforma
Box2D: Un motore fisico opensource multipiattaformaBox2D: Un motore fisico opensource multipiattaforma
Box2D: Un motore fisico opensource multipiattaformaMaurizio Moriconi
 

More from Maurizio Moriconi (7)

Connected & Disconnected Apps with Azure Mobile Apps
Connected & Disconnected Apps with Azure Mobile AppsConnected & Disconnected Apps with Azure Mobile Apps
Connected & Disconnected Apps with Azure Mobile Apps
 
Client authentication and authorization
Client authentication and authorizationClient authentication and authorization
Client authentication and authorization
 
Backend as a Service: Parse
Backend as a Service: ParseBackend as a Service: Parse
Backend as a Service: Parse
 
Cocos2d: creare videogiochi con facilità!
Cocos2d: creare videogiochi con facilità!Cocos2d: creare videogiochi con facilità!
Cocos2d: creare videogiochi con facilità!
 
Gestire i pdf con iOS
Gestire i pdf con iOSGestire i pdf con iOS
Gestire i pdf con iOS
 
Welcome to the mobile galaxy!
Welcome to the mobile galaxy!Welcome to the mobile galaxy!
Welcome to the mobile galaxy!
 
Box2D: Un motore fisico opensource multipiattaforma
Box2D: Un motore fisico opensource multipiattaformaBox2D: Un motore fisico opensource multipiattaforma
Box2D: Un motore fisico opensource multipiattaforma
 

Azure Bot Service with Node.js

  • 2. Azure Bot Service with node.js Maurizio Moriconi @bugman79
  • 5. Cosa è un bot? Pensiamo ad un bot come un’applicazione che interagisce con gli utenti in una maniera conversazionale (testuale, a menù, vocale).
  • 6.
  • 7. Azure Bot Service • Azure -> AI + Machine Learning • Offre un ambiente integrato progettato appositamente per lo sviluppo di bot • Permette di creare, collegare, distribuire e gestire i bot per interagire con gli utenti ovunque si trovino, dall'app o dal sito Web a Cortana, Skype, Messenger e molti altri canali • Basato su Bot Framework • Gestisce anche la parte di «hosting» • Permette di avere un analytic del bot
  • 8. Perché usare Bot Service? Linguaggi per lo sviluppo .NET e Node.js. Usa i tuoi pacchetti preferiti Permette di usare i pacchetti NuGet e NPM esterni Template per i Bot Velocizzano lo sviluppo Sviluppo flessibile. Sviluppo su portale Azure, CI Supporto multi-channel Skype, Facebook, Teams, Slack, SMS, e altri Servizi e strumenti Bot Framework Emulator e Channel Inspector Open source. Bot Builder SDK open-source disponibile su GitHub.
  • 9. Template predefiniti https://docs.microsoft.com/en-us/azure/bot-service/bot-service-concept-templates Basic Creates a bot that uses dialogs to respond to user input. Form Creates a bot that collects input from a user via a guided conversation that is created using FormFlow in C# or waterfalls in Node.js. Language understanding Creates a bot that uses natural language models (LUIS) to understand user intent. QnA Maker Creates a bot that uses the QnA Maker service to answer user's FAQs. Proactive Creates a bot that uses Azure Functions to alert users of events.
  • 13. Hosting • App Service plan • Editing sorgente direttamente su editor in-browser.Web App Bot • Azure Functions • Può scalare • Editing sorgente direttamente su editor in-browser. Functions Bot • Punta ad un endpoint esterno (on premise) • L’endpoint deve comunicare in https Bot Channels Registration
  • 15. Bot Builder SDK • Serve per la programmazione dei bots • Bot Builder SDK for .NET • Bot Builder SDK for Node.js
  • 17. Concetti chiavi • Connector • ConsoleConnector / ChatConnector • Normalizza i messaggi in modo da essere agnostico rispetto alla piattaforma • Messages • Testo / attachments / rich cards / suggested actions • Dialogs • Servono per gestire la conversazione • Actions • Gestiscono azioni che possono essere richiamate in qualunque momento • Recognizers • Gestiscono gli intenti (funzionano anche le espressioni regolari) • LuisRecognizer: Riconoscimento naturale (usando LUIS)
  • 18. Salvataggio Stato • E’ possibile salvare lo stato di un utente, una conversazione o un dialogo • Può essere persistente ed essere utilizzato successivamente (bot proattivi) • Data storage: • MemoryStorage • Cosmos DB • Table Storage • Custom
  • 20. Bot su Web • Skype web control Usando Direct Line API; tramite chiamate REST o websockets. • Webchat control Open Source, basato su ReactJS e Direct Line API
  • 22. Backchannel: qualche esempio • La pagina web può mandare dati al bot (es GPS location) • La pagina web può avvisare il bot se l’utente ha fatto qualcosa (es. l’utente ha premuto un tasto) • La pagina web può mandare al bot un token di un utente loggato • Il bot può comunicare con il web (es. usare le API in js della pagina) • Il bot può mandare comandi alla pagina web (es. change background color)
  • 24. Bot su app • Native mobile app Usando Direct Line API; tramite chiamate REST o websockets. • Web-based mobile app Cordova o simili, su può usare lo stesso webchat control per i siti web • IoT app Può comunicare usando Direct Line API, in qualche caso aggiungendo i Microsoft Cognitive Services per abilitare capacità come riconoscimento di immagini e parlato.