JXTA meets HTTP
James and I have been discussing meerkat, a scheme he’s been developing for some time. “JXTA Meerkat”, not to be confused with O’Reilly’s Meerkat, seeks to bridge clients with HTTP-only capabilities to a JXTA backend network.
JXTA Meerkat mirrored some thoughts I was having about how to bridge the world of browsers-only and a JXTA network. My original fuzzy approach involved Tomcat as a front end to a JXTA network on the backend, while James took a more direct approach and immediately moved to a lightweight HTTP frontend to the same backend p2p network.
Why bother bridging HTTP clients to JXTA networks? Simple: there may be a sea of users who are interested in the productions of the JXTA network who are not actually participating in it. For example.
If I have Meerkat’s semantics right, and I’m not at all sure I do, it would need a way to specify a peergroup to query using standard CGI or Servlet-like technology
For example, to query for peer advertisements we might say
http://www.portal.example.com/cgi-bin/jxtaportal.cgi?pgid=urn:jxta:uuid-C75F3A11542D493CA07BE47E1F151BBF02?adv=peers
for peergroup ID urn:jxta:uuid-C75F3A11542D493CA07BE47E1F151BBF02.
Such simple queries duplicate what one can do with the JXTA Shell. But Meerkat based services would be a true bridge: http on the front, JXTA on the back.
One might imagine this query syntax growing quite elaborate and expressive, in a good way. It could easily grow to accomodate HTTP clients injecting work or data into the JXTA network in perhaps some network-for-hire scenario. All without the http client being a JXTA peer per se.
Update: I knew such a project existed, but couldn’t put my finger on it at the time: Sean Kelly’s registryVous. It uses a Tomcat frontend to a JXTA network. The JXTA facing portion of the bridge is started in the servlet.init() function. Clever.
[tags]jxta,p2p,meerkat,tomcat,servlet[/tags]