【TechTarget中国原创】XMPP能够帮助解决服务周边的应用问题,这引起了许多人的兴趣。现在我们来看看XMMP的起源,它原本是一个技术理念,现在其影响已经扩展到云计算。
起初XMPP意在以Jabber的名义,建立一个即息时通信应用,这个由超长传送阐述的方法导致了XMPP的创建,XMPP现在是一个IETF标准——RFC-3920--——由其它不同的XMPP扩展支持。
XMPP的核心被定义为一个流型协议,它可以在两个网络端点上交换XML碎片。现在交换XML碎片已经不是最新的理念了。事实上,那些在SOAP和REST原则周围设计的Web服务已经做到了这一点。那么为什么XMPP还如此与众不同呢,我们在XML碎片的有效负荷中可以看到这些不同之处。
SOAP类型的服务使用的XML碎片拥有许多WS-*/SOAP有效负荷,以确保企业服务所要求的功能得以实现——例如安全性和可靠性——REST类型的服务被认为是开口服务,因为它不需要任何特定XML规定,XMPP在SOAP中使用特定的有效负荷以保证其主要的功能得以实现,例如实时通信传送。表1.1向我们展示了一个在XMPP交换中使用的XML碎片。
<?xml version='1.0'?>
<stream:stream
from='example.com'
id='someid'
xmlns='jabber:client'
xmlns:stream='http://etherx.jabber.org/streams'
version='1.0'>
<!-- Encryption, Authentication, and Resource binding ommited -->
<message from='juliet@example.com'
to='romeo@example.net'
xml:lang='en'>
<body>Art thou not Romeo, and a Montague?</body>
</message>
<message from='romeo@example.net'
to='juliet@example.com'
xml:lang='en'>
<body>Neither, fair saint, if either thee dislike.</body>
</message>
</stream:stream>
</stream:stream>
最后的这个XML碎片包含一个XML流和一个XML节,二者是XMPP的主要构件.XML流只不过是在网络的两个实体间交换XML要素的容器或者外壳。然而XML则是交换的信息主体。我们在这里展示的只是XMPP的一个样本,以便阐述要素的标准能够处理传输层安全性(TLS)以及进行错误管理,此外XMPP还涉及到100个和通信相关的领域。