Your SlideShare is downloading. ×
COMET in Plone
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

COMET in Plone

2,821

Published on

COMET is an upcoming method for delivering real-time interaction to a website by using server-push technologies. At the Snow Sprint 2008 Jean-Nicolas Bes and Ramon Bartl worked on making COMET work …

COMET is an upcoming method for delivering real-time interaction to a website by using server-push technologies. At the Snow Sprint 2008 Jean-Nicolas Bes and Ramon Bartl worked on making COMET work for the Open Source CMS Plone.

This is their presentation from the final sprint summary.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,821
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
40
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Bringing Comet to Plone KSS + Eventpush A first quick and dirty approach dr_jnut & ramonski http://plone.org
  • 2. • „Comet is a giant Hack“ - Jacob Rus • use mechanisms unforseen by browser Vendors and unspecified by web standards
  • 3. Traditional Web Applications • Page-by-page web • Pages load on user request • No real time
  • 4. AJAX Web Application • Updating parts of the page with JS • Closes each connection after a response is served • No real time
  • 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
  • 6. Comet Web Application • Sending data to the client without explicit request • Rely on persistent connection between server and client • REAL real time!!!
  • 7. 2 Strategies • Streaming - Single persistent connection • Long Polling - New request for each event - No response until an event occurs
  • 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...
  • 9. eventPush ClientSide HttpWizard Zope/Plone HTTP proxy eventPush iFrame /@@feeder
  • 10. HttpWizard internals Proxy (rewrites URI) VirtualHost www.plone.org Backend Frontend eventPush VirtualHost www.plone.net
  • 11. eventPush fileupload ClientSide HttpWizard Zope/Plone Upload iframe HTTP proxy eventPush iFrame /@@feeder
  • 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
  • 13. DEMO Time
  • 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
  • 15. Links • http://plone.org • Buildout: https://svn.plone.org/svn/collective/ plonekss/eventPush/buildout/trunk
  • 16. Thanks to... • KSS guys (__gotcha, ree et al.) • Lovely systems • Berggasthof Piz-Buin • idSoftware (Q3 Rocketarena) • beer in all variants

×