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.




Technorati : , , , ,

Topics:

Comments: 3 so far

  1. “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

  2. 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

  3. The “Bayeux wide-area data dissemination” paper looks unrelated.

    Comment by Aseem Bajaj, Wednesday, April 25, 2007 @ 2:19 pm

Leave a comment

Powered by WP Hashcash

About Pathfinder

Follow the Blog

    Get a monthly update on best practices for delivering successful software.

    Subscribe via email

      

    Subscribe via RSS      RSS icon

Topics

Search

WordPress

Comments about this site: info@pathf.com