WebService - 架构
-
简述
有两种方法可以查看 WebServices 架构 -- 首先是检查每个 WebServices 参与者的各个角色。
- 二是考察新兴的网络服务协议栈。
-
WebServices 角色
WebServices 架构中有三个主要角色 -服务提供者
这是网络服务的提供者。服务提供商实施服务并使其在 Internet 上可用。服务请求者
这是 WebServices 的任何消费者。请求者通过打开网络连接并发送 XML 请求来利用现有的 WebServices 。服务注册
这是一个逻辑集中的服务目录。注册表提供了一个中心位置,开发人员可以在其中发布新服务或查找现有服务。因此,它充当公司及其服务的集中清算所。 -
WebServices 协议栈
查看 WebServices 架构的第二个选项是检查新兴的 WebServices 协议栈。堆栈仍在不断发展,但目前有四个主要层。服务运输
该层负责在应用程序之间传输消息。目前,该层包括超文本传输协议 (HTTP)、简单邮件传输协议 (SMTP)、文件传输协议 (FTP) 和更新的协议,例如块可扩展交换协议 (BEEP)。XML 消息传递
该层负责以通用 XML 格式对消息进行编码,以便在任一端都可以理解消息。目前,这一层包括 XML-RPC 和 SOAP。服务说明
该层负责描述特定 WebServices 的公共接口。目前,服务描述是通过 WebServices 描述语言 (WSDL) 处理的。服务发现
该层负责将服务集中到一个公共注册表中并提供简单的发布/查找功能。目前,服务发现是通过通用描述、发现和集成 (UDDI) 处理的。随着 WebServices 的发展,可能会添加额外的层,并且可能会向每一层添加额外的技术。下一章将解释 WebServices 的组件。 -
关于服务运输的几句话
WebServices 协议栈的底层是服务传输。该层负责在两台计算机之间实际传输 XML 消息。超文本传输协议 (HTTP)
目前,HTTP 是最流行的服务传输选项。HTTP 简单、稳定且部署广泛。此外,大多数防火墙都允许 HTTP 流量。这允许 XMLRPC 或 SOAP 消息伪装成 HTTP 消息。如果您想集成远程应用程序,这很好,但它确实会引发一些安全问题。请提出一些安全问题。块可扩展交换协议 (BEEP)
这是一个有前途的 HTTP 替代方案。BEEP 是一个新的 Internet 工程任务组 (IETF) 框架,用于构建新协议。BEEP 直接在 TCP 上分层,包括许多内置功能,包括初始握手协议、身份验证、安全性和错误处理。使用 BEEP,可以为各种应用程序创建新协议,包括即时消息传递、文件传输、内容联合和网络管理。SOAP 不依赖于任何特定的传输协议。事实上,您可以通过 HTTP、SMTP 或 FTP 使用 SOAP。因此,一个有前途的想法是使用 SOAP over BEEP。