[wsf-c-dev] XMPP server side transport

Samisa Abeysinghe samisa at wso2.com
Wed Apr 4 20:57:03 PDT 2007


I was Googling a bit to understand and figure out how to support XMPP 
server side transport.
Here are some thoughts.

First, I was initially under the impression that with XMPP server side 
transport, a service would be a 'chat room'. However I have to change my 
mind, because in the context of Axis2 architecture, a service is an 
implementation of some processing with XML as input and XML as output in 
AXIOM format. Hence with an XMPP server, we have to have a mechanism to 
'dispatch' an incoming request to a service that implements the 
svc_skeleton API. Hence the key problem that we have to solve is:
        How can we dispatch (that is identify the service and operation) 
an incoming request to our service? I hope we can use the same 
dispatching mechanisms that we have in the Axis2 engine; however we have 
to figure out how to interface that with the XMPP server API
      
Jabber has a concept of "components". Some Jabber components can be 
found in [1] and [2]
[3] defines protocol for external components. In my understanding, what 
we need is an internal component. [3] mentions internal components, but 
there does not seem to be a formal spec on that. Basically we have to 
use the internal API of the server we are going to use. I also found JCR 
[4]. " The Jabber Component Runtime *JCR* is the first attempt at making 
"C" language components built for the *jabberd 1.4* code base able to 
run as standalone processes". Standalone process sounds appealing as 
that would solve our dispatching problems - we could run simple axis 
server and interface it to XMPP server. We may have to do a POC and see 
if we can use JCR with Axis2/C.

Obviously this area needs some research work - so we need someone to 
play around with these libs.

Thanks,
Samisa...

[1] http://www.jabberstudio.org/project/?cat=6
[2] http://www.jabber.org/software/components.shtml
[3] http://www.xmpp.org/extensions/xep-0114.html
[4] http://jabber.terrapin.com/JCR/





More information about the Wsf-c-dev mailing list