SlideShare una empresa de Scribd logo
1 de 31
State-of-the-art Real-Time Web
Applications

Paul Seiffert I November 22rd 2012




                                     © 2012 Mayflower GmbH
/**
  * @author Paul Seiffert <paul.seiffert@mayflower.de>
  */




•Developer @ Mayflower
•Studied @ TU München
•Jabber/E-Mail:
   paul.seiffert@mayflower.de




                               State-of-the-art Realtime Web   I   Mayflower GmbH   I   November 22nd 2012   I 2
// Topic




           Real-Time
              Web

              State-of-the-art Realtime Web   I   Mayflower GmbH   I   November 22nd 2012   I 3
// User’s Expectations




    Information displayed on websites is
    up-to-date




                         State-of-the-art Realtime Web   I   Mayflower GmbH   I   November 22nd 2012   I 4
// User’s Expectations




    Information displayed on websites is
    up-to-date



    30 minutes later:




                         State-of-the-art Realtime Web   I   Mayflower GmbH   I   November 22nd 2012   I 4
// User’s Expectations




    Information displayed on websites is
    up-to-date



    30 minutes later:
          Information is still up-to-date /
          updated



                         State-of-the-art Realtime Web   I   Mayflower GmbH   I   November 22nd 2012   I 4
// HTTP




          State-of-the-art Realtime Web   I   Mayflower GmbH   I   November 22nd 2012   I 5
// Next step: XHR-Polling




    Web applications started to ask
    the server for new information




                       State-of-the-art Realtime Web   I   Mayflower GmbH   I   November 22nd 2012   I 6
Probably not a good
       idea.


        State-of-the-art Realtime Web   I   Mayflower GmbH   I   November 22nd 2012   I 8
Good idea:
WebSockets!


    State-of-the-art Realtime Web   I   Mayflower GmbH   I   November 22nd 2012   I 9
// Browsers support WebSockets!




                                                             source: http://caniuse.com/
                                                             websockets
                      State-of-the-art Realtime Web   I   Mayflower GmbH   I   November 22nd 2012   I 11
// Browsers support WebSockets!




                                                             source: http://caniuse.com/
                                                             websockets
                      State-of-the-art Realtime Web   I   Mayflower GmbH   I   November 22nd 2012   I 11
// Architecture



                                             PHP +
                                           Symfony2


                       HTTP

JavaScript App                                                                        DB / Redis



                  WebSocket
                                             Node.js




                              State-of-the-art Realtime Web   I   Mayflower GmbH   I   November 22nd 2012   I 12
// Approach: Reactive Programming



 Changes to entity objects have to be
 communicated to all browsers that are currently
 connected!




                      State-of-the-art Realtime Web   I   Mayflower GmbH   I   November 22nd 2012   I 13
// Approach: Reactive Programming



 Changes to entity objects have to be
 communicated to all browsers that are currently
 connected!


   This communication has to be done transparently.




                      State-of-the-art Realtime Web   I   Mayflower GmbH   I   November 22nd 2012   I 13
// Approach: Reactive Programming



 Changes to entity objects have to be
 communicated to all browsers that are currently
 connected!


   This communication has to be done transparently.




Reactive Programming

                      State-of-the-art Realtime Web   I   Mayflower GmbH   I   November 22nd 2012   I 13
// Demo



I Simon Waibl’s Bachelor Thesis




      “Real-Time Model Synchronization with
                  Symfony2”




                        State-of-the-art Realtime Web   I   Mayflower GmbH   I   November 22nd 2012   I 14
Demo



 State-of-the-art Realtime Web   I   Mayflower GmbH   I   November 22nd 2012   I 15
// “Real-Real-Time”



I Sportactics: Live-Tracking of Soccer Players




                         State-of-the-art Realtime Web   I   Mayflower GmbH   I   November 22nd 2012   I 16
// Challenge



I Tracking and visualizing the position of
   I 22 Soccer Players + 1 Ball
   I with a sample rate of 20hz
   I for 90 minutes




                          State-of-the-art Realtime Web   I   Mayflower GmbH   I   November 22nd 2012   I
// Challenge



I Tracking and visualizing the position of
   I 22 Soccer Players + 1 Ball
   I with a sample rate of 20hz
   I for 90 minutes




                          State-of-the-art Realtime Web   I   Mayflower GmbH   I   November 22nd 2012   I
// Challenge



I Tracking and visualizing the position of
   I 22 Soccer Players + 1 Ball
   I with a sample rate of 20hz
   I for 90 minutes




         80Byte × 23 (Tags) × 20Hz ≈ 36 KB/s




                          State-of-the-art Realtime Web   I   Mayflower GmbH   I   November 22nd 2012   I
// Challenge



I Tracking and visualizing the position of
   I 22 Soccer Players + 1 Ball
   I with a sample rate of 20hz
   I for 90 minutes




         80Byte × 23 (Tags) × 20Hz ≈ 36 KB/s


           36KB/s × 60s × 90 (min) ≈ 200 MB



                          State-of-the-art Realtime Web   I   Mayflower GmbH   I   November 22nd 2012   I
// Technology



I PHP-Backend: Symfony2, Doctrine
  storage: MySQL


I Node-Backend: Node.js, Socket.io


I Frontend: Backbone.js, Raphaël, ...




                         State-of-the-art Realtime Web   I   Mayflower GmbH   I   November 22nd 2012   I 18
Demo



 State-of-the-art Realtime Web   I   Mayflower GmbH   I   November 22nd 2012   I 19
+



State-of-the-art Realtime Web   I   Mayflower GmbH   I   November 22nd 2012   I 20
+



State-of-the-art Realtime Web   I   Mayflower GmbH   I   November 22nd 2012   I 21
+

mmmmh... tasty!
   State-of-the-art Realtime Web   I   Mayflower GmbH   I   November 22nd 2012   I 21
// Thanks!




Contact Paul Seiffert
        paul.seiffert@mayflower.de
        +49 89 242054-1172

        Mayflower GmbH
        Mannhardtstr. 6
        80538 München



                                    © 2012 Mayflower GmbH

Más contenido relacionado

Similar a State-of-the-art real-time web applications

Max Köhler - Real-Time-Monitoring
Max Köhler - Real-Time-MonitoringMax Köhler - Real-Time-Monitoring
Max Köhler - Real-Time-MonitoringMayflower GmbH
 
Continuous Improvement in PHP projects
Continuous Improvement in PHP projectsContinuous Improvement in PHP projects
Continuous Improvement in PHP projectsMayflower GmbH
 
One Click Deployment with Jenkins
One Click Deployment with JenkinsOne Click Deployment with Jenkins
One Click Deployment with JenkinsMayflower GmbH
 
HTML5 for PHP Developers - IPC
HTML5 for PHP Developers - IPCHTML5 for PHP Developers - IPC
HTML5 for PHP Developers - IPCMayflower GmbH
 
HTML5 for PHP Developers - IPC
HTML5 for PHP Developers - IPCHTML5 for PHP Developers - IPC
HTML5 for PHP Developers - IPCMayflower GmbH
 
HTML5 for PHP Developers - DPC11
HTML5 for PHP Developers - DPC11HTML5 for PHP Developers - DPC11
HTML5 for PHP Developers - DPC11Mayflower GmbH
 
Continuous Improvement in PHP projects - PBC10
Continuous Improvement in PHP projects - PBC10Continuous Improvement in PHP projects - PBC10
Continuous Improvement in PHP projects - PBC10Mayflower GmbH
 
Bosch Connect: Under the Hood
Bosch Connect: Under the HoodBosch Connect: Under the Hood
Bosch Connect: Under the HoodLetsConnect
 
Jsjqwebapp.12.14.17
Jsjqwebapp.12.14.17Jsjqwebapp.12.14.17
Jsjqwebapp.12.14.17Thinkful
 
Continuous Improvement in PHP Projects - PHP UK Conference 2011
Continuous Improvement in PHP Projects - PHP UK Conference 2011Continuous Improvement in PHP Projects - PHP UK Conference 2011
Continuous Improvement in PHP Projects - PHP UK Conference 2011Mayflower GmbH
 
Automating Screenshot Testing Component Library
Automating Screenshot Testing Component LibraryAutomating Screenshot Testing Component Library
Automating Screenshot Testing Component LibraryApplitools
 
One click deployment with Jenkins - PHP Munich
One click deployment with Jenkins - PHP MunichOne click deployment with Jenkins - PHP Munich
One click deployment with Jenkins - PHP MunichMayflower GmbH
 
Workshop: Introduction to Web Components & Polymer
Workshop: Introduction to Web Components & Polymer Workshop: Introduction to Web Components & Polymer
Workshop: Introduction to Web Components & Polymer John Riviello
 
Tech Webinar: Offline First: Creare un'app Phonegap che funzioni offline e si...
Tech Webinar: Offline First: Creare un'app Phonegap che funzioni offline e si...Tech Webinar: Offline First: Creare un'app Phonegap che funzioni offline e si...
Tech Webinar: Offline First: Creare un'app Phonegap che funzioni offline e si...Codemotion
 
One Click Deployment with Jenkins - PHP Unconference 2011
One Click Deployment with Jenkins - PHP Unconference 2011One Click Deployment with Jenkins - PHP Unconference 2011
One Click Deployment with Jenkins - PHP Unconference 2011Mayflower GmbH
 
How and why we use Drupal - a business owner's perspective
How and why we use Drupal - a business owner's perspectiveHow and why we use Drupal - a business owner's perspective
How and why we use Drupal - a business owner's perspectiveJeffrey McGuire
 

Similar a State-of-the-art real-time web applications (20)

Max Köhler - Real-Time-Monitoring
Max Köhler - Real-Time-MonitoringMax Köhler - Real-Time-Monitoring
Max Köhler - Real-Time-Monitoring
 
Goobi overview
Goobi overviewGoobi overview
Goobi overview
 
Continuous Improvement in PHP projects
Continuous Improvement in PHP projectsContinuous Improvement in PHP projects
Continuous Improvement in PHP projects
 
One Click Deployment with Jenkins
One Click Deployment with JenkinsOne Click Deployment with Jenkins
One Click Deployment with Jenkins
 
HTML5 for PHP Developers - IPC
HTML5 for PHP Developers - IPCHTML5 for PHP Developers - IPC
HTML5 for PHP Developers - IPC
 
HTML5 for PHP Developers - IPC
HTML5 for PHP Developers - IPCHTML5 for PHP Developers - IPC
HTML5 for PHP Developers - IPC
 
HTML5 Workshop
HTML5 WorkshopHTML5 Workshop
HTML5 Workshop
 
HTML5 for PHP Developers - DPC11
HTML5 for PHP Developers - DPC11HTML5 for PHP Developers - DPC11
HTML5 for PHP Developers - DPC11
 
Realtime web
Realtime webRealtime web
Realtime web
 
Continuous Improvement in PHP projects - PBC10
Continuous Improvement in PHP projects - PBC10Continuous Improvement in PHP projects - PBC10
Continuous Improvement in PHP projects - PBC10
 
Terrific Composer Workshop
Terrific Composer WorkshopTerrific Composer Workshop
Terrific Composer Workshop
 
Bosch Connect: Under the Hood
Bosch Connect: Under the HoodBosch Connect: Under the Hood
Bosch Connect: Under the Hood
 
Jsjqwebapp.12.14.17
Jsjqwebapp.12.14.17Jsjqwebapp.12.14.17
Jsjqwebapp.12.14.17
 
Continuous Improvement in PHP Projects - PHP UK Conference 2011
Continuous Improvement in PHP Projects - PHP UK Conference 2011Continuous Improvement in PHP Projects - PHP UK Conference 2011
Continuous Improvement in PHP Projects - PHP UK Conference 2011
 
Automating Screenshot Testing Component Library
Automating Screenshot Testing Component LibraryAutomating Screenshot Testing Component Library
Automating Screenshot Testing Component Library
 
One click deployment with Jenkins - PHP Munich
One click deployment with Jenkins - PHP MunichOne click deployment with Jenkins - PHP Munich
One click deployment with Jenkins - PHP Munich
 
Workshop: Introduction to Web Components & Polymer
Workshop: Introduction to Web Components & Polymer Workshop: Introduction to Web Components & Polymer
Workshop: Introduction to Web Components & Polymer
 
Tech Webinar: Offline First: Creare un'app Phonegap che funzioni offline e si...
Tech Webinar: Offline First: Creare un'app Phonegap che funzioni offline e si...Tech Webinar: Offline First: Creare un'app Phonegap che funzioni offline e si...
Tech Webinar: Offline First: Creare un'app Phonegap che funzioni offline e si...
 
One Click Deployment with Jenkins - PHP Unconference 2011
One Click Deployment with Jenkins - PHP Unconference 2011One Click Deployment with Jenkins - PHP Unconference 2011
One Click Deployment with Jenkins - PHP Unconference 2011
 
How and why we use Drupal - a business owner's perspective
How and why we use Drupal - a business owner's perspectiveHow and why we use Drupal - a business owner's perspective
How and why we use Drupal - a business owner's perspective
 

Último

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024SynarionITSolutions
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Principled Technologies
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 

Último (20)

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 

State-of-the-art real-time web applications

  • 1. State-of-the-art Real-Time Web Applications Paul Seiffert I November 22rd 2012 © 2012 Mayflower GmbH
  • 2. /** * @author Paul Seiffert <paul.seiffert@mayflower.de> */ •Developer @ Mayflower •Studied @ TU München •Jabber/E-Mail: paul.seiffert@mayflower.de State-of-the-art Realtime Web I Mayflower GmbH I November 22nd 2012 I 2
  • 3. // Topic Real-Time Web State-of-the-art Realtime Web I Mayflower GmbH I November 22nd 2012 I 3
  • 4. // User’s Expectations Information displayed on websites is up-to-date State-of-the-art Realtime Web I Mayflower GmbH I November 22nd 2012 I 4
  • 5. // User’s Expectations Information displayed on websites is up-to-date 30 minutes later: State-of-the-art Realtime Web I Mayflower GmbH I November 22nd 2012 I 4
  • 6. // User’s Expectations Information displayed on websites is up-to-date 30 minutes later: Information is still up-to-date / updated State-of-the-art Realtime Web I Mayflower GmbH I November 22nd 2012 I 4
  • 7. // HTTP State-of-the-art Realtime Web I Mayflower GmbH I November 22nd 2012 I 5
  • 8. // Next step: XHR-Polling Web applications started to ask the server for new information State-of-the-art Realtime Web I Mayflower GmbH I November 22nd 2012 I 6
  • 9.
  • 10. Probably not a good idea. State-of-the-art Realtime Web I Mayflower GmbH I November 22nd 2012 I 8
  • 11. Good idea: WebSockets! State-of-the-art Realtime Web I Mayflower GmbH I November 22nd 2012 I 9
  • 12.
  • 13. // Browsers support WebSockets! source: http://caniuse.com/ websockets State-of-the-art Realtime Web I Mayflower GmbH I November 22nd 2012 I 11
  • 14. // Browsers support WebSockets! source: http://caniuse.com/ websockets State-of-the-art Realtime Web I Mayflower GmbH I November 22nd 2012 I 11
  • 15. // Architecture PHP + Symfony2 HTTP JavaScript App DB / Redis WebSocket Node.js State-of-the-art Realtime Web I Mayflower GmbH I November 22nd 2012 I 12
  • 16. // Approach: Reactive Programming Changes to entity objects have to be communicated to all browsers that are currently connected! State-of-the-art Realtime Web I Mayflower GmbH I November 22nd 2012 I 13
  • 17. // Approach: Reactive Programming Changes to entity objects have to be communicated to all browsers that are currently connected! This communication has to be done transparently. State-of-the-art Realtime Web I Mayflower GmbH I November 22nd 2012 I 13
  • 18. // Approach: Reactive Programming Changes to entity objects have to be communicated to all browsers that are currently connected! This communication has to be done transparently. Reactive Programming State-of-the-art Realtime Web I Mayflower GmbH I November 22nd 2012 I 13
  • 19. // Demo I Simon Waibl’s Bachelor Thesis “Real-Time Model Synchronization with Symfony2” State-of-the-art Realtime Web I Mayflower GmbH I November 22nd 2012 I 14
  • 20. Demo State-of-the-art Realtime Web I Mayflower GmbH I November 22nd 2012 I 15
  • 21. // “Real-Real-Time” I Sportactics: Live-Tracking of Soccer Players State-of-the-art Realtime Web I Mayflower GmbH I November 22nd 2012 I 16
  • 22. // Challenge I Tracking and visualizing the position of I 22 Soccer Players + 1 Ball I with a sample rate of 20hz I for 90 minutes State-of-the-art Realtime Web I Mayflower GmbH I November 22nd 2012 I
  • 23. // Challenge I Tracking and visualizing the position of I 22 Soccer Players + 1 Ball I with a sample rate of 20hz I for 90 minutes State-of-the-art Realtime Web I Mayflower GmbH I November 22nd 2012 I
  • 24. // Challenge I Tracking and visualizing the position of I 22 Soccer Players + 1 Ball I with a sample rate of 20hz I for 90 minutes 80Byte × 23 (Tags) × 20Hz ≈ 36 KB/s State-of-the-art Realtime Web I Mayflower GmbH I November 22nd 2012 I
  • 25. // Challenge I Tracking and visualizing the position of I 22 Soccer Players + 1 Ball I with a sample rate of 20hz I for 90 minutes 80Byte × 23 (Tags) × 20Hz ≈ 36 KB/s 36KB/s × 60s × 90 (min) ≈ 200 MB State-of-the-art Realtime Web I Mayflower GmbH I November 22nd 2012 I
  • 26. // Technology I PHP-Backend: Symfony2, Doctrine storage: MySQL I Node-Backend: Node.js, Socket.io I Frontend: Backbone.js, Raphaël, ... State-of-the-art Realtime Web I Mayflower GmbH I November 22nd 2012 I 18
  • 27. Demo State-of-the-art Realtime Web I Mayflower GmbH I November 22nd 2012 I 19
  • 28. + State-of-the-art Realtime Web I Mayflower GmbH I November 22nd 2012 I 20
  • 29. + State-of-the-art Realtime Web I Mayflower GmbH I November 22nd 2012 I 21
  • 30. + mmmmh... tasty! State-of-the-art Realtime Web I Mayflower GmbH I November 22nd 2012 I 21
  • 31. // Thanks! Contact Paul Seiffert paul.seiffert@mayflower.de +49 89 242054-1172 Mayflower GmbH Mannhardtstr. 6 80538 München © 2012 Mayflower GmbH

Notas del editor

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n