所有的网络技术都拥有一种将多种实体整合在一起,相互连接并且实现通讯的结构。以万维网为例,由大量运行软件的web服务器组成,或者由大量的运行软件的web客户端组成,均采用了如HTTP和HTML的基本协议和数据形式。此外运行软件的邮件客户端则采用了SMTP,POP等基础协议。在互联网中关于即时消息,在线状态和其他形式的实时通信的基础设施由大量的Jabber服务器[16]组成。这些广泛运用的Jabber客户端如Adium和Gajim均采用了XMPP的基本网络协议。XMPP技术采用了一种分散的客户端-服务器结构,如图2。1,图中所示结构为服务器集群,应用于用户数量较多的通讯方式,就本课题所述系统而言,只需要采用一个服务器即可。这种结构与在万维网中使用的邮件网络相似,通过采用这种分散的结构,客户端开发者可以专注于用户体验而服务器开发者可以只关注其可靠性和可扩展性。相较于完全的点对点的网络技术,使用XMPP更加便于管理,此外由于整个系统并没有单一的故障点,任何人都可以运行XMPP服务器加入网络。XMPP有着很强的可扩展性,服务器可以通过用户认证和信道加密等方式提高安全性。综上所述,XMPP协议使得程序有着健壮性。
XMPP通讯是发生在网络上的,因此每个XMPP实体需要一个叫做JabberID(JID)的地址。XMPP依靠着域名系统(DNS)提供寻址的底层结构,这与使用IP地址是不同的。毕竟记住一个类似jabber。Org的名称比记住一串很长的数字要容易得多。用户的JabberID与邮箱的地址相似,因为uesr@domain。tld的形式被人们所熟知,采用了完整的DNS作为其命名空间。综上所述,采用XMPP协议对于用户来说有着较好的用户体验。