[JDEV] Jabber as Application Middleware

Dave Smith dizzyd at dizzyd.com
Tue Mar 6 10:38:05 CST 2001


On Mon, Mar 05, 2001 at 01:19:34PM -0600, eric at openthought.net wrote:
Eric,

This is exactly the subject I have been interested in of late, and
have start investigating in a serious manner.. I've taken a first
stab at gathering requirements for just such a project:

http://dizzyd.manilasites.com/stories/storyReader$15

Please feel free to discuss/flame any futher requirements
that you have. :)

> 1. Is Jabber currently up to this type of usage?

Yes, I believe it is. The architecure has solified into something
which would promote just such a usage.

> 2. What protocol would be the recommended method of handling the style of query
> I mentioned?  Some ideas I had were embedding a CORBA message within the IM
> that the applications send to each other.  The same could probably be done with
> XML-RPC.  However, is there a method already in use for a task like this in
> Jabber?  And if not, is there a better method then CORBA/XML-RPC?

Well, I'm investigating the use of XMLRPC and/or SOAP. Either one would be 
good -- tho I tend to lean towards XMLRPC.

> 3. Speed -- upon proposing a system like this, the first question my boss asked
> was what kind of performance hit were we going to take for having a distributed
> system.  The web based system isn't really the issue, it's the internal one.
> Currently, users are able to use their up and down arrow keys to scroll through
> a list of names.  Every time they hit the down arrow key, it grabs a list of
> data for that particular person from the database.. meaning every action they
> do requires a full round trip to and from the DB.  Since there are almost a
> million records, grabbing every entry at once isn't an option.  Is it a

Well, Jabber _does_ use XML -- and that's gonna inflict a little bit of added
processing time for each packet. However, the j.org's server can handle up
to 500 msgs/sec (benchmarked back in December) so that should be fast enough
for what you need. Of note, j.com's implementation of the server handles
thousands of msgs/sec. All that aside, I would also question whether retrieving
a full record for every keystroke is the optimial setup -- so with a few
optimizations on your system, it's totally possible that using Jabber could
be as fast as using something more estoric like CORBA/COM. 

> 4. Just to have some comparisons, what are your opinions on why a system like
> this using Jabber would be better then something like Oracle Application
> Server, xmlBlaster, and other such products?  And if Jabber isn't the right
> tool here, what is?

Well, I'm not familiar with those other products. Perhaps the biggest advantages
that Jabber would bring would be:
 * Cost -- it's free! :)
 * Ease-of-use -- the protocl is fairly simple and can be read by a human; no
                  weird IDL compilers or binary syntax/protocol to deal with


Again, I truly believe a sub-project should start gathering requirements and
working towards utilizing Jabber just for such an application. Please take a
look at what I've started and let's see if we can build a nice big snowball. :)

Diz




More information about the JDev mailing list