Web 服务 - 架构



查看 Web 服务架构有两种方法:

  • 第一种是检查每个 Web 服务参与者的个体角色。
  • 第二种是检查新兴的 Web 服务协议栈。

Web 服务角色

Web 服务架构中有三个主要角色:

服务提供者

这是 Web 服务的提供者。服务提供者实现服务并使其在互联网上可用。

服务请求者

这是任何 Web 服务的使用者。请求者通过打开网络连接并发送 XML 请求来使用现有的 Web 服务。

服务注册中心

这是一个逻辑上集中的服务目录。注册中心提供了一个中心位置,开发人员可以在其中发布新服务或查找现有服务。因此,它充当公司及其服务的集中清算所。

Web 服务协议栈

查看 Web 服务架构的第二个选择是检查新兴的 Web 服务协议栈。该栈仍在发展中,但目前有四个主要层。

服务传输

此层负责在应用程序之间传输消息。目前,此层包括超文本传输协议 (HTTP)、简单邮件传输协议 (SMTP)、文件传输协议 (FTP) 和较新的协议,例如块可扩展交换协议 (BEEP)。

XML 消息传递

此层负责以通用的 XML 格式编码消息,以便可以在任一端理解消息。目前,此层包括 XML-RPC 和 SOAP。

服务描述

此层负责描述特定 Web 服务的公共接口。目前,服务描述是通过 Web 服务描述语言 (WSDL) 处理的。

服务发现

此层负责将服务集中到一个公共注册中心并提供简单的发布/查找功能。目前,服务发现是通过通用描述、发现和集成 (UDDI) 处理的。

随着 Web 服务的发展,可能会添加更多层,并且可能会向每一层添加更多技术。

下一章将解释 Web 服务的组件。

关于服务传输的几点说明

Web 服务协议栈的底部是服务传输。此层负责在两台计算机之间实际传输 XML 消息。

超文本传输协议 (HTTP)

目前,HTTP 是最流行的服务传输选项。HTTP 简单、稳定且广泛部署。此外,大多数防火墙都允许 HTTP 流量。这允许 XMLRPC 或 SOAP 消息伪装成 HTTP 消息。如果您想集成远程应用程序,这很好,但它确实引发了许多安全问题。

块可扩展交换协议 (BEEP)

这是 HTTP 的一个有前景的替代方案。BEEP 是一个用于构建新协议的新型互联网工程任务组 (IETF) 框架。BEEP 直接构建在 TCP 之上,并包含许多内置功能,包括初始握手协议、身份验证、安全性以及错误处理。使用 BEEP,可以为各种应用程序创建新协议,包括即时消息、文件传输、内容联合和网络管理。

SOAP 不绑定到任何特定的传输协议。实际上,您可以通过 HTTP、SMTP 或 FTP 使用 SOAP。因此,一个有前景的想法是通过 BEEP 使用 SOAP。

广告