SlideShare a Scribd company logo
Build real-time applications
using SharePoint, Azure
Service Bus and SignalR
Dinusha Kumarasiri
http://dinushaonline.blogspot.com
Dinusha Kumarasiri
• MVP in SharePoint server
• Software Architect focusing on
SharePoint and related
technologies
• Interested in SharePoint,
Office365 and Microsoft Azure
Email : kumarasiri048@gmail.com
Twitter : kumarasiri048
Facebook : dinushak
LinkedIn : dinushak
Contact Details
Agenda
• Evolution of web
• Real time web applications
• ASP.Net SignalR
• SignalR with SharePoint
• Microsoft Azure Service Bus
Evolution of web
• HTTP Protocol
Client
Server
Request
Response
• HTTP is stateless
• Current state is not saved
• New requests from the same users are treated as brand new requests
• HTTP is half duplex
• Either send a request or receive a response. But not at the same time
Evolution of web
• What are the current work arounds for being stateless
• HTTP Cookies, Server side sessions, etc.
• Additional information in HTTP headers
Evolution of web
• Ajax HTTP requests
• Uses XML HttpRequest
• Able to load parts of the web page without loading the entire page
• How can we load data, without any interaction from the end
user?
Real-time web applications
• Set of technologies and practices that enable users to receive
information as it is published
• Instantly receive messages if there are any
• Up to date
• Delivered to any device
Real-time web applications
• Use cases
• Social networking
• Gaming
• Gambling
• Trading
• Monitoring
• Tracking
• Sports events
• Collaborative applications
• Real-time forms
• Sites with messaging
capabilities
Real-time web applications
Consumer
Service to push
messages
Subscribe
Get messages
Events
Real-time web applications
• Technologies to enable real-time web applications
• Polling
• Long Polling
• Forever frame
• Server-Sent Events (SSE)
• WebSockets
Real-time web applications
Polling Long Polling
• Periodically request the server for any
updates
• Client poll the server, but server respond if
there is data to return
• The server holds on the request until timeout
or if it has new data
• Polling and Long Polling
Real-time web applications
• Forever Frame
• Uses a hidden iframe
• The iframe loads another page which has a loop
• HTML5 Server-Sent Events (SSE)
• Create new EventSource object, which opens a connection to server
Real-time web applications
• WebSockets
• Extended HTTP
• But may not be compatible
• Windows 8 + , Server 2012 +
• There may be network security concerns
Real-time web applications
• How to select what technology is best for current scenario
• Should fallback to another technology if primary is not
supported
• Frameworks support to achieve that
SignalR
• Asynchronous signaling library that enables real-time, multi-
user web applications.
• Creates a persistent connection between server and client(s)
• Within ASP.Net stack
• Source code is open and in GitHub
• Available via NuGet
SignalR
• Features
• Libraries for client and server
• Use WebSockets when available, if not fallback to other technologies
• Supported in many platforms
• SignalR Team
• .Net 4.0 +
• WinRT
• Windows Phone 8
• Silverlight 5
• JQuery
• C++
• Community
• IOS Native
• IOS via Mono
• Android via Mono
SignalR
Demo
Install-Package Microsoft.AspNet.SignalR.Samp
SignalR
• Architecture
SignalR
• Preparing the environment
NuGet package
Microsoft.AspNet.SignalR
Server
references
JavaScript
for clients
SignalR
• Preparing the environment
SignalR
• Server side development models
• Persistent connection : IHttpHandler
• Hubs : An abstraction over persistent connection
• Hubs
• Public methods defined in hubs are callable from outside
• Send messages to clients by invoking client-side methods
• Communication is serialized by JSON
SignalR
• Hubs
SignalR
• Clients
SignalR
Demo
SignalR with SharePoint
• Steps
• Create a provider hosted application
• Host the remote web
• Client Web Parts to display
SignalR
Demo
Working with external data
• Scenarios
• Output from LOB systems
• IOT and other external devices
• Production lines
• Communication from multiple sources
Working with external data
• Challenges
• Can lose data
• Data from multiple sources
• Data can be in multiple formats
• Cost
• Availability of infrastructure
• Heavy load in peak times
Azure Service Bus
• What is azure service bus?
• Reliable information delivery service
• It ensures that the information is delivered even both parties are not online in
the same time
• Azure service bus queue
• Sender sends a message to the queue
• A receiver can pickup
• One-way asynchronous communication
Azure Service Bus
• Azure service bus topics
• Filters
• One-way asynchronous communication
Azure Service Bus
• Azure service bus relays
• If your applications need to both send and receive messages
Azure Service Bus
• Real-time web applications with SignalR and Azure Service Bus
Service Bus Topics
SignalR (Server Side)
Hub
Client 1
Client 2
Client 2
Process 1 Process 2
Questions?
PLATINUM
SILVER
THANK YOU TO OUR SPONSORS

More Related Content

What's hot

Toyko azure meetup # 1 azure paa s overview
Toyko azure meetup # 1   azure paa s overviewToyko azure meetup # 1   azure paa s overview
Toyko azure meetup # 1 azure paa s overview
Tokyo Azure Meetup
 
Azure Mobile Services
Azure Mobile ServicesAzure Mobile Services
Azure Mobile Services
Anubhav Ranjan
 
Intro to docker and kubernetes
Intro to docker and kubernetesIntro to docker and kubernetes
Intro to docker and kubernetes
Mohit Chhabra
 
Serverless integrations using Azure Logic Apps (intro)
Serverless integrations using Azure Logic Apps (intro)Serverless integrations using Azure Logic Apps (intro)
Serverless integrations using Azure Logic Apps (intro)
Callon Campbell
 
2 Speed IT powered by Microsoft Azure and Minecraft
2 Speed IT powered by Microsoft Azure and Minecraft2 Speed IT powered by Microsoft Azure and Minecraft
2 Speed IT powered by Microsoft Azure and Minecraft
Sriram Hariharan
 
Azure Logic Apps
Azure Logic AppsAzure Logic Apps
Azure Logic Apps
David Schneider
 
Integrating SaaS application using Microsoft’s Azure App Service Platform
Integrating SaaS application using Microsoft’s Azure App Service PlatformIntegrating SaaS application using Microsoft’s Azure App Service Platform
Integrating SaaS application using Microsoft’s Azure App Service Platform
BizTalk360
 
Azure integration services from the IT Professional perspective
Azure integration services from the IT Professional perspectiveAzure integration services from the IT Professional perspective
Azure integration services from the IT Professional perspective
Alessandro Moura
 
Azure functions
Azure functionsAzure functions
Azure functions
Mohit Chhabra
 
Develop enterprise-ready applications for Microsoft Teams
Develop enterprise-ready applications for Microsoft TeamsDevelop enterprise-ready applications for Microsoft Teams
Develop enterprise-ready applications for Microsoft Teams
Markus Moeller
 
From Data Analysis to Smarter Apps - AWS Summit Tel Aviv 2017
From Data Analysis to Smarter Apps - AWS Summit Tel Aviv 2017From Data Analysis to Smarter Apps - AWS Summit Tel Aviv 2017
From Data Analysis to Smarter Apps - AWS Summit Tel Aviv 2017Amazon Web Services
 
Azure Saturday: External Collaboration With Azure AD B2B
Azure Saturday:  External Collaboration With Azure AD B2BAzure Saturday:  External Collaboration With Azure AD B2B
Azure Saturday: External Collaboration With Azure AD B2B
Sjoukje Zaal
 
Azure Functions VS AWS Lambda: overview and comparison
Azure Functions VS AWS Lambda: overview and comparisonAzure Functions VS AWS Lambda: overview and comparison
Azure Functions VS AWS Lambda: overview and comparison
Alex Zyl
 
Exception Management patterns in Logic Apps
Exception Management patterns in Logic AppsException Management patterns in Logic Apps
Exception Management patterns in Logic Apps
BizTalk360
 
Serverless Architecture - Azure Logic apps
Serverless Architecture - Azure Logic appsServerless Architecture - Azure Logic apps
Serverless Architecture - Azure Logic apps
Puneet Ghanshani
 
Getting started with Azure Cognitive services
Getting started with Azure Cognitive servicesGetting started with Azure Cognitive services
Getting started with Azure Cognitive services
Rick van den Bosch
 
Cloud Dev with Azure Functions - DogFoodCon 2018 - Brian T Jackett
Cloud Dev with Azure Functions - DogFoodCon 2018 - Brian T JackettCloud Dev with Azure Functions - DogFoodCon 2018 - Brian T Jackett
Cloud Dev with Azure Functions - DogFoodCon 2018 - Brian T Jackett
Brian T. Jackett
 
Serverless beyond AWS Lambda
Serverless beyond AWS LambdaServerless beyond AWS Lambda
Serverless beyond AWS Lambda
Ben Kehoe
 
AAD with MVC App
AAD with MVC AppAAD with MVC App
AAD with MVC App
Sasha Rosenbaum
 
Azure App Service Deep Dive
Azure App Service Deep DiveAzure App Service Deep Dive
Azure App Service Deep Dive
Azure Riyadh User Group
 

What's hot (20)

Toyko azure meetup # 1 azure paa s overview
Toyko azure meetup # 1   azure paa s overviewToyko azure meetup # 1   azure paa s overview
Toyko azure meetup # 1 azure paa s overview
 
Azure Mobile Services
Azure Mobile ServicesAzure Mobile Services
Azure Mobile Services
 
Intro to docker and kubernetes
Intro to docker and kubernetesIntro to docker and kubernetes
Intro to docker and kubernetes
 
Serverless integrations using Azure Logic Apps (intro)
Serverless integrations using Azure Logic Apps (intro)Serverless integrations using Azure Logic Apps (intro)
Serverless integrations using Azure Logic Apps (intro)
 
2 Speed IT powered by Microsoft Azure and Minecraft
2 Speed IT powered by Microsoft Azure and Minecraft2 Speed IT powered by Microsoft Azure and Minecraft
2 Speed IT powered by Microsoft Azure and Minecraft
 
Azure Logic Apps
Azure Logic AppsAzure Logic Apps
Azure Logic Apps
 
Integrating SaaS application using Microsoft’s Azure App Service Platform
Integrating SaaS application using Microsoft’s Azure App Service PlatformIntegrating SaaS application using Microsoft’s Azure App Service Platform
Integrating SaaS application using Microsoft’s Azure App Service Platform
 
Azure integration services from the IT Professional perspective
Azure integration services from the IT Professional perspectiveAzure integration services from the IT Professional perspective
Azure integration services from the IT Professional perspective
 
Azure functions
Azure functionsAzure functions
Azure functions
 
Develop enterprise-ready applications for Microsoft Teams
Develop enterprise-ready applications for Microsoft TeamsDevelop enterprise-ready applications for Microsoft Teams
Develop enterprise-ready applications for Microsoft Teams
 
From Data Analysis to Smarter Apps - AWS Summit Tel Aviv 2017
From Data Analysis to Smarter Apps - AWS Summit Tel Aviv 2017From Data Analysis to Smarter Apps - AWS Summit Tel Aviv 2017
From Data Analysis to Smarter Apps - AWS Summit Tel Aviv 2017
 
Azure Saturday: External Collaboration With Azure AD B2B
Azure Saturday:  External Collaboration With Azure AD B2BAzure Saturday:  External Collaboration With Azure AD B2B
Azure Saturday: External Collaboration With Azure AD B2B
 
Azure Functions VS AWS Lambda: overview and comparison
Azure Functions VS AWS Lambda: overview and comparisonAzure Functions VS AWS Lambda: overview and comparison
Azure Functions VS AWS Lambda: overview and comparison
 
Exception Management patterns in Logic Apps
Exception Management patterns in Logic AppsException Management patterns in Logic Apps
Exception Management patterns in Logic Apps
 
Serverless Architecture - Azure Logic apps
Serverless Architecture - Azure Logic appsServerless Architecture - Azure Logic apps
Serverless Architecture - Azure Logic apps
 
Getting started with Azure Cognitive services
Getting started with Azure Cognitive servicesGetting started with Azure Cognitive services
Getting started with Azure Cognitive services
 
Cloud Dev with Azure Functions - DogFoodCon 2018 - Brian T Jackett
Cloud Dev with Azure Functions - DogFoodCon 2018 - Brian T JackettCloud Dev with Azure Functions - DogFoodCon 2018 - Brian T Jackett
Cloud Dev with Azure Functions - DogFoodCon 2018 - Brian T Jackett
 
Serverless beyond AWS Lambda
Serverless beyond AWS LambdaServerless beyond AWS Lambda
Serverless beyond AWS Lambda
 
AAD with MVC App
AAD with MVC AppAAD with MVC App
AAD with MVC App
 
Azure App Service Deep Dive
Azure App Service Deep DiveAzure App Service Deep Dive
Azure App Service Deep Dive
 

Similar to Real-time web applications using SharePoint, SignalR and Azure Service Bus

ASP.NET MVC 5 and SignalR 2
ASP.NET MVC 5 and SignalR 2ASP.NET MVC 5 and SignalR 2
ASP.NET MVC 5 and SignalR 2
Jaliya Udagedara
 
Introduction to SignalR
Introduction to SignalRIntroduction to SignalR
Introduction to SignalR
University of Hawai‘i at Mānoa
 
Azure signalr service
Azure signalr serviceAzure signalr service
Azure signalr service
Udaiappa Ramachandran
 
Real-time Communications with SignalR
Real-time Communications with SignalRReal-time Communications with SignalR
Real-time Communications with SignalR
Shravan Kumar Kasagoni
 
RESTful web
RESTful webRESTful web
RESTful web
Alvin Qi
 
CNIT 129S - Ch 3: Web Application Technologies
CNIT 129S - Ch 3: Web Application TechnologiesCNIT 129S - Ch 3: Web Application Technologies
CNIT 129S - Ch 3: Web Application Technologies
Sam Bowne
 
CNIT 129S: Ch 3: Web Application Technologies
CNIT 129S: Ch 3: Web Application TechnologiesCNIT 129S: Ch 3: Web Application Technologies
CNIT 129S: Ch 3: Web Application Technologies
Sam Bowne
 
SignalR 101
SignalR 101SignalR 101
Azure Mobile Services
Azure Mobile ServicesAzure Mobile Services
Azure Mobile Services
Taiseer Joudeh
 
Web Development Technologies
Web Development TechnologiesWeb Development Technologies
Web Development TechnologiesVignesh Prajapati
 
SignalR With ASP.Net part1
SignalR With ASP.Net part1SignalR With ASP.Net part1
SignalR With ASP.Net part1
Esraa Ammar
 
SignalR: Add real-time to your applications
SignalR: Add real-time to your applicationsSignalR: Add real-time to your applications
SignalR: Add real-time to your applicationsEugene Zharkov
 
SignalR
SignalR SignalR
Asynchrone Echtzeitanwendungen für SharePoint mit SignalR und knockout.js
Asynchrone Echtzeitanwendungen für SharePoint mit SignalR und knockout.jsAsynchrone Echtzeitanwendungen für SharePoint mit SignalR und knockout.js
Asynchrone Echtzeitanwendungen für SharePoint mit SignalR und knockout.js
Christian Heindel
 
Tokyo azure meetup #8 azure update, august
Tokyo azure meetup #8   azure update, augustTokyo azure meetup #8   azure update, august
Tokyo azure meetup #8 azure update, august
Tokyo Azure Meetup
 
Tokyo azure meetup #8 - Azure Update, August
Tokyo azure meetup #8 - Azure Update, AugustTokyo azure meetup #8 - Azure Update, August
Tokyo azure meetup #8 - Azure Update, August
Kanio Dimitrov
 
Cloud-native Data
Cloud-native DataCloud-native Data
Cloud-native Data
cornelia davis
 
Cloud-Native-Data with Cornelia Davis
Cloud-Native-Data with Cornelia DavisCloud-Native-Data with Cornelia Davis
Cloud-Native-Data with Cornelia Davis
VMware Tanzu
 
Windows 8 Apps and the Outside World
Windows 8 Apps and the Outside WorldWindows 8 Apps and the Outside World
Signal r azurepresentation
Signal r azurepresentationSignal r azurepresentation
Signal r azurepresentationJustin Wendlandt
 

Similar to Real-time web applications using SharePoint, SignalR and Azure Service Bus (20)

ASP.NET MVC 5 and SignalR 2
ASP.NET MVC 5 and SignalR 2ASP.NET MVC 5 and SignalR 2
ASP.NET MVC 5 and SignalR 2
 
Introduction to SignalR
Introduction to SignalRIntroduction to SignalR
Introduction to SignalR
 
Azure signalr service
Azure signalr serviceAzure signalr service
Azure signalr service
 
Real-time Communications with SignalR
Real-time Communications with SignalRReal-time Communications with SignalR
Real-time Communications with SignalR
 
RESTful web
RESTful webRESTful web
RESTful web
 
CNIT 129S - Ch 3: Web Application Technologies
CNIT 129S - Ch 3: Web Application TechnologiesCNIT 129S - Ch 3: Web Application Technologies
CNIT 129S - Ch 3: Web Application Technologies
 
CNIT 129S: Ch 3: Web Application Technologies
CNIT 129S: Ch 3: Web Application TechnologiesCNIT 129S: Ch 3: Web Application Technologies
CNIT 129S: Ch 3: Web Application Technologies
 
SignalR 101
SignalR 101SignalR 101
SignalR 101
 
Azure Mobile Services
Azure Mobile ServicesAzure Mobile Services
Azure Mobile Services
 
Web Development Technologies
Web Development TechnologiesWeb Development Technologies
Web Development Technologies
 
SignalR With ASP.Net part1
SignalR With ASP.Net part1SignalR With ASP.Net part1
SignalR With ASP.Net part1
 
SignalR: Add real-time to your applications
SignalR: Add real-time to your applicationsSignalR: Add real-time to your applications
SignalR: Add real-time to your applications
 
SignalR
SignalR SignalR
SignalR
 
Asynchrone Echtzeitanwendungen für SharePoint mit SignalR und knockout.js
Asynchrone Echtzeitanwendungen für SharePoint mit SignalR und knockout.jsAsynchrone Echtzeitanwendungen für SharePoint mit SignalR und knockout.js
Asynchrone Echtzeitanwendungen für SharePoint mit SignalR und knockout.js
 
Tokyo azure meetup #8 azure update, august
Tokyo azure meetup #8   azure update, augustTokyo azure meetup #8   azure update, august
Tokyo azure meetup #8 azure update, august
 
Tokyo azure meetup #8 - Azure Update, August
Tokyo azure meetup #8 - Azure Update, AugustTokyo azure meetup #8 - Azure Update, August
Tokyo azure meetup #8 - Azure Update, August
 
Cloud-native Data
Cloud-native DataCloud-native Data
Cloud-native Data
 
Cloud-Native-Data with Cornelia Davis
Cloud-Native-Data with Cornelia DavisCloud-Native-Data with Cornelia Davis
Cloud-Native-Data with Cornelia Davis
 
Windows 8 Apps and the Outside World
Windows 8 Apps and the Outside WorldWindows 8 Apps and the Outside World
Windows 8 Apps and the Outside World
 
Signal r azurepresentation
Signal r azurepresentationSignal r azurepresentation
Signal r azurepresentation
 

More from Dinusha Kumarasiri

Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
Dinusha Kumarasiri
 
Migrating On-Premises Workloads with Azure Migrate
Migrating On-Premises Workloads with Azure MigrateMigrating On-Premises Workloads with Azure Migrate
Migrating On-Premises Workloads with Azure Migrate
Dinusha Kumarasiri
 
Azure Event Hubs for Kafka.pptx
Azure Event Hubs for Kafka.pptxAzure Event Hubs for Kafka.pptx
Azure Event Hubs for Kafka.pptx
Dinusha Kumarasiri
 
Future of Collaboration with Office 365.pptx
Future of Collaboration with Office 365.pptxFuture of Collaboration with Office 365.pptx
Future of Collaboration with Office 365.pptx
Dinusha Kumarasiri
 
Application Development with Azure
Application Development with AzureApplication Development with Azure
Application Development with Azure
Dinusha Kumarasiri
 
Building Data Solutions with Azure
Building Data Solutions with AzureBuilding Data Solutions with Azure
Building Data Solutions with Azure
Dinusha Kumarasiri
 
Introduction to cloud computing
Introduction to cloud computingIntroduction to cloud computing
Introduction to cloud computing
Dinusha Kumarasiri
 
Azure active directory and role based access control
Azure active directory and role based access controlAzure active directory and role based access control
Azure active directory and role based access control
Dinusha Kumarasiri
 
Step into cloud
Step into cloudStep into cloud
Step into cloud
Dinusha Kumarasiri
 
PowerApps and Flow
PowerApps and FlowPowerApps and Flow
PowerApps and Flow
Dinusha Kumarasiri
 
PowerApps with Common Data Services
PowerApps with  Common Data ServicesPowerApps with  Common Data Services
PowerApps with Common Data Services
Dinusha Kumarasiri
 
Automating Business Processes with SharePoint & Flow
Automating Business Processes with SharePoint & FlowAutomating Business Processes with SharePoint & Flow
Automating Business Processes with SharePoint & Flow
Dinusha Kumarasiri
 
ALM with SharePoint
ALM with SharePointALM with SharePoint
ALM with SharePoint
Dinusha Kumarasiri
 
SharePoint Authentication
SharePoint AuthenticationSharePoint Authentication
SharePoint Authentication
Dinusha Kumarasiri
 
Data Loss Prevention in SharePoint 2016
Data Loss Prevention in SharePoint 2016Data Loss Prevention in SharePoint 2016
Data Loss Prevention in SharePoint 2016
Dinusha Kumarasiri
 
Introduction to SharePoint
Introduction to SharePointIntroduction to SharePoint
Introduction to SharePoint
Dinusha Kumarasiri
 
Azure notification hubs
Azure notification hubsAzure notification hubs
Azure notification hubs
Dinusha Kumarasiri
 
Introduction to SharePoint Online
Introduction to SharePoint OnlineIntroduction to SharePoint Online
Introduction to SharePoint OnlineDinusha Kumarasiri
 
Enhance user experience for Search using display templates
Enhance user experience for  Search using display templatesEnhance user experience for  Search using display templates
Enhance user experience for Search using display templates
Dinusha Kumarasiri
 

More from Dinusha Kumarasiri (20)

Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Migrating On-Premises Workloads with Azure Migrate
Migrating On-Premises Workloads with Azure MigrateMigrating On-Premises Workloads with Azure Migrate
Migrating On-Premises Workloads with Azure Migrate
 
Azure Event Hubs for Kafka.pptx
Azure Event Hubs for Kafka.pptxAzure Event Hubs for Kafka.pptx
Azure Event Hubs for Kafka.pptx
 
Future of Collaboration with Office 365.pptx
Future of Collaboration with Office 365.pptxFuture of Collaboration with Office 365.pptx
Future of Collaboration with Office 365.pptx
 
Application Development with Azure
Application Development with AzureApplication Development with Azure
Application Development with Azure
 
Building Data Solutions with Azure
Building Data Solutions with AzureBuilding Data Solutions with Azure
Building Data Solutions with Azure
 
Introduction to cloud computing
Introduction to cloud computingIntroduction to cloud computing
Introduction to cloud computing
 
Azure active directory and role based access control
Azure active directory and role based access controlAzure active directory and role based access control
Azure active directory and role based access control
 
Step into cloud
Step into cloudStep into cloud
Step into cloud
 
PowerApps and Flow
PowerApps and FlowPowerApps and Flow
PowerApps and Flow
 
PowerApps with Common Data Services
PowerApps with  Common Data ServicesPowerApps with  Common Data Services
PowerApps with Common Data Services
 
Automating Business Processes with SharePoint & Flow
Automating Business Processes with SharePoint & FlowAutomating Business Processes with SharePoint & Flow
Automating Business Processes with SharePoint & Flow
 
ALM with SharePoint
ALM with SharePointALM with SharePoint
ALM with SharePoint
 
SharePoint Authentication
SharePoint AuthenticationSharePoint Authentication
SharePoint Authentication
 
Data Loss Prevention in SharePoint 2016
Data Loss Prevention in SharePoint 2016Data Loss Prevention in SharePoint 2016
Data Loss Prevention in SharePoint 2016
 
Introduction to SharePoint
Introduction to SharePointIntroduction to SharePoint
Introduction to SharePoint
 
Azure notification hubs
Azure notification hubsAzure notification hubs
Azure notification hubs
 
Introduction to SharePoint
Introduction to SharePointIntroduction to SharePoint
Introduction to SharePoint
 
Introduction to SharePoint Online
Introduction to SharePoint OnlineIntroduction to SharePoint Online
Introduction to SharePoint Online
 
Enhance user experience for Search using display templates
Enhance user experience for  Search using display templatesEnhance user experience for  Search using display templates
Enhance user experience for Search using display templates
 

Recently uploaded

TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
Tier1 app
 
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
XfilesPro
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
kalichargn70th171
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Anthony Dahanne
 
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Hivelance Technology
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
vrstrong314
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
Cyanic lab
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
Globus
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
WSO2
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Globus
 
Visitor Management System in India- Vizman.app
Visitor Management System in India- Vizman.appVisitor Management System in India- Vizman.app
Visitor Management System in India- Vizman.app
NaapbooksPrivateLimi
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
Globus
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Shahin Sheidaei
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
informapgpstrackings
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Natan Silnitsky
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
Globus
 
Explore Modern SharePoint Templates for 2024
Explore Modern SharePoint Templates for 2024Explore Modern SharePoint Templates for 2024
Explore Modern SharePoint Templates for 2024
Sharepoint Designs
 
De mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEDe mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FME
Jelle | Nordend
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
Georgi Kodinov
 

Recently uploaded (20)

TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
 
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
 
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
 
Visitor Management System in India- Vizman.app
Visitor Management System in India- Vizman.appVisitor Management System in India- Vizman.app
Visitor Management System in India- Vizman.app
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
 
Explore Modern SharePoint Templates for 2024
Explore Modern SharePoint Templates for 2024Explore Modern SharePoint Templates for 2024
Explore Modern SharePoint Templates for 2024
 
De mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEDe mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FME
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
 

Real-time web applications using SharePoint, SignalR and Azure Service Bus

  • 1. Build real-time applications using SharePoint, Azure Service Bus and SignalR Dinusha Kumarasiri http://dinushaonline.blogspot.com
  • 2. Dinusha Kumarasiri • MVP in SharePoint server • Software Architect focusing on SharePoint and related technologies • Interested in SharePoint, Office365 and Microsoft Azure Email : kumarasiri048@gmail.com Twitter : kumarasiri048 Facebook : dinushak LinkedIn : dinushak Contact Details
  • 3. Agenda • Evolution of web • Real time web applications • ASP.Net SignalR • SignalR with SharePoint • Microsoft Azure Service Bus
  • 4. Evolution of web • HTTP Protocol Client Server Request Response • HTTP is stateless • Current state is not saved • New requests from the same users are treated as brand new requests • HTTP is half duplex • Either send a request or receive a response. But not at the same time
  • 5. Evolution of web • What are the current work arounds for being stateless • HTTP Cookies, Server side sessions, etc. • Additional information in HTTP headers
  • 6. Evolution of web • Ajax HTTP requests • Uses XML HttpRequest • Able to load parts of the web page without loading the entire page • How can we load data, without any interaction from the end user?
  • 7. Real-time web applications • Set of technologies and practices that enable users to receive information as it is published • Instantly receive messages if there are any • Up to date • Delivered to any device
  • 8. Real-time web applications • Use cases • Social networking • Gaming • Gambling • Trading • Monitoring • Tracking • Sports events • Collaborative applications • Real-time forms • Sites with messaging capabilities
  • 9. Real-time web applications Consumer Service to push messages Subscribe Get messages Events
  • 10. Real-time web applications • Technologies to enable real-time web applications • Polling • Long Polling • Forever frame • Server-Sent Events (SSE) • WebSockets
  • 11. Real-time web applications Polling Long Polling • Periodically request the server for any updates • Client poll the server, but server respond if there is data to return • The server holds on the request until timeout or if it has new data • Polling and Long Polling
  • 12. Real-time web applications • Forever Frame • Uses a hidden iframe • The iframe loads another page which has a loop • HTML5 Server-Sent Events (SSE) • Create new EventSource object, which opens a connection to server
  • 13. Real-time web applications • WebSockets • Extended HTTP • But may not be compatible • Windows 8 + , Server 2012 + • There may be network security concerns
  • 14. Real-time web applications • How to select what technology is best for current scenario • Should fallback to another technology if primary is not supported • Frameworks support to achieve that
  • 15. SignalR • Asynchronous signaling library that enables real-time, multi- user web applications. • Creates a persistent connection between server and client(s) • Within ASP.Net stack • Source code is open and in GitHub • Available via NuGet
  • 16. SignalR • Features • Libraries for client and server • Use WebSockets when available, if not fallback to other technologies • Supported in many platforms • SignalR Team • .Net 4.0 + • WinRT • Windows Phone 8 • Silverlight 5 • JQuery • C++ • Community • IOS Native • IOS via Mono • Android via Mono
  • 19. SignalR • Preparing the environment NuGet package Microsoft.AspNet.SignalR Server references JavaScript for clients
  • 21. SignalR • Server side development models • Persistent connection : IHttpHandler • Hubs : An abstraction over persistent connection • Hubs • Public methods defined in hubs are callable from outside • Send messages to clients by invoking client-side methods • Communication is serialized by JSON
  • 25. SignalR with SharePoint • Steps • Create a provider hosted application • Host the remote web • Client Web Parts to display
  • 27. Working with external data • Scenarios • Output from LOB systems • IOT and other external devices • Production lines • Communication from multiple sources
  • 28. Working with external data • Challenges • Can lose data • Data from multiple sources • Data can be in multiple formats • Cost • Availability of infrastructure • Heavy load in peak times
  • 29. Azure Service Bus • What is azure service bus? • Reliable information delivery service • It ensures that the information is delivered even both parties are not online in the same time • Azure service bus queue • Sender sends a message to the queue • A receiver can pickup • One-way asynchronous communication
  • 30. Azure Service Bus • Azure service bus topics • Filters • One-way asynchronous communication
  • 31. Azure Service Bus • Azure service bus relays • If your applications need to both send and receive messages
  • 32. Azure Service Bus • Real-time web applications with SignalR and Azure Service Bus Service Bus Topics SignalR (Server Side) Hub Client 1 Client 2 Client 2 Process 1 Process 2