« Trang Ant task v0.8 | Main | Real world application for RDF, and the quote of the week »

JXTA v Jabber - Jabber wins?

ideas asylum

Jamie Lawrence:

Jabber has lots of interesting features for instant messaging like "presence" (which JXTA is only just getting around to) and even "mood indicators". But overall, JXTA has a nicer architecture which would seem more appropriate to building applications on top of. JXME also has the advantage of being smaller (~10k[pdf] vs 50k?). And apparently Sun are beginning to think of JXTA as something other than a toy research project. On the other hand, Jabber clients already exist for J2ME whereas I'm not aware of anything based on JXME.

I wonder is Sun really taking JXTA seriously? JXTA reminds me of Jini, a very decent technology allowed to wander somewhat aimlessly - and so everyone behind the firewall got EJB, when they could have had JavaSpaces. I remember a Sun engineer explaining to me a few years ago how the Webservices/SOAP had thrown a disruptive (and suboptimal) spanner in the technology adoption curve - the next wave after client server should have been mobile, peer aware, seamless networking, and Jini based, but it turned out to be RPC with angle brackets. Who'd have thought it?

Personally, I'd graft the best of JXTA onto Jabber, if Jabber suits. J2ME device footprints will catch up. [The J2ME community could learn something from the history of PC gaming, namely use the sofware to drive the hardware, not the other way around - consider what's being done to XML and SAX on J2ME.]

I have two other minor beefen with JXTA.

First is that it reminds me of other mildly chaotic opensource projects. The ones where there's way too much going on to get a handle on.

The second is architectural rather than social. I've only goofed about with JXTA, and I basically like it but it strikes me as having framework disease. It's an architecture for architecting p2p architectures. Sometimes its worth solving the problem before tackling the meta-problem.

July 27, 2003 09:16 PM


(July 30, 2003 12:57 AM #)

As I see it, Jabber is still a largely unproven protocol. Sure there are deployments but I've never heard of any massive Jabber installations with one server handling thousands of clients. And due to several fundamental design problems in Jabber (eg the persistent connections/xml-streams architecture) I don't think this will ever happen. JXTA is alive and well, it just hasn't reached the marketing phase. Rest assured there are real corporations building real solutions on JXTA--some internal, some for sale. Also, you might look closer at the JXTA architecture. It isn't really an architecture of architectures at all. The best analogy of JXTA is a TCP/Protocol Stack for P2P applications and indeed there's been complains that JXTA is too low level. Anyways, personally, I expect big things from JXTA but as always, we'll see what happens.

(August 5, 2003 02:00 AM #)

Sun is very serious about JXTA as the core platform technology continues to be refined and improved by the open-source JXTA community. But, I fully agree with your comment as JXTA continues to grow, the
JXTA community needs to better organize and manage all its resources, and help lower the barrier of entry
for newcomers.

JXTA is an open architecture allowing developer's to customize the JXTA platform, and integrate JXTA with other technologies. I am thrilled to hear people talking implementing Jabber on top of JXTA.
This is a great idea that will show that both technologies are not competing, but are in fact very complementary. Presence is a hard problem which is likely to be
application driven. An IM presence may be different than a file-sharing presence.

The JXTA platform just attempts to define the essential network building blocks to build a wide variety of P2P services such as presence service and IM. As Bo mentioned, JXTA can be viewed as a TCP/IP stack on steroids addressing current IP and DNS network deployment limitations for building P2P applications. JXTA creates a logical virtual network that abstracts all physical network topology dependencies.



"As Java implies platform independence, and XML implies language independence, then JXTA implies network independence."

Trackback Pings

TrackBack URL for this entry: