[JDEV] building a jabber-rpc server and looking for a client library
gopalv82 at dotgnu.org
Sun May 25 04:39:47 CDT 2003
I'm one of the developers of the DotGNU project (dotgnu.org) ,
and DotGNU has been talking about a hypothetical "Jabber::Middleware"
since mid-2001 and now we have rest of the middleware ready and running.
The DGEE (http://dotgnu.org/dgee.html) is already running C# webservices
based on XMLRPC from an Apache frontend ... (stuck together with shared
memory , pipes and unix IPC) . The appserver is independent and can run
webservices using multiple VMs (a python VM is a missing peice now , but
we think we can collaborate with gnuenterprise to build it).
Let me first put my vague view of Jabber & DGEE as a Jabber client first
before moving onto the questions ..
#1) Jabber is asynchronous & stateful unlike age old HTTP
#2) Jabber can be routed unlike HTTP based xmlrpc
#3) Jabber is multi-plexed , you can send out multiple messages in a single
channel.(no lookup,connect overhead for an application for each call).
#4) DGEE as a Jabber client allows you to run it without a static IP
using just a JID as an identifier
#5) Unlike HTTP, we can down the server for a few minutes and still
deliver results later from the server held queue.
#6) All webservices are essentially XML which is good :-)
#7) If we have a distributer component on the jabber server , we can
distribute a server across multiple JIDs to have a virtual
server ring and have servers join & leave the ring using normal
jabber log-on & buddy roster systems.
All these have been shot across back & forth in dotgnu lists some time ago,
now with DGEE we can indeed realize at least part of this.
It also looks like someone has already gone and created a Jabber-rpc
protocol (I see one in my jabberpy) , and someone told me that it was
jep-0009 or "jabber:iq:rpc" ?
But I'm encountering one single problem , a jabber client library ! ..
The client library for DGEE needs to be in C (I have looked at loudmouth
listed on jabber.org, which unfortunately uses glib-2.0) with no external
dependencies (DGEE already includes expat inside the engine). Does anyone
know about any such general purpose library ?.
IMHO to have an production quality (goldwater , the middleware for DGEE
is into production , IIRC) webservice server on jabber is not only
interesting but exciting as well.
PS: I'm not on this list so please CC me on replies
The difference between insanity and genius is measured by success
More information about the JDev