SlideShare uma empresa Scribd logo
1 de 18
Baixar para ler offline
Developing Real-Time
                and Asynchronous
                Web Applications

Jess Chadwick
Architect / RIA Specialist


weblogs.asp.net/jesschadwick
jesschadwick@gmail.com
Gratuitous Plug
                   $$$
                  Buy My
                  Books!
                   $$$




                            Now with
                           100% more
                           Awesome!


      Gluten
      Free!
The Real-Time Web


• Information as it
  happens

• Always Connected
Why Should I Care?

• User Interaction, aka “Social Networking”

• News
The Web Isn’t Real-Time!
Real-Time Web
  1,000’s of users
 connected at once
The Traditional Web

One user at a time
Polling
Benefits                       Drawbacks


• Takes advantage of how the   • Wasteful – requests occur
  web really works               regardless of data

• Reliable                     • Drains server and network
                                 resources

• Universal browser support    • Doesn’t scale
Long Polling
Benefits                           Drawbacks


• Uses “standard web               • Less reliable – frequent
  techniques”                        broken connections

• Less wasteful – fewer requests   • Based on request-response
  than “regular” polling             interaction (might be some
                                     delay between requests)
• Universal browser support
Server-Sent Events
Benefits                       Drawbacks


• True real-time               • Less reliable
                                 (broken connections)

• Rich JavaScript API          • One-way communication
                                 (client  server)

• Universal browser support…

  except
WebSockets
Benefits                       Drawbacks

• True real-time               • Emerging standard

• True bi-directional          • Doesn’t use “standard web
  communication                  techniques”

• Rich JavaScript API          • Less reliable
                                 (broken connections)
• Good browser support…

  except           and Opera

Mais conteúdo relacionado

Mais procurados

MobileClient
MobileClientMobileClient
MobileClientrpatil82
 
Building performant and re engaging web apps with service
Building performant and re engaging web apps with serviceBuilding performant and re engaging web apps with service
Building performant and re engaging web apps with serviceAnne Devia
 
3.6.16 - How Platforms Work - Casey West
3.6.16 - How Platforms Work - Casey West3.6.16 - How Platforms Work - Casey West
3.6.16 - How Platforms Work - Casey WestDocker PDX
 
Developing and deploying a website with html5
Developing and deploying a website with html5Developing and deploying a website with html5
Developing and deploying a website with html5Chris Love
 
Atd 2015 asp.net web hooks
Atd 2015   asp.net web hooksAtd 2015   asp.net web hooks
Atd 2015 asp.net web hooksNETMedia
 
node.js in action
node.js in actionnode.js in action
node.js in actionKaran Misra
 

Mais procurados (7)

GCC 11-13-15
GCC 11-13-15GCC 11-13-15
GCC 11-13-15
 
MobileClient
MobileClientMobileClient
MobileClient
 
Building performant and re engaging web apps with service
Building performant and re engaging web apps with serviceBuilding performant and re engaging web apps with service
Building performant and re engaging web apps with service
 
3.6.16 - How Platforms Work - Casey West
3.6.16 - How Platforms Work - Casey West3.6.16 - How Platforms Work - Casey West
3.6.16 - How Platforms Work - Casey West
 
Developing and deploying a website with html5
Developing and deploying a website with html5Developing and deploying a website with html5
Developing and deploying a website with html5
 
Atd 2015 asp.net web hooks
Atd 2015   asp.net web hooksAtd 2015   asp.net web hooks
Atd 2015 asp.net web hooks
 
node.js in action
node.js in actionnode.js in action
node.js in action
 

Semelhante a Real time web applications

SignalR for ASP.NET Developers
SignalR for ASP.NET DevelopersSignalR for ASP.NET Developers
SignalR for ASP.NET DevelopersShivanand Arur
 
SignalR With ASP.Net part1
SignalR With ASP.Net part1SignalR With ASP.Net part1
SignalR With ASP.Net part1Esraa Ammar
 
Web 2.0: Beyond the Hype.” Usability Professionals Association, Minneapolis M...
Web 2.0: Beyond the Hype.” Usability Professionals Association, Minneapolis M...Web 2.0: Beyond the Hype.” Usability Professionals Association, Minneapolis M...
Web 2.0: Beyond the Hype.” Usability Professionals Association, Minneapolis M...Samantha Bailey
 
Html5 web sockets - Brad Drysdale - London Web 2011-10-20
Html5 web sockets - Brad Drysdale - London Web 2011-10-20Html5 web sockets - Brad Drysdale - London Web 2011-10-20
Html5 web sockets - Brad Drysdale - London Web 2011-10-20Nathan O'Hanlon
 
Real-time Communication using SignalR and cloud
Real-time Communication using SignalR and cloudReal-time Communication using SignalR and cloud
Real-time Communication using SignalR and cloudRadu Vunvulea
 
Real-time web applications using SharePoint, SignalR and Azure Service Bus
Real-time web applications using SharePoint, SignalR and Azure Service BusReal-time web applications using SharePoint, SignalR and Azure Service Bus
Real-time web applications using SharePoint, SignalR and Azure Service BusDinusha Kumarasiri
 
BD Conf: Visit speed - Page speed is only the beginning
BD Conf: Visit speed - Page speed is only the beginningBD Conf: Visit speed - Page speed is only the beginning
BD Conf: Visit speed - Page speed is only the beginningPeter McLachlan
 
SOA: What It Means To The Enterprise
SOA: What It Means To The EnterpriseSOA: What It Means To The Enterprise
SOA: What It Means To The EnterpriseWSO2
 
Considerations for Your Mobile Library
Considerations for Your Mobile LibraryConsiderations for Your Mobile Library
Considerations for Your Mobile LibraryRachel Vacek
 
Amish Umesh - Future Of Web App Testing - ClubHack2007
Amish Umesh - Future Of Web App Testing  - ClubHack2007Amish Umesh - Future Of Web App Testing  - ClubHack2007
Amish Umesh - Future Of Web App Testing - ClubHack2007ClubHack
 
Web Apps vs. Native Apps: The Low Down
Web Apps vs. Native Apps: The Low DownWeb Apps vs. Native Apps: The Low Down
Web Apps vs. Native Apps: The Low DownApppli
 
Realtime Messaging und verteilte Systeme mit SharePoint und Windows Azure Ser...
Realtime Messaging und verteilte Systeme mit SharePoint und Windows Azure Ser...Realtime Messaging und verteilte Systeme mit SharePoint und Windows Azure Ser...
Realtime Messaging und verteilte Systeme mit SharePoint und Windows Azure Ser...Damir Dobric
 
Software applications and challenges
Software applications and challenges Software applications and challenges
Software applications and challenges Madhar Khan Pathan
 
www.webre24h.com - Ajax security
www.webre24h.com - Ajax securitywww.webre24h.com - Ajax security
www.webre24h.com - Ajax securitywebre24h
 
Rise and Fall of the Frontend Developer
Rise and Fall of the Frontend DeveloperRise and Fall of the Frontend Developer
Rise and Fall of the Frontend DeveloperRafael Casuso Romate
 
Building Cross Platform Mobile Apps
Building Cross Platform Mobile AppsBuilding Cross Platform Mobile Apps
Building Cross Platform Mobile AppsJonathan Stark
 
Effective Micoservice Design & Containers
Effective Micoservice Design & Containers Effective Micoservice Design & Containers
Effective Micoservice Design & Containers Nebulaworks
 

Semelhante a Real time web applications (20)

SignalR for ASP.NET Developers
SignalR for ASP.NET DevelopersSignalR for ASP.NET Developers
SignalR for ASP.NET Developers
 
SignalR With ASP.Net part1
SignalR With ASP.Net part1SignalR With ASP.Net part1
SignalR With ASP.Net part1
 
Offline Web Apps
Offline Web AppsOffline Web Apps
Offline Web Apps
 
Web 2.0: Beyond the Hype.” Usability Professionals Association, Minneapolis M...
Web 2.0: Beyond the Hype.” Usability Professionals Association, Minneapolis M...Web 2.0: Beyond the Hype.” Usability Professionals Association, Minneapolis M...
Web 2.0: Beyond the Hype.” Usability Professionals Association, Minneapolis M...
 
Html5 web sockets - Brad Drysdale - London Web 2011-10-20
Html5 web sockets - Brad Drysdale - London Web 2011-10-20Html5 web sockets - Brad Drysdale - London Web 2011-10-20
Html5 web sockets - Brad Drysdale - London Web 2011-10-20
 
SignalR 101
SignalR 101SignalR 101
SignalR 101
 
Real-time Communication using SignalR and cloud
Real-time Communication using SignalR and cloudReal-time Communication using SignalR and cloud
Real-time Communication using SignalR and cloud
 
Real-time web applications using SharePoint, SignalR and Azure Service Bus
Real-time web applications using SharePoint, SignalR and Azure Service BusReal-time web applications using SharePoint, SignalR and Azure Service Bus
Real-time web applications using SharePoint, SignalR and Azure Service Bus
 
BD Conf: Visit speed - Page speed is only the beginning
BD Conf: Visit speed - Page speed is only the beginningBD Conf: Visit speed - Page speed is only the beginning
BD Conf: Visit speed - Page speed is only the beginning
 
SOA: What It Means To The Enterprise
SOA: What It Means To The EnterpriseSOA: What It Means To The Enterprise
SOA: What It Means To The Enterprise
 
Considerations for Your Mobile Library
Considerations for Your Mobile LibraryConsiderations for Your Mobile Library
Considerations for Your Mobile Library
 
Amish Umesh - Future Of Web App Testing - ClubHack2007
Amish Umesh - Future Of Web App Testing  - ClubHack2007Amish Umesh - Future Of Web App Testing  - ClubHack2007
Amish Umesh - Future Of Web App Testing - ClubHack2007
 
Web Apps vs. Native Apps: The Low Down
Web Apps vs. Native Apps: The Low DownWeb Apps vs. Native Apps: The Low Down
Web Apps vs. Native Apps: The Low Down
 
Realtime Messaging und verteilte Systeme mit SharePoint und Windows Azure Ser...
Realtime Messaging und verteilte Systeme mit SharePoint und Windows Azure Ser...Realtime Messaging und verteilte Systeme mit SharePoint und Windows Azure Ser...
Realtime Messaging und verteilte Systeme mit SharePoint und Windows Azure Ser...
 
Software applications and challenges
Software applications and challenges Software applications and challenges
Software applications and challenges
 
www.webre24h.com - Ajax security
www.webre24h.com - Ajax securitywww.webre24h.com - Ajax security
www.webre24h.com - Ajax security
 
Rise and Fall of the Frontend Developer
Rise and Fall of the Frontend DeveloperRise and Fall of the Frontend Developer
Rise and Fall of the Frontend Developer
 
Mobile web performance dwx13
Mobile web performance dwx13Mobile web performance dwx13
Mobile web performance dwx13
 
Building Cross Platform Mobile Apps
Building Cross Platform Mobile AppsBuilding Cross Platform Mobile Apps
Building Cross Platform Mobile Apps
 
Effective Micoservice Design & Containers
Effective Micoservice Design & Containers Effective Micoservice Design & Containers
Effective Micoservice Design & Containers
 

Último

A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxAna-Maria Mihalceanu
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Kuma Meshes Part I - The basics - A tutorial
Kuma Meshes Part I - The basics - A tutorialKuma Meshes Part I - The basics - A tutorial
Kuma Meshes Part I - The basics - A tutorialJoão Esperancinha
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsYoss Cohen
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Digital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentDigital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentMahmoud Rabie
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...Nikki Chapple
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Mark Simos
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessAccelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessWSO2
 

Último (20)

A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance Toolbox
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Kuma Meshes Part I - The basics - A tutorial
Kuma Meshes Part I - The basics - A tutorialKuma Meshes Part I - The basics - A tutorial
Kuma Meshes Part I - The basics - A tutorial
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platforms
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Digital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentDigital Tools & AI in Career Development
Digital Tools & AI in Career Development
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
How Tech Giants Cut Corners to Harvest Data for A.I.
How Tech Giants Cut Corners to Harvest Data for A.I.How Tech Giants Cut Corners to Harvest Data for A.I.
How Tech Giants Cut Corners to Harvest Data for A.I.
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessAccelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with Platformless
 

Real time web applications

  • 1. Developing Real-Time and Asynchronous Web Applications Jess Chadwick Architect / RIA Specialist weblogs.asp.net/jesschadwick jesschadwick@gmail.com
  • 2. Gratuitous Plug $$$ Buy My Books! $$$ Now with 100% more Awesome! Gluten Free!
  • 3. The Real-Time Web • Information as it happens • Always Connected
  • 4. Why Should I Care? • User Interaction, aka “Social Networking” • News
  • 5.
  • 6.
  • 7. The Web Isn’t Real-Time!
  • 8. Real-Time Web 1,000’s of users connected at once
  • 9. The Traditional Web One user at a time
  • 10.
  • 11.
  • 12. Polling Benefits Drawbacks • Takes advantage of how the • Wasteful – requests occur web really works regardless of data • Reliable • Drains server and network resources • Universal browser support • Doesn’t scale
  • 13.
  • 14. Long Polling Benefits Drawbacks • Uses “standard web • Less reliable – frequent techniques” broken connections • Less wasteful – fewer requests • Based on request-response than “regular” polling interaction (might be some delay between requests) • Universal browser support
  • 15.
  • 16. Server-Sent Events Benefits Drawbacks • True real-time • Less reliable (broken connections) • Rich JavaScript API • One-way communication (client  server) • Universal browser support… except
  • 17.
  • 18. WebSockets Benefits Drawbacks • True real-time • Emerging standard • True bi-directional • Doesn’t use “standard web communication techniques” • Rich JavaScript API • Less reliable (broken connections) • Good browser support… except and Opera

Notas do Editor

  1. Real-time data = always connected; lots of time sitting and waiting; data delivered as it is generated