Web服务及相关技术
- 格式:pdf
- 大小:144.13 KB
- 文档页数:3
4 1 3 SOAP 绑定到 HTTP 通过绑定 SOAP 消息 到 HTTP、 SMTP 等 网络上 最常 使用的、 极为流行的通信协议 , SOAP 消息就能够轻易地穿越企业的 防火 墙。 将 SOAP 消息用 HTTP 传输 并不意 味着 SOAP 重载 HTTP 已 有的语义 , 而是 SOAP 的语 义通过 HTTP 的 映射而 成为 HTTP 的 语义 [ 4] 。 SOAP 很自 然地 利 用 HTTP 的 请求 / 响应 消 息模 型 , 将 SOAP 请求的参数放 在 HTTP 请求 里 , 而将 SOAP 响 应的 参数 放 在 HTTP 响应里面。当需要将 SOAP 消息体包含在 HTTP 消 息中 时 , HTTP 应用程序 必须依 照 RFC2376 使用 媒体 类型 text/ xml 。 SOAP 绑定 HTTP 有两 种情 况 : 使用 或不 使用 HTTP 扩展。以 下 是 SOAP HTTP 的例子。 例 1 使用 POST 的 SOAP HTTP
图 2 SOA 模型
务的信息 , 然 后 根据 这些 信 息去 调用服务提供者发布 的服务。在 Web 服 务 架 构 中 , 使 用 WSDL 来
描述服务 ,UDDI 来发布、 查找服务 , SOAP 则用来 执行服务 调用。 正在制定的 WSFL 规范的 功能 则是 将分 散的、 功 能单 一的 Web 服务组织成一个复杂的应用。
第 21 卷第 3 期 2004 年 3 月
计算机应用与软件 Computer Applications and Software
Vol 21, No 3 Mar , 2004
Web 服务及相关技术
吴文明 瞿裕忠 董逸生
南京 210096) ( 东南大学计算机科学与工程系
摘 要 本文分析了传统分布式计算技术的局限 , 介绍了新的分布 式计算模 型 Web 服务 及其相 关技术 , 并与 传统分 布式计 算技 术做了比较 。 关键词 Web 服务 SOAP WSDL UDDI
收稿日期 : 2003- 01- 17。国家 自然科学基 金资助项 目 ( 60173036) 。 吴文明 , 博士生 , 主研领域 : 语义 Web, Web 服务。
第3期
吴文明等 : We务架构
Web 服务使用的是 SOA 架构 ( 面向 服务的 架构 , Service Ori
WEB SERVICE AND ASSOCIATED TECHNIQUES
Wu Wenming Qu Yuzhong Dong Yisheng
( Department of Computer Science and Engineering , Southeast University, N anjing 210096 )
POST/ StockQuote HTTP/ 1. 1 Content Type: text / xml ; charset= !utf 8 ! Content Length: nnnn SOAPAct ion: !http: ∀electrocommerce. org/ abc# MyMessage! < env: Envelope xmlns: env= !http: ∀www. w3. org/ 2001/ 06/ soap envelope!> # < / env: Envelope> ∀应答 : HTTP/ 1. 1 200 OK Content Type: text / xml ; charset= !utf 8 ! Content Length: nnnn
U niversal Service InterOP Prot ocols ( these layers are def ining or not defined yet ) WSFL ( U niversal Descripion, Discovery and Integration) UDDI Int erOp Stack ( Web Services Descript ion Language) WSDL ( Simple Object Access Protocol) SOAP ( eXtensible Markup Language) XML ( Common Int ernet Protocols) HTTP, TCP/ IP, DNS 图1 Web 服务的协议栈
( 3) 一个 SOAP Body, Body 为该消息的最终接收者所想 要得 到的那些强制信息提供 了一个 容器。 SOAP Body 元 素提供 一个 简单的用于 和消 息的 最 终接 收者 交 换强 制信 息 的机 制。 Body 元素的典型应用包含 RPC 调用和错误报告。 4 1 2 SOAP 的编码格式 在 Internet 中 , 机器通常 通过 网络进 行通 信 , 发送到 执行 计 算的机器的数据必须被编 码 [8] 。在 RPC 机制 中 , 该 格式是 外部 数据表示 ( XDR) 标 准。 DCOM 的 编码 格式 是 NDR( Network Data Representation) ; CORBA/ IIOP 则 是 CDR ( Common Data Representa tion) 。NDR 和 CDR 这两 种格式 之间 存在 细微 的差 别而 使彼 此 无法兼容。 SOAP 编码格式是一 个简 单类 型系 统 , 它使 用 XML 进行 类 型编码 [ 4] 。 XML 数据编码格式非常灵活 , SOAP 规范基于它定义 了一个较小的集合。当 然 , 这种编码 格式只 是推荐 使用而 不是 必需的 , 其它的数据编码也可以与 SOAP 联合使用。 由于 XML 是一种与平台无关的中性 的数据表 示方法 , 通过 XML 来包装和传递信息 , 比 CORBA、 Java RMI 及 DCOM 这些以特 定二进制格式传送数据 所不及 的更大 的优点 , 那就 是与系 统平 台、 程序语言、 操作系统的无关 性。表 1 是 SOAP 和 DCOM, COR BA 的简单比较。
表1 SOAP 、 DCOM、 CORBA 的比较 SOAP 端点标识 编码格式 传输协议 URI XML HTTP( 可选 ) DCOM O BJREF NDR ORPC CORBA IOR CDR IIOP
ented Architecture) 。此 架 构 由三 个 部分 和 三个 基 本 操作 构 成。 三个部分分别是服务提供者、 服务请求者和服务代理 , 三个基本 操作是发布、 查找和绑定。 Web 服务架构如图 2 所示。 服务提供者将它的服 务发布 到服务代 理的 一 个目 录上 ; 当服 务请求者 需要 调 用该 服务 时 , 它 首先到服务代理提供的 目录上去 搜索该服 务 , 得 到如 何调 用 该服
Abstract
This paper analyzes the limitations of the traditional distributed computing technologies. It introduces a new distributed computing model
Web Service and relative technologies. A comparison with SOAP, DCOM and CORBA is illustrated. Keywords Web service SOAP WSDL UDDI
4
Web 服务的实现规范
4 1 SOAP
SOAP 是一个基于 XML 的 , 用 于分 布环 境中 交换 信息 的协 议。SOAP 规范主要包括 以下部分 : ( 1) Envelope 定义了一 个描述 消息 中包含 什么 内容以 及如 何处理它们的框架 ; ( 2) 一个用于具体应用表示数据类型的编码规则 ; ( 3) 一个表示 PRC( 远程过程调用 ) 和应答的协定。 SOAP 被 设计成 可 以 和 各种 其 它 协 议绑 定 使 用 , 比 如 STMP、 FTP 等 协 议 [7] , 已发布的 SOAP 规范 中描 述如何 将 SOAP 绑定到 HTTP 及 扩展的 HTTP。 4 1 1 SOAP 消息的框架 SOAP 消 息是 一个 XML 文档 , 它 由一 个必 需的 SOAP Enve lope, 一个可 选的 SOAP Header 和 一 个 必需 的 SOAP Body 组 成。 SOAP 消息的结 构如图 3 所示。
2 2 Web 环境下分布式计算需求
1
前
言
尽管 CORBA 和 DCOM 存在诸多局限性 , 但由于人们迫 切需 要一个分布式计算模型 , 因 此得到 了广泛 的应用。随 着 Internet 的迅猛发展 , 人们越来越希望在各个公司之间实现分布式计算。 为了适应 Internet 和 Web 的发 展 , 人们 提出 了 Web 服务 计算 模 型 , 这个模型具有如下特征 : ( 1) 完好的封装性 ; ( 2) 使用标准的协议规范 , 应用解决 方案与厂商 、 平台 以及 语言无关 ; ( 3) 松散耦合 , 提供高度的互操作性 ; ( 4) 高度的可集成 能力。 简单地说 , 我们需要一个建立在开放 Internet 标准基础 上的 新的分布式计算模型。这个模型的组成 部分应该是一套开放的 规范 , 它们或者是现有 的 Internet 标准 , 或 者是被 广泛 接受 并正 在成为标准的规范。包括超文 本传输的 HTTP、 作为数据交 换的 标准 XML 、 SOAP 、 WSDL 和 UDDI 。现 在 SOAP, WSDL 和 UDDI 已经成为 Internet 上 Web 服务的事实标 准[ 7] 。Web 服 务的 协议族如图 1 所示。
2
分布计算技术
2 1 现有技术的问题
DCOM 和 CORBA 是 现有 的分 布式 计算 技术 代 表。它 们虽 然已经在各 种平台上得以实 现 , 但 是建立 在这些 技术上 的任何 应用都依赖某个厂商的实现。虽然 DCOM 已经在非 Windows 平 台上实现 , 事实上 , 只有在 Windows 平台 上获得了广 泛应用。而 对于 CORBA, 如果要实 现分布 计算 , 就 意味 着每 个机 器要 运行 同样的 ORB 产品。即使不同的 CORBA 产品 虽然有 可能用 IIOP 协议相互调用 , 但是像事务、 安全等一些高级的服务通常很难让 各个厂商的 ORB 产品实现完全的互操 作。 DCOM 和 CORBA 不仅 对运行环境要求 很高 , 而且对 系统开 发、 维护、 管 理要求很高 , 或者说 技术门 槛比较 高。如果是 在一 个局域网内少数的服务器的环境下 , 这还是比较适合的 , 但是在 Internet 这种高 度分布的、 高度分散 化的环 境下实 现任意 两台计 算机之间的 远程调用几率是 非常低 的。可以说 , DCOM 和 COR BA 就目前而言 , 在 Internet 上发挥不了 作用。而且 , 由于 大多数 Internet 连接技 术对 HTTP 的偏爱 , 除了允许 HTTP 协议 的端口启 用 , 其他都被防火墙或代 理服务 器所阻隔 , 这 样 CORBA/ IIOP 或 DCOM 的数据包不可能 通过这些防火墙或代理服务器。