Bayeux - A JSON Protocol For Publish/Subscribe Event Delivery
The Dojo Foundation has certainly been very active in the last few weeks. In addition to the inclusion of cometd in their stable of projects, they're involved in putting together a specification for sending events to browsers -- async update, in other words, kind of like a JMS for JSON, Comet and browsers. The spec looks like a solid effort to turn the ad-hoc comet efforts into something more robust. From the draft intro:
Initial connection setup specifies to the system a message envelope type for all communications on a particular channel, but inside this envelope a normalized JSON structure is used to communicate with all endpoints. The event router is channel based, with rules based on longest-prefix match dispatching for registered listeners.
The "/meta/*" channel is reserved for communications with the event router itself (including connection setup, tear-down, and re-connection), and all conformant clients and servers must implement the following meta-channel verbs:
- handshake
- connect
- reconnect
- disconnect
- status
- subscribe
- unsubscribe
- ping
The full draft specification for the Bayeux protocol can be found here. Also, Alex Russel has blogged about Bayeux and Cometd here and here.
It certainly looks interesting. Of course, the key to the success of any standard is wide adoption. Given the tendency of folks in the Ajax community to roll their own, I have my doubts right now on whether this standard gains enough traction. Maybe it would help if they got the Open Ajax Initiative involved.
Curious name for a protocol. I wonder if it's related to the Bayeux wide-area data disemination technology that was developed for streaming media applications by Shelley Q. Zhuang, et. al.? No info about the name choice from Dojo.
Topics: COMET
Comments: 3 so far
Leave a comment
About Pathfinder
Follow the Blog
-
Get a monthly update on best practices for delivering successful software.
Subscribe via email
Subscribe via RSS
Categories
Topics
Archives
- July 2009
- June 2009
- May 2009
- April 2009
- March 2009
- February 2009
- January 2009
- December 2008
- November 2008
- October 2008
- September 2008
- August 2008
- July 2008
- June 2008
- May 2008
- April 2008
- March 2008
- February 2008
- January 2008
- December 2007
- November 2007
- October 2007
- September 2007
- August 2007
- July 2007
- June 2007
- May 2007
- April 2007
- March 2007
- February 2007
- January 2007
- December 2006
- November 2006
- October 2006
- September 2006
- August 2006
- July 2006
- June 2006
- May 2006
- April 2006
- March 2006
Blogroll
Recent
- Elements of Testing Style
- Aesthetics and Web Design
- Asterisk-Java Testing with Groovy
- 3 Misuses of Code Comments
- Fluently NHibernate
- Digging a Hole and Covering it with Leaves — The Software Development Version
- The Importance of User Experience - Do You Understand It in Your Bones?
- Writing Your Own Protocol With NSURLProtocol
- What’s In Your Dock: iPhone edition
- Feature Fatigue

“Bayeux” refers to a famous French tapestry that includes, among its many elements, a depiction of Halley’s comet.
Comment by Gavin Doughtie, Tuesday, August 8, 2006 @ 6:25 pm
gCometd: Introducing the Cometd framework and its Bayeux protocol support in Grizzly
The Cometd framework and its Bayeux protocol is now supported starting with Grizzly 1.0.11 and GlassFish 9.1 b35. In this first blog, I will talk about the gCometd implementation, how to enable it and describe a DOJO cometd enabled example.
Comment by Jean-Francois Arcand's Blog, Friday, February 2, 2007 @ 4:40 pm
The “Bayeux wide-area data dissemination” paper looks unrelated.
Comment by Aseem Bajaj, Wednesday, April 25, 2007 @ 2:19 pm