[JDEV] Jabber Client Design Tutorial
Dave Waite
mass at akuma.org
Fri Sep 28 11:44:15 CDT 2001
Michael Brown wrote:
>
>>Perhaps as a first step we can find some agreement about terminology
>>("roster" vs. "contact list" vs. "buddy list", "transport" vs. "gateway",
>>etc.)
>>
>
>I actually prefer "Contact List" but "Roster" seems to be well defined for
>Jabber - which I can live with - although it does sound a little like there
>should be some house-hold chores involved :-)
>
Contact list is my favorite. All three imply that only Instant Messaging
users are in the List.
>I've always been confused between "Transports"/"Gateways"/"Agents" so if
>someone could clear that up for me that would be great.
>
I'll take a stab; how about:
Entity - Any thing which interacts with the Jabber system, and/or which
is available to be interacted with by other Entities in the Jabber system.
Jabber IM User - An entity using the Jabber system as an
Instant-messaging platform.
Component - An entity which has a trusted relationship with a Jabber
server, and which provides some set of services to Entities (either to
Jabber IM Users or to other Components)
Gateway - A component which provides direct access to non-Jabber
services to Jabber IM Users. No distinction is made to whether the
component also allows a mapping from the non-Jabber service to access
all of Jabber
Agent - A component which provides a mapping between a non-Jabber
services and the Jabber system by authenticating with that remote system
on behalf of a Jabber User.
Transport - An agent which specifically provides access to a non-Jabber
Instant Messaging system.
Examples:
* Jabber conferencing would be a component, because it is providing
a native Jabber service
* IRC access would be considered a gateway since IRC is a remote
service, but there is no registration required
* Access to an IMAP mailbox (some sort of jabber-biff) would be
considered an agent, since registration is required
* Access to AIM or Yahoo! would be considered a transport
How is that? :-)
-David Waite
More information about the JDev
mailing list