SlideShare a Scribd company logo
By Harbinger Systems
Welcome to the webinar
Building Real-time Collaborative
Web Applications
Panellists
Sachin Katariya
Senior Manager
Business Development
Asheesh Choksi
Solutions Architect
Umesh Kanade
General Manager
Technology Solutions
Overview
Collaboration Real-Time Web based
How business enables collaboration?
Engaging Web Portal Visitor
Sign up and Email
Blogs
Interactive Chat
Share Latest Information
Is Browser communication not Real-time?
• Browser gets data from server
• Once the data is served the
connection is released.
• Now Browser is not aware of
any changes in data on server.
• Browser must re-connect to
server to get hot data
HTTP is Half Duplex
Web Browser
Web Server
Web browser
requests the
web page
Web server
serves the
web page
Comet for Real Time Communication in HTTP
Ajax Polling
• Asynchronous request to server
• Server breaks the connection
after serving response
• Browser keeps repeating the
Ajax request at an interval
• Browser makes many empty
request for getting one hot data
Heavy on network resources.
Web Browser
Web Server
Request
Response
Requests Per Second
Comet for Real Time Communication in HTTP
Long Polling
• Makes a prudent use of
network resources; browser
makes request and sets timeout
• Server sends response only
when hot data is available
• Server breaks connection after
serving response
• The connection may also
timeout
One HTTP connection is almost blocked
by Long Polling
Web Browser
Web Server
Request
Response
Requests Per Second
Comet for Real Time Communication in HTTP
HTTP Streaming
• HTTP connection persists
beyond sending the response
Server sends response when
hot data is available
• Server Does NOT break the
connection after serving
response.
• The connection does not time
out.
One HTTP connection is always blocked
by Streaming
Web Browser
Web Server
Request
Response
Requests Per Second
Overheads with HTTP
Headers
Cookies
1 to 2 KB
piggyback
per
request
New channel of communication
Web
Sockets
Full
duplex
No
polling
2 bytes
overhead
No
latency
Web Socket is HTTP friendly
Uses Upgrade Header
• HTTP/1.1 specs
• a new protocol for communication
Compatible handshake
• Cookie based authentication on connect
• Listens on server’s port
• ws:// on port 80
• wss:// on port 443
Traverses Proxies and Firewalls
Web Socket - How it Works?
Node JS +
Socket IO
Application
Server
Load
Balancer
Web
Socket
Socket IO Node JS
Web Socket - Browser Side
<script src="/socket.io/socket.io.js"></script>
<script>
var socket = io.connect('http://10.0.1.251');
socket.on('info', function (data) {
socket.emit('my other event', { my: 'data'
});
});
</script>
• create web
socket object
Supporting
Browsers
• use Socket IO JS
to open a socket
Non-supporting
Browsers
Web Socket using Socket IO
• Asynchronous I/O
• Broadcasting to multiple sockets
• Storing data associated with each client
ClientSide
• Socket IO JS
• Runs within
Browser
ServerSide
• Server side
library for
Node JS
Web Socket Events and Methods
Event Event Handler Description
Open Socket.onopen socket connection is established
Message Socket.onmessage client receives data from server
Error Socket.onerror error in communication
close Socket.onclose connection is closed
Method Description
Socket.send() send(data) transmits data using connection
Socket.close() close() is used to terminate any existing connection
Web Socket in Action
var ws = new WebSocket(ws://<host ip>);
ws.onopen = function(){
// logic on opening the connection
};
ws.onmessage = function(){
// when server sends data
};
ws.onsend = function(){
// send data to server
};
ws.onclose = function(){
// when connection is closed
};
ws.close();
Header Traffic Analysis
Use Case A
1000 client
polling / sec
Use Case B
10,000 clients
polling /sec
Use Case C
100,000 clients
polling / sec
HTTP 871,000
bytes
(6.6 Mbps)
(8,710,000
bytes)
(66 Mbps)
(87,100,000 bytes)
(665 Mbps)
Web Sockets 2 x 1000
bytes
(16000 bps)
(0.015 Mbps)
20,000 bytes
(0.153 Mbps)
200,000 bytes
(1.526 Mbps)
Source: http://www.websocket.org/quantum.html
Scalability with WS
Source: http://www.websocket.org/quantum.html
WebRTC
WebRTC is browser based real time (peer to peer) collaboration APIs,
Open source by Google and is been standardized by IETF
Major features of WebRTC are:
• GetMedia API to get access to local camera and microphone
• A PeerConnection sets up the audio/video calls
• DataChannels allow browsers to share data via peer-to-peer
Currently these features are supported by latest versions of Chrome and Firefox
You need Real Time collaboration
Online
Gaming
Bidding
Portals
E-Commerce
Collaborative
Platforms
Social
Apps
Social Networking Apps
Interactivity between users
Online Gaming
massive multi-player online games and
live events
Online Bidding
Synchronizing latest Bids and Asks
Product Store or ecommerce
Logistics updates, order tracking
Collaborative Platforms
Authoring, Idea sharing and building
Demo
• Online collaboration for annotation over web
based content
Questions?
Thank You!
Visit us at: www.harbinger-systems.com
Write to us at: hsplinfo@harbingergroup.com
Blog: blog.harbinger-systems.com
Twitter: twitter.com/HarbingerSys (@HarbingerSys)
Slideshare: slideshare.net/hsplmkting
Facebook: facebook.com/harbingersys
LinkedIn: linkedin.com/company/382306
Follow us

More Related Content

PPTX
Benefits of developing single page web applications using angular js
PPTX
OAuth
PDF
www.webre24h.com - Ajax security
PPTX
Securing SharePoint Apps with OAuth
PDF
www.webre24h.com - An ajax tool for online modeling
PDF
Progressive Web Apps
PPTX
ÂŤReal TimeÂť Web Applications with SignalR in ASP.NET
PPTX
Building Quality into the AEM Publication Workflow with Active Standards by D...
Benefits of developing single page web applications using angular js
OAuth
www.webre24h.com - Ajax security
Securing SharePoint Apps with OAuth
www.webre24h.com - An ajax tool for online modeling
Progressive Web Apps
ÂŤReal TimeÂť Web Applications with SignalR in ASP.NET
Building Quality into the AEM Publication Workflow with Active Standards by D...

What's hot (20)

PPTX
Pushing the Boundaries - A Deep-Dive into Real-World SharePoint Add-In and Ap...
PPT
EVOLVE'15 | Enhance | Loyola Baskar | Cisco - Multi-tenancy AEM Architectur...
PPTX
SharePoint Server 2013: to app or not to app?
PPTX
SignalR with ASP.NET MVC 6
PPSX
SignalR With ASP.Net part1
PPT
SignalR
PPT
Spring In Practice
PDF
SpringPeople Building Web Sites with ASP.NET MVC FRAMEWORK
PPTX
Building Microservices with .NET (speaker Anton Vasilenko, Binary Studio)
PPTX
SharePoint 2013 APIs demystified
PPTX
[Pinto] Is my SharePoint Development team properly enlighted?
PPTX
Oauth and SharePoint 2013 Provider Hosted apps
PPT
Windows Azure Essentials V3
PPTX
Benefits of developing a Single Page Web Applications using AngularJS
PPTX
Single page application
PPTX
OAuth in SharePoint 2013
PPTX
Full stack devlopment using django main ppt
PDF
Single Page Applications
PDF
SignalR
PDF
Modernize Java Apps on Microsoft Azure
Pushing the Boundaries - A Deep-Dive into Real-World SharePoint Add-In and Ap...
EVOLVE'15 | Enhance | Loyola Baskar | Cisco - Multi-tenancy AEM Architectur...
SharePoint Server 2013: to app or not to app?
SignalR with ASP.NET MVC 6
SignalR With ASP.Net part1
SignalR
Spring In Practice
SpringPeople Building Web Sites with ASP.NET MVC FRAMEWORK
Building Microservices with .NET (speaker Anton Vasilenko, Binary Studio)
SharePoint 2013 APIs demystified
[Pinto] Is my SharePoint Development team properly enlighted?
Oauth and SharePoint 2013 Provider Hosted apps
Windows Azure Essentials V3
Benefits of developing a Single Page Web Applications using AngularJS
Single page application
OAuth in SharePoint 2013
Full stack devlopment using django main ppt
Single Page Applications
SignalR
Modernize Java Apps on Microsoft Azure
Ad

Viewers also liked (17)

PPTX
Building next gen hr solutions with people analytics-final
PPTX
Webinar presentation-startups and mobility
PPTX
Discover the Potential of your Data with Machine Learning
PPTX
CLOUDIFICATION FOR INTERNET OF THINGS - THE ROAD AHEAD
PPTX
Webinar- Internet of Things: Application Frameworks in IoT
PPTX
Webinar: Digital Health - The New Rx for USA Healthcare Ecosystem
PPTX
Create scalable and configurable multi tenancy application
PPTX
Webinar: UI/UX best practices in cms based web design
PPTX
Engage for Success: Improve Workforce Engagement with Open Communication and ...
PPTX
Agile Application Lifecycle Management 6.2.2014
PPTX
Webinar: Structured attestation to meaningful use stage 2
PPTX
Enhancing Unified Communication Experience through Microsoft Lync SDK and UCMA
PPTX
Webinar: How to choose your outsourcing partner for building mobile apps?
PPTX
Webinar: Building amazing web apps rapidly with emerging tech
PPTX
iOS 8 HealthKit: Driving Smart Health Solutions
PPTX
Webinar: Mobile UX: Doing It The Right Way
PPTX
Open Technology Solutions For Healthcare Startups
Building next gen hr solutions with people analytics-final
Webinar presentation-startups and mobility
Discover the Potential of your Data with Machine Learning
CLOUDIFICATION FOR INTERNET OF THINGS - THE ROAD AHEAD
Webinar- Internet of Things: Application Frameworks in IoT
Webinar: Digital Health - The New Rx for USA Healthcare Ecosystem
Create scalable and configurable multi tenancy application
Webinar: UI/UX best practices in cms based web design
Engage for Success: Improve Workforce Engagement with Open Communication and ...
Agile Application Lifecycle Management 6.2.2014
Webinar: Structured attestation to meaningful use stage 2
Enhancing Unified Communication Experience through Microsoft Lync SDK and UCMA
Webinar: How to choose your outsourcing partner for building mobile apps?
Webinar: Building amazing web apps rapidly with emerging tech
iOS 8 HealthKit: Driving Smart Health Solutions
Webinar: Mobile UX: Doing It The Right Way
Open Technology Solutions For Healthcare Startups
Ad

Similar to Building real-time-collaborative-web-applications (20)

PPTX
Webinar slides "Building Real-Time Collaborative Web Applications"
PPTX
Web Real-time Communications
PPTX
Difference between Client Polling vs Server Push vs Websocket vs Long Polling
PPTX
Web Socket
PDF
Dev con kolkata 2012 websockets
PDF
Building Next Generation Real-Time Web Applications using Websockets
PPTX
Basic understanding of websocket and and REST API
PPTX
WebSockets-Revolutionizing-Real-Time-Communication.pptx
PPTX
Websockets: Pushing the web forward
PPTX
WebSockets in JEE 7
PDF
DevCon 5 (July 2013) - WebSockets
ODP
Building interactivity with websockets
PPTX
Intro to WebSockets
PPTX
Websocket
PDF
IRJET- An Overview of Web Sockets: The Future of Real-Time Communication
PDF
Nodejs and WebSockets
PPTX
Intro to Web Sockets
PPTX
Codecamp Iasi-26 nov 2011 - Html 5 WebSockets
PPTX
Codecamp iasi-26 nov 2011-web sockets
PPT
Web-Socket
Webinar slides "Building Real-Time Collaborative Web Applications"
Web Real-time Communications
Difference between Client Polling vs Server Push vs Websocket vs Long Polling
Web Socket
Dev con kolkata 2012 websockets
Building Next Generation Real-Time Web Applications using Websockets
Basic understanding of websocket and and REST API
WebSockets-Revolutionizing-Real-Time-Communication.pptx
Websockets: Pushing the web forward
WebSockets in JEE 7
DevCon 5 (July 2013) - WebSockets
Building interactivity with websockets
Intro to WebSockets
Websocket
IRJET- An Overview of Web Sockets: The Future of Real-Time Communication
Nodejs and WebSockets
Intro to Web Sockets
Codecamp Iasi-26 nov 2011 - Html 5 WebSockets
Codecamp iasi-26 nov 2011-web sockets
Web-Socket

More from Harbinger Systems - HRTech Builder of Choice (20)

PPTX
Using People Analytics for a Sustainable Remote Workforce
PDF
5 Trends That Will Drive the Transformation of EdTech in 2021
PPTX
Rapidly Transforming Organizational Content into Learning Experiences
PPTX
Scalable HR Integrations for Better Data Analytics: Challenges & Solutions
PPTX
5 Key Items HR Should Consider Before Buying HR Technologies
PPTX
Best Practices to Build Marketplace-Ready Integrations
PPTX
HRTech Integration Masterclass Session 4 How to Expand Your Recruitment Datab...
PPTX
Recalibrating Product Strategy - Addressing Demand Shifts in Existing Markets
PPTX
How to Gain Key Insights from Data Distributed Across Multiple HR Systems
PPTX
HRTech Integration Master Class Session 1 -Delivering Seamless Learning Exper...
PPTX
Recalibrating Product Strategy - Addressing Demand Shifts in Existing Markets
PPTX
Integrating System of Records and Collaboration Tools
PPTX
How to Power Your HR Apps With AI And Make It Explainable
PPTX
Chatbot for Continuous Performance Management
PPTX
Leveraging mobile capabilities in your HR application
PDF
Automate HR applications using AI and ML
PPTX
A Cloud-based Collaborative Learning and Coaching Platform
PDF
Extending LRSs and the xAPI for Event-driven Blended and Adaptive Learning
PPTX
Impact of SMAC Technology in HCM
PPTX
A medical prescription reminder app for i phone
Using People Analytics for a Sustainable Remote Workforce
5 Trends That Will Drive the Transformation of EdTech in 2021
Rapidly Transforming Organizational Content into Learning Experiences
Scalable HR Integrations for Better Data Analytics: Challenges & Solutions
5 Key Items HR Should Consider Before Buying HR Technologies
Best Practices to Build Marketplace-Ready Integrations
HRTech Integration Masterclass Session 4 How to Expand Your Recruitment Datab...
Recalibrating Product Strategy - Addressing Demand Shifts in Existing Markets
How to Gain Key Insights from Data Distributed Across Multiple HR Systems
HRTech Integration Master Class Session 1 -Delivering Seamless Learning Exper...
Recalibrating Product Strategy - Addressing Demand Shifts in Existing Markets
Integrating System of Records and Collaboration Tools
How to Power Your HR Apps With AI And Make It Explainable
Chatbot for Continuous Performance Management
Leveraging mobile capabilities in your HR application
Automate HR applications using AI and ML
A Cloud-based Collaborative Learning and Coaching Platform
Extending LRSs and the xAPI for Event-driven Blended and Adaptive Learning
Impact of SMAC Technology in HCM
A medical prescription reminder app for i phone

Recently uploaded (20)

PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
madgavkar20181017ppt McKinsey Presentation.pdf
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
HCSP-Presales-Campus Network Planning and Design V1.0 Training Material-Witho...
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
cuic standard and advanced reporting.pdf
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
Advanced Soft Computing BINUS July 2025.pdf
PDF
Advanced IT Governance
PDF
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
CIFDAQ's Market Wrap: Ethereum Leads, Bitcoin Lags, Institutions Shift
 
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PPTX
Big Data Technologies - Introduction.pptx
PDF
KodekX | Application Modernization Development
 
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
 
PDF
Empathic Computing: Creating Shared Understanding
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
MYSQL Presentation for SQL database connectivity
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
madgavkar20181017ppt McKinsey Presentation.pdf
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
HCSP-Presales-Campus Network Planning and Design V1.0 Training Material-Witho...
Advanced methodologies resolving dimensionality complications for autism neur...
cuic standard and advanced reporting.pdf
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Advanced Soft Computing BINUS July 2025.pdf
Advanced IT Governance
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
Review of recent advances in non-invasive hemoglobin estimation
CIFDAQ's Market Wrap: Ethereum Leads, Bitcoin Lags, Institutions Shift
 
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Big Data Technologies - Introduction.pptx
KodekX | Application Modernization Development
 
CIFDAQ's Market Insight: SEC Turns Pro Crypto
 
Empathic Computing: Creating Shared Understanding
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Dropbox Q2 2025 Financial Results & Investor Presentation
MYSQL Presentation for SQL database connectivity

Building real-time-collaborative-web-applications

  • 1. By Harbinger Systems Welcome to the webinar Building Real-time Collaborative Web Applications
  • 2. Panellists Sachin Katariya Senior Manager Business Development Asheesh Choksi Solutions Architect Umesh Kanade General Manager Technology Solutions
  • 4. How business enables collaboration? Engaging Web Portal Visitor Sign up and Email Blogs Interactive Chat Share Latest Information
  • 5. Is Browser communication not Real-time? • Browser gets data from server • Once the data is served the connection is released. • Now Browser is not aware of any changes in data on server. • Browser must re-connect to server to get hot data HTTP is Half Duplex Web Browser Web Server Web browser requests the web page Web server serves the web page
  • 6. Comet for Real Time Communication in HTTP Ajax Polling • Asynchronous request to server • Server breaks the connection after serving response • Browser keeps repeating the Ajax request at an interval • Browser makes many empty request for getting one hot data Heavy on network resources. Web Browser Web Server Request Response Requests Per Second
  • 7. Comet for Real Time Communication in HTTP Long Polling • Makes a prudent use of network resources; browser makes request and sets timeout • Server sends response only when hot data is available • Server breaks connection after serving response • The connection may also timeout One HTTP connection is almost blocked by Long Polling Web Browser Web Server Request Response Requests Per Second
  • 8. Comet for Real Time Communication in HTTP HTTP Streaming • HTTP connection persists beyond sending the response Server sends response when hot data is available • Server Does NOT break the connection after serving response. • The connection does not time out. One HTTP connection is always blocked by Streaming Web Browser Web Server Request Response Requests Per Second
  • 9. Overheads with HTTP Headers Cookies 1 to 2 KB piggyback per request
  • 10. New channel of communication Web Sockets Full duplex No polling 2 bytes overhead No latency
  • 11. Web Socket is HTTP friendly Uses Upgrade Header • HTTP/1.1 specs • a new protocol for communication Compatible handshake • Cookie based authentication on connect • Listens on server’s port • ws:// on port 80 • wss:// on port 443 Traverses Proxies and Firewalls
  • 12. Web Socket - How it Works? Node JS + Socket IO Application Server Load Balancer Web Socket Socket IO Node JS
  • 13. Web Socket - Browser Side <script src="/socket.io/socket.io.js"></script> <script> var socket = io.connect('http://10.0.1.251'); socket.on('info', function (data) { socket.emit('my other event', { my: 'data' }); }); </script> • create web socket object Supporting Browsers • use Socket IO JS to open a socket Non-supporting Browsers
  • 14. Web Socket using Socket IO • Asynchronous I/O • Broadcasting to multiple sockets • Storing data associated with each client ClientSide • Socket IO JS • Runs within Browser ServerSide • Server side library for Node JS
  • 15. Web Socket Events and Methods Event Event Handler Description Open Socket.onopen socket connection is established Message Socket.onmessage client receives data from server Error Socket.onerror error in communication close Socket.onclose connection is closed Method Description Socket.send() send(data) transmits data using connection Socket.close() close() is used to terminate any existing connection
  • 16. Web Socket in Action var ws = new WebSocket(ws://<host ip>); ws.onopen = function(){ // logic on opening the connection }; ws.onmessage = function(){ // when server sends data }; ws.onsend = function(){ // send data to server }; ws.onclose = function(){ // when connection is closed }; ws.close();
  • 17. Header Traffic Analysis Use Case A 1000 client polling / sec Use Case B 10,000 clients polling /sec Use Case C 100,000 clients polling / sec HTTP 871,000 bytes (6.6 Mbps) (8,710,000 bytes) (66 Mbps) (87,100,000 bytes) (665 Mbps) Web Sockets 2 x 1000 bytes (16000 bps) (0.015 Mbps) 20,000 bytes (0.153 Mbps) 200,000 bytes (1.526 Mbps) Source: http://www.websocket.org/quantum.html
  • 18. Scalability with WS Source: http://www.websocket.org/quantum.html
  • 19. WebRTC WebRTC is browser based real time (peer to peer) collaboration APIs, Open source by Google and is been standardized by IETF Major features of WebRTC are: • GetMedia API to get access to local camera and microphone • A PeerConnection sets up the audio/video calls • DataChannels allow browsers to share data via peer-to-peer Currently these features are supported by latest versions of Chrome and Firefox
  • 20. You need Real Time collaboration Online Gaming Bidding Portals E-Commerce Collaborative Platforms Social Apps Social Networking Apps Interactivity between users Online Gaming massive multi-player online games and live events Online Bidding Synchronizing latest Bids and Asks Product Store or ecommerce Logistics updates, order tracking Collaborative Platforms Authoring, Idea sharing and building
  • 21. Demo • Online collaboration for annotation over web based content
  • 23. Thank You! Visit us at: www.harbinger-systems.com Write to us at: [email protected] Blog: blog.harbinger-systems.com Twitter: twitter.com/HarbingerSys (@HarbingerSys) Slideshare: slideshare.net/hsplmkting Facebook: facebook.com/harbingersys LinkedIn: linkedin.com/company/382306 Follow us