SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere ähnliche Inhalte

Ähnlich wie 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
 

Ähnlich wie 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
 

Kürzlich hochgeladen

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
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKJago de Vreede
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
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
 
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
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 

Kürzlich hochgeladen (20)

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
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
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
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
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, ...
 
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...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 

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

Hinweis der Redaktion

  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