[JDEV] building a jabber-rpc server and looking for a client library

Gopal V gopalv82 at dotgnu.org
Sun May 25 04:39:47 CDT 2003

Hi ,
	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 mailing list