SlideShare uma empresa 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

Mais conteúdo relacionado

Semelhante 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
 

Semelhante 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

Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
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
 
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
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 

Último (20)

Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
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
 
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
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 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

Notas do 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