Beyond Real Time Web

1,615 views
1,566 views

Published on

Published in: Technology

Beyond Real Time Web

  1. 1. Beyond real-time web<br />Matjaž Lipuš, CTO @ <br />
  2. 2. Agenda<br />Comet<br />Comettechniques<br />Browsertechniques<br />Servers<br />Beyond real-time web | MatjažLipuš<br />
  3. 3. The problem<br />Beyond real-time web | Matjaž Lipuš <br />http://alex.dojotoolkit.org<br />
  4. 4. Comet<br />Beyond real-time web | Matjaž Lipuš <br />Evolution, not revolution<br />http://alex.dojotoolkit.org<br />
  5. 5. Comettechnique Polling<br />Beyond real-time web | Matjaž Lipuš <br />http://www.ape-project.org/comics/1/Chapter-I-common-let-s-push.html<br />
  6. 6. Comettechnique Long Polling<br />Data transfer endsconnection<br />Clientre-connectaftereverydata transfer<br />http://alex.dojotoolkit.org<br />Beyond real-time web | Matjaž Lipuš <br />
  7. 7. Comettechnique Streaming<br />No re-connect<br />Minimum latency<br />http://alex.dojotoolkit.org<br />Beyond real-time web | Matjaž Lipuš <br />
  8. 8. Browsertechniques<br />Beyond real-time web | Matjaž Lipuš <br />XHR<br />polling<br />a lot of &quot;empty&quot; requests<br />XHR interactivestate<br />longpolling<br />Multipart XHR<br />streaming<br />no supportedcrossbrowser<br />
  9. 9. Browsertechniques<br />Foreverframe<br />streaming<br />connectiononlycloses on errors or connection &quot;recycling&quot;<br />data is encoded in &quot;envelopes&quot;<br />subdomains<br />document.domain<br />Opera<br />IE: htmlfile ActiveX<br />Scripttag<br />longpolling<br />cross-domain<br />Beyond real-time web | Matjaž Lipuš <br />
  10. 10. Browsertechniques<br />Flash/Java<br />Plugin<br />Flash: policyserver<br />Websockets<br />HTML 5<br />port 80<br />Beyond real-time web | Matjaž Lipuš <br />
  11. 11. Servers<br />Apache, IIS won&apos;t cut it.<br />threads or processes<br />fixed resources per request<br />Libraries:<br />http://twistedmatrix.com<br />http://rubyeventmachine.com<br />http://github.com/simonw/nodecast<br />Beyond real-time web | Matjaž Lipuš <br />
  12. 12. Servers Criteria<br />performance<br />supportedtechniques<br />serverlanguage<br />clientlibraries<br />license/price<br />JavaScriptlibrary<br />messagedispatching - STOMP protocol<br />reliable messaging<br />addressing - multiple apps<br />PubSub<br />security - SSL, LDAP<br />Beyond real-time web | Matjaž Lipuš <br />
  13. 13. Server  <br />Pros:<br />streaming, polling, long polling<br />free, stable<br />nice overview of comet<br />Cons: <br />loadingindicator<br />Beyond real-time web | Matjaž Lipuš <br />http://meteorserver.org<br />
  14. 14. Server  <br />Pros:<br />horizontal scaling<br />Web/TCP sockets<br />open source<br />documentation<br />js.io library<br />Cons: <br />development<br />community<br />Beyond real-time web | MatjažLipuš<br />http://orbited.org<br />
  15. 15. Server  <br />Pros:<br />documentation<br />webstandards<br />open source<br />100.000 mess./s<br />comicbook<br />Cons:<br />Linux only<br />Beyond real-time web | Matjaž Lipuš <br />http://www.ape-project.org<br />
  16. 16. Server  <br />Pros:<br />freeversion<br />1 MIO mess./s<br />Multiplesources<br />Automaticfailover<br />Java/.NET clientlibrary<br />Cons:<br />loadingindicator<br />only Linux<br />Beyond real-time web | Matjaž Lipuš <br />http://www.freeliberator.com<br />
  17. 17. Server  <br />Pros:<br />early on the scene<br />lotsofclientAPIs<br />Cons:<br />loadingindicator<br />Beyond real-time web | Matjaž Lipuš <br />http://www.lightstreamer.com<br />
  18. 18. Server  <br />Pros:<br />&quot;father&quot; ofcomet<br />Dojofundation<br />Cons:<br />documentation<br />examples<br />Beyond real-time web | Matjaž Lipuš <br />http://cometd.org<br />
  19. 19. Server  <br />Pros:<br />simple API<br />FreeCommunityEdition<br />Cons:<br />loadingindicator<br />Beyond real-time web | Matjaž Lipuš <br />http://www.stream-hub.com<br />
  20. 20. Server <br />Pros:<br />1 MIO mess./s<br />Faulttolerantsystem<br />SSL<br />Java, PHP, PerlAPIs<br />RDBMS sources<br />Cons:<br />veryfewinfo. forcommercialproduct<br />Beyond real-time web | Matjaž Lipuš <br />http://www.migratory.ro<br />
  21. 21. Comparison<br />One big fat table for:<br />CaplinLiberator<br />Cometd (Python) <br />ErlyComet<br />GlassFish<br />Jetty<br />Lightstreamer<br />Meteor <br />Orbited<br />Persevere<br />RMDS2Web Server<br /> <br />Beyond real-time web | Matjaž Lipuš <br />http://cometdaily.com/maturity.html<br />
  22. 22. Contact<br />Matjaž Lipuš, CTO <br />e-mail: matjaz@theflowr.com<br />Twitter: @MatjazL<br />

×