|
XML观察:BEEP概述广告 XML观察:BEEP概述 --对于IETF 的块可扩展交换协议标准介绍的第一部分
编辑兼发行人,xmlhack.com 2001 年 12 月 在关于重新使用 HTTP 作为连接应用程序的便利方法的争论继续的同时,一个称为 BEEP 的新的协议 —
块可扩展交换协议(Blocks Extensible Exchange Protocol)— 已经被国际工程任务小组(Internet Engineering
Task Force(IETF))标准化。BEEP 本身也利用 XML,它对因特网协议的作用正如同 XML 对文档和数据的作用。经验丰富的 XML 观察员
Edd Dumbill 在他为 developerWorks 写的第一篇专栏文章中解释了 BEEP
如何提供一个框架,从而使开发人员可以关注于他们的应用程序的重要方面而不是把时间浪费在有关建立通信通道的细节上。 介绍 BEEP BEEP 代表 Blocks Extensible Exchange Protocol(块可扩展交换协议),这样的全称和只说 BEEP 一样没有意义,坦白地说更没有趣味。不过,XML 用户或许会被可扩展的(extensible)这个词吸引,而的确正是扩展性使 BEEP 值得首先研究。稍后将会对此有更详细的讨论;让我们首先来看看 BEEP 所解决的问题。 假设您正在编写一个网络应用程序而且想让程序的实例能通过 TCP/IP 通信。在您开始考虑应用程序逻辑本身以前,需要解决程序如何连接,如何验证它们自己,如何发送消息,如何接收消息以及如何报告错误等问题。您花在这些问题上的累积时间可能会超过解决应用程序逻辑本身所需的时间。简单地说,这就是 BEEP 解决的问题。它实现了创建新的网络协议的所有“纯净因素”,因此您不必为它们担心。 这时您可能正在疑惑,这并不是没有道理的,为什么在有了 CORBA/IIOP,SOAP,XML-RPC 和其它协议以后还要加上另一种分布式计算协议呢?答案是,您需要认识到 BEEP 位于不同的层。它是一个框架。SOAP 可以恰当地在 BEEP 之上实现。BEEP 负责在消息的 TCP/IP 层连接、验证和封装 — SOAP 有意回避的问题。BEEP 真正地和 HTTP 在同一层上竞争。 重新使用和重新整理要素 大体上,已经做了正确的事。HTTP 这个普遍存在并被广泛实现的协议,已经以一种有效的方式被重新使用。但也存在一些令人遗憾的结果:首先是造成 80 端口的超负荷。因为现在不仅有 Web 页面的请求而且还有潜在的强调安全的交易请求通过 80 端口传递,所以需要增强警惕性。许多影响 80 端口的 Web 高速缓存和其它设备的交互必须得到重视。这些问题在别的地方有详细的叙述(请参阅参考资料),所以这里不再详细说明。 重新使用 HTTP 的第二个结果是只能使用它的交互模型。HTTP 是无状态的面向请求-响应的协议。不存在带响应的请求,也不存在不带请求的响应。而且,两个请求之间没有状态保存。不幸的是,这对许多交互模式而言不够好,因为它排除了象异步性、有状态的交互和对等通信这样的情况。这些问题可以而且已经通过在 HTTP 上分层解决了,但大部分解决方案都很难使用。 有经验的程序员就会在这个时候指出重新整理要素的时候到了,即,将系统的职责置于它们正确的层并且提取共同的功能性。这是看待 BEEP 的最好方式:它本质上是对超负荷的 HTTP 重新整理要素以支持当今因特网应用协议的普遍要求。 那么它能做什么? 在 Marshall Rose(BEEP 规范的作者)所给的介绍中(请参阅参考资料),BEEP 的应用程序“目标市场”在下列术语中描述: 面向连接:使用 BEEP
传递数据的应用程序被期望连接、做它们的交易然后断开连接。这使得通信具有有序、可靠和对拥塞敏感的特征。(IP 层上的并行和使用 TCP 而不是 UDP
有许多相同特征。) 倘若一个应用程序符合目标市场,那么 BEEP 能提供什么呢?它的功能性的主要方面是: 将一个消息与下一个分离(分帧) BEEP 概念 图 1. BEEP 会话,通道和配置文件
第一个通道(通道 0)有一个特殊目的。它支持 BEEP 管理配置文件,该配置文件用来协商更多通道的设置。所支持的配置文件决定特殊通道中端之间的精确交互。使用 BEEP 定义协议归结为配置文件的定义。 两类配置文件 在通信开始时设置的调整配置文件以某种方式影响会话的其余部分。例如,请求 TLS 配置文件确保通道使用“传输层安全性(Transport Layer Security)”加密。其它的调整配置文件执行象认证这样的步骤。 数据交换配置文件在两端间建立关于通道中允许什么种类的交换的期望,类似于 Java 接口在交互对象间建立关于什么方法可用的期望。如 XML 的名称空间一样,配置文件由一个 URI 标识。例如,BEEP Java 工具中的示例“Echo”配置文件的 URI 为 http://xml.resource.org/profiles/NULL/ECHO。 数据类型 XML 连接 除了通道管理配置文件以外,许多新出现的 BEEP 应用程序配置文件使用了 XML 作为它们消息的编码。这就是一个好处,因为它意味着任何根据 XML 文档定义的现有消息传递标准都有一个相当直接的对 BEEP 配置文件的映射。 总结本次介绍 请就本文参与讨论论坛。 beepcore.org 是 Web 上 BEEP 规范和工具的主页。 本文讨论过的 BEEP 核心在 RFC 3080 中有定义。 BEEP 将它的负责通道初始化的管理配置文件定义为 XML DTD。 Using SOAP in BEEP 明确说明了 SOAP 1.1 信封在使用 BEEP 配置文件时如何能被发送。 Marshall Rose 所做的介绍(他是 BEEP 规范的作者)概要地说明了规范和它的目的。 xml-dist-app 邮件列表包含了许多冗长的有关重新使用 HTTP 的利弊的争论文章。 Keith Moore 的因特网草案(Internet Draft) On the use of HTTP as a Substrate for Other Protocols 制定了关于 HTTP 适当的重新使用的建议。 RESTwiki 对于将 HTTP 用于分布式计算有大量讨论。 developerWorks 的 Web 服务专区有许多有关 SOAP 以及相关技术的信息。 WebDAV.org 有关于 WebDAV 的更多信息。 Internet Printing Protocol
给出了有关互联网打印协议(IPP)的完整背景知识。
如果您希望与本文章的作者或其所在机构,进一步交流,请联系:畅享网 姜小姐 jill.jiang@amteam.org | 021-51096826-112 | 在线联系 |
节能与优化IT 企业CIO过冬良策当前金融危机的影响还在继续漫延,很多企业都在苦寻过冬的良策,在这种情况下,节能与优化技术与产品无疑成为CIO们关注的首要对象,本次选题就是针对节能与优化IT来为CIO们提供过冬的良…… 观08软件并购风潮 议09巨头何处生花2008,似乎注定是不平静的一年。有人说2008是并购年。业内人士表示,在全球软件行业,并购一直是大企业谋求做大做强的捷径之一,包括甲骨文、SAP,微软等全球软件巨头都为了扩大自己…… |
|
|