Slideshow transcript
Slide 1: Bringing Comet to Plone KSS + Eventpush A first quick and dirty approach dr_jnut & ramonski http://plone.org
Slide 2: • „Comet is a giant Hack“ - Jacob Rus • use mechanisms unforseen by browser Vendors and unspecified by web standards
Slide 3: Traditional Web Applications • Page-by-page web • Pages load on user request • No real time
Slide 4: AJAX Web Application • Updating parts of the page with JS • Closes each connection after a response is served • No real time
Slide 5: Ajax with polling • Browser polls regulary the server for updates. • Wastes server resources and bandwith. • No real real time • Trade-off between latency and server load
Slide 6: Comet Web Application • Sending data to the client without explicit request • Rely on persistent connection between server and client • REAL real time!!!
Slide 7: 2 Strategies • Streaming - Single persistent connection • Long Polling - New request for each event - No response until an event occurs
Slide 8: „Forever Frame“ IFrame streaming approach • Gradually filled with script tags to be executed in the browser • Rendered incrementally, so each script tag is executed as it is received. • Can grow to an unreasonable size...
Slide 9: eventPush ClientSide HttpWizard Zope/Plone HTTP proxy eventPush iFrame /@@feeder
Slide 10: HttpWizard internals Proxy (rewrites URI) VirtualHost www.plone.org Backend Frontend eventPush VirtualHost www.plone.net
Slide 11: eventPush fileupload ClientSide HttpWizard Zope/Plone Upload iframe HTTP proxy eventPush iFrame /@@feeder
Slide 12: File upload in HttpWizard FileUpload hook 4. 3. 4. Proxy 2. (rewrites URI) 5. VirtualHost 1. www.plone.org Backend Frontend eventPush VirtualHost www.plone.net
Slide 13: DEMO Time
Slide 14: How will this evolve? • HTML 5 draft from WHATWG * • Introduces server-sent events • Much more straightforward • Avoids comet downsides * Web Hypertext Application Technology Working Group
Slide 15: Links • http://plone.org • Buildout: https://svn.plone.org/svn/collective/ plonekss/eventPush/buildout/trunk
Slide 16: Thanks to... • KSS guys (__gotcha, ree et al.) • Lovely systems • Berggasthof Piz-Buin • idSoftware (Q3 Rocketarena) • beer in all variants






Add a comment on Slide 1
If you have a SlideShare account, login to comment; else you can comment as a guest- Favorites & Groups
Showing 1-50 of 3 (more)