[JDEV] (no subject)

Chris Wilkes cwilkes-jabber at ladro.com
Fri Jan 3 17:15:40 CST 2003

On Fri, Jan 03, 2003 at 02:55:50PM -0600, David Sutton wrote:
> Hi there,
> On Fri, Jan 03, 2003 at 10:14:58PM +0200, Adrian Rapa wrote:
> > OK, i was thinking at the folowing 2 ways:
> > 
> > 1. Use a http polling component as describe in jep. The problem is that
> > there is only one component and is a servlet, so it will run only with
> > Java orientaed webserver. SO here should be written a http polling
> > component for apache and a php/asp page that will be relaoded periodicaly.
> >
> I'm already looking into this, but from different angles than you
> suggested. I was either going to try using a perl daemon, acting as a
> web service, or using the http module for jabber. 

On a related note I would think that a Jabber "Proxy" would be a good
idea whose sole function is for the client to bind to and then to send
its requests via SOAP to a jabber server.

The architecture would be like this:

[ IM Client ] <-normal Jabber stream-> [ Jabber Proxy Server ]
     [ WS like Apache Axis ] <-SOAP->  [ SOAP-ify the message and
                  ^                      send to a Web Services server ]
        [ Jabber server ]

The Jabber Proxy server would handle the XML stream to the client and
then send those messages off to a WS server that then passes it along to
the main jabber server.  It does it its thing and sends off a message to
whatever Jabber Proxy server the other client lives on.

What brought this to light is that I can foresee Jabber being used by
thousands of people simultaneously and, unlike stateless web servers, you
have to be remain connected at all times in order to be on the system.
So that server better have 100% uptime or your clients are going to get
dumped whenever there's a blip.  Granted they can connect again easily.

What I think is needed is an s2s server that's not as smart as Jabber.
It just picks up jabber connections and forwards the XML over to the
real Jabber server in a SOAP message (which is just the original stream
with a soap envelope).  The Jabber server can send back SOAP messages to
the proxy server that tell it to boot off the client or keep them
connected, and to pass along any messages it has.

So instead of having one beefy jabber server with a massive connection
to the internet, you (geographically) deploy small Jabber Proxy Servers
and have a medium sized Jabber Server with an smaller internet
connection as it is only processing individual messages and doesn't have
to keep a connection open to someone's cell phone out in Europe as the
local proxy server does that.


More information about the JDev mailing list