[jdev] Using Jabber as service management infrastructure
sfink at reactrix.com
Wed Feb 25 21:00:22 CST 2004
I apologize in advance for the naivete of these questions, but I have
been having a very difficult time dipping my toes into the Jabber
waters, even though I have been religously reading as much of the
documentation I can find.
If I wanted to have some "services" available on my Jabber network,
should they be Jabber clients, or server components/plugins/whatever?
For example, I'd like to expose a couple of build servers and a combo
DNS/DHCP server as a service that I can send messages to from gaim, and
have them kick off builds, add another MAC/IP pairing, or whatever.
I will assume they are clients.
Then how can I make them automatically visible in my buddy list when
they are created and come up? I haven't quite grasped the whole presence
& roster models yet. I'd like to be able to subscribe to "all services"
and be informed about new services as they are added, rather than
needing to find out about them through some other channel.
Should I (for example -- I don't know if I am making any sense here)
create a client which is a service discovery node, and add it to my
buddy list, and then have it send out roster exchange messages when
services are created?
I am using the perl Net::Jabber module; how do I have a service
automatically accept a roster addition with it (or with anything; I
assume the APIs will be similarish.)?
Is there a good document describing the roster model? Or, even better,
where can I find a good "Jabber overview" document that describes the
various jabber concepts from the standpoint of someone who is trying to
use it for network infrastructure, rather than IM?
I downloaded the default jabberd-2.0s2, but most online documentation
appears to be for the 1.4 series. Is there a good place to find v2 docs?
In general, should I get used to reading wads of XML when trying to
figure out what the heck is going on? I'm more accustomed to thinking in
terms of API calls that should be made, but I'm getting the feeling that
Jabber people think of API calls as merely a means to produce the
appropriate glop of XML. (I suppose I think the same way about HTTP, so
I won't complain.)
If I'm looking at a wad of example code, what's an easy way to figure
out whether it's written for/going to work with jabber v2? Is there a
good document on the API differences? (Should I downgrade to v1?)
Sorry for the flurry of probably dumb questions. I have read through the
server admin's guide, which helped get me started, and the user's guide,
which was only good for setting up IM, and various other bits of
documentation. Oh, and the article "Instant Messaging As A Programmer's
Tool" in Dr. Dobb's Journal. Are there other canonical docs that might
be helpful here? I'm feeling like Jabber was very much originally
intended for the sorts of things I'd like to do, but I haven't yet been
very successful in finding something that presents how to do these
things and think about in them in a way that fits within my limited
Many thanks in advance,
More information about the JDev