[jdev] Atom over XMPP using JEP-0060

Bob Wyman bob at wyman.us
Sun Jun 6 15:16:21 CDT 2004

Peter wrote:
> I've been planning to write up some informational
> documentation of ATOM over XMPP (probably via a JEP) 
> once the Atom spec stabilizes, but feel free to do so first. :-)
	There are a number of key issues that need to be resolved before we
can really know how to do "Atom over XMPP" properly. The most important is
related to the general question of producing "synthetic feeds". (I.e. How
does one represent an entry that has been isolated or extracted from its
source feed?) The <ps:source-feed> element that you see in the example I
provided is an attempt to demonstrate one approach to the problem.
	I presented this approach at last week's Atom community meeting at
Sun and at least got a "sense of the room" that it wasn't completely
brain-dead. Remaining issues include: "What elements of the feed should be
propagated into the entry?" For instance, "If there are namespaced
extensions, should they be copied?" It will take some additional debate and
sharing of use-cases on the atom-syntax list before we can say definitively
how to address the issue.
	There are also some issues related to the kind of service that we
provide at pubsub.com. We currently provide JEP-0060 feeds for all
subscriptions created at http://PubSub.com , however, we don't support the
use of JEP-0060 to create subscriptions. The problem here is that JEP-0060
is very heavily biased towards what is called "topic-based" subscriptions
while what we do is "content-based" publish-and-subscribe. There are some
mismatches between the models that we're trying to work out. (I.e. should a
"subscription" correspond to a node, or, should a subscription be considered
something which "configures" a node?). 
	Processors of "Atom over XMPP" will need to be aware of the
distinction between a synthetic feed (i.e. one composed of elements
extracted from other feeds) and source-feeds. This will be no different than
the requirements that will be placed on normal, file-based, feed
aggregators. The primary distinction will be that synthetic feed generators
will need to associate meta-data from the source-feed with the individual
elements while original publishers of data will not need to do so.
	My hope is that we'll be able to talk developers of Jabber Clients
into building in support for receiving Atom entries via JEP-0060. This might
look something like Trillian's support for RSS. Also, I hope that we'll be
able to convince developers of RSS/Atom news aggregators into building in
support to receive entries via Jabber JEP-0060. 
	I believe that moving from a world in which syndicated data is
distributed via polling of files to a world in which syndicated data is
delivered over push protocols like Jabber will result in more timely
delivery of data at the same time that bandwidth requirements are
drastically reduced. 

		bob wyman

More information about the JDev mailing list