Jabber 简介(Technology Computer English)

Jabber is an open XML protocol for the real-time
exchange of messages and presence between any two points on
the Internet. The first application of Jabber technology is an
asynchronous, extensible instant messaging platform, along
with an IM network that offers functionality similar to legacy
IM systems such as AIM, ICQ, MSN, and Yahoo.
That picture probably looks familiar, because it pretty
much captures the architecture of email. Thus communications
in email and in Jabber are made possible by a distributed
network of servers that use a common protocol, to
which specialized clients connect to receive messages as well
as to send messages to users of the same server or any other
server that is connected to the Internet.
However, whereas email is a store-and-forward system,
Jabber delivers messages in close to real time because the
Jabber server (and, if permission is granted, other Jabber
users) knows when a particular user is online. This knowledge
of availability is called presence, and it is the key insight
that enables messaging to be instant. Jabber combines these
standard IM characteristics with three additional features that
make Jabber unique. The first is a fully open protocol. The
second is the fact that Jabber's protocol is 100% XML, which
makes structured, intelligent messaging possible not only
between human users but also between software applications.
The third is that Jabber uses addresses that are based on DNS
and recognized URI schemes, resulting in addresses of the
same form as those used in email (user@host).
Jabber uses a client-server architecture, not a direct
peer-to-peer architecture as some other messaging systems
do. This means that all Jabber data sent from one client to
another must pass through at least one Jabber server.
(Actually, Jabber clients are free to negotiate direct
connections, for example to transfer files, but those "outof-
band" connections are first negotiated within the context
of the client-server framework.)
A Jabber client connects to a Jabber server on a TCP
Jabber 是一种用于在Internet 上的任意两点之间进行实
时消息和“到场”信息交换的XML 开放协议。Jabber 技术
最初的应用是异步、可扩展的即时传信平台,以及提供与传
统的IM 系统(比如AIM、ICQ、MSN 和Yahoo)类似功能
的IM 网络。
这个图示看起来也许会让你觉得很熟悉,因为它在很大
程度上捕捉了email的架构。因此,在email 和Jabber中的通
信都是通过“使用公共协议的服务器的分布式网络”而成为
可能的;专门的客户连接到这些服务器,以接收消息,或是
发送消息给在同一服务器上、或连接到Internet 的其他任何
服务器上的用户。
但是,email是一种“存储并转发”系统,Jabber却以近
乎实时的速度递送消息,因为Jabber服务器(以及其他Jabber
用户,如果拥有权限的话)知道特定用户何时在线。这种“可
通信性”知识被称为“到场”,它是使得传信能够即时进行
的关键知识。Jabber 结合了这些标准的IM 特征,以及其他
三个使Jabber成为独特技术的特性。第一个特性是完全开放
的协议。第二个是Jabber 的协议是100% 的XML这一事实,
这不仅使人类用户之间、也使软件应用之间的结构化智能传
信成为可能。第三个是Jabber 使用的地址基于DNS 和已被
普遍接受的URI 模型,从而使其具有与email 中所用的地址
user@host)相同的形式。
Jabber使用了客户-服务器架构,而不是其他的一些传
信系统所用的那种直接的对等架构。这就意味着,由某个客
户发送给另一个客户的所有Jabber数据都必须经过至少一个
Jabber 服务器。(实际上,Jabber 客户有磋商直接连接的自
由,例如,为了传送文件;但这些“带外”连接首先必须在
客户-服务器框架的上下文中被磋商。)
Jabber客户通过5222端口上的TCP socket连接到Jabber

 socket over port 5222. This connection is "always-on" for
the life of the client's session on the server, which means the
client does not have to poll for messages as an email client
does. Rather, any message intended for delivery to you is
immediately pushed out to your client as long as you are
connected. The server keeps track of whether you are online
or not, and when you go offline it stores any messages sent
to you for delivery when you connect again.
XML is an integral part of the Jabber architecture because
it is of utmost importance that the architecture be fundamentally
extensible and able to express almost any structured data.
When a client connects to a server, it opens a one-way XML
stream from the client to the server, and the server responds
with a one-way XML stream from the server to the client.
Thus each session involves two XML streams. All communication
between the client and the server happens over these
streams, in the form of small snippets or chunks of XML, such
as the following message from Juliet to Romeo:
As we have seen, Jabber's architecture is modeled after
that of e-mail. Each user connects to a "home" server, which
receives information for them, and the servers transfer data
among themselves on behalf of users. Thus any domain can
run a Jabber server. Each server functions independently of
the others, and maintains its own user list. In addition, any
Jabber server can talk to any other Jabber server that is
accessible via the Internet (if server-to-server communications
are enabled). A particular user is associated with a specific
server (either through registration with a service provider or
administrative setup within an enterprise), and Jabber addresses
are of the same form as email addresses. The result is a
flexible, controllable network of servers, which can scale
much higher than the monolithic, centralized services run by
legacy IM vendors such as AOL, Microsoft, and Yahoo.
Jabber servers are designed to be modular, with specific
internal code packages that handle functionality such as registration,
authentication, presence, contact lists, offline message storage,
and the like. In addition, Jabber servers can be extended with
external components, which enable server administrators to
supplement the core server with additional services such as
gateways to other messaging systems. Such components can
introduce further complexity into a Jabber deployment without
sacrificing the simplicity of the core server and without requiring
that such components be blessed by the core server team.
Once again, flexibility is a key consideration in the Jabber
community.
服务器。在客户与服务器的会话期间,这个连接始终保持
着,这就意味着,客户无需像email 客户所做的那样,必须
进行轮询来获取消息。与此相反,只要你是在线的,别人发
送给你的所有消息都会被立即推到你的客户。服务器追踪你
是否在线,并在你离线时存储所有发送给你的任何消息,以
在你再次上线时递送给你。
XML 是Jabber 架构的不可缺少的一部分,因为架构从
根本上可扩展、并且有能力表达几乎任何结构化数据,有着
极端的重要性。当客户连接到服务器时,它打开一个单向
的、从客户到服务器的XML 流,而服务器响应以一个单向
的、从服务器到客户的XML 流。每次会话因而涉及到两个
XML流;以XML的小片段或大块的形式,在客户和服务器
之间的所有通信都发生在这两个流上。比如下面的由朱丽叶
发给罗密欧的消息:
如我们已经看到的,Jabber的架构是仿照e-mail的架构
建立的。每个用户连接到一个“家”服务器,由后者为它们
接受信息;而各个服务器代表用户在它们自身之间传输数
据。因此,任何域都可以运行Jabber服务器。每个服务器独
立于其他服务器工作,并维护它自己的用户列表。此外,(如
果启用了“服务器到服务器”通信的话,)任何Jabber 服务
器都可以与其他能通过Internet 访问的Jabber 服务器交谈。
一个特定的用户与一个特定的服务器相关联(或是通过向服
务提供者登记,或是通过企业内部的管理设置),而Jabber
地址与email 地址有着相同的形式。这样,我们所得到的是
灵活、可控制的服务器网络,可以扩展到很大的规模,远远
高于如AOL、Microsoft 和Yahoo 这样的传统IM供应商所运
行的整体和集中式服务。
Jabber服务器被设计为模块化的,在其内部有专用的代
码包,负责处理登记、认证、到场、联系列表、离线消息、
存储等等功能。此外,我们可以通过外部组件来扩展Jabber
服务器,从而使得服务器管理员能够通过另外的服务(比如
通往其他传信系统的网关)来加强核心服务器。这样的组件
可以将更多的复杂性引入Jabber部署中,而又不牺牲核心服
务器的简单性,也不需要由核心服务器团队来“保佑”它们。
再次申明,灵活性是Jabber 社群中的一项重要考虑。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值