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。因此,一个有前途的想法是使用 SOAP 而不是 BEEP。