web Service 架构

web Service三种架构:

1. 面向方法xml-rpc

2. 面向消息SOAP

3. 面向资源REST

 

SOAP

XML-RPC

REST

定义

SOAP 是用于在分散的分布式环境中进行信息交换的轻量级协议。该协议基于 XML,包括三个部分:信封、一组编码规则以及用于表示远程过程调用和响应的约定。

这是使用 HTTP 作为传输协议和使用 XML 作为编码方式的远程过程调用。XML-RPC 的设计力求简单,并同时允许传输、处理和返回复杂数据结构。

代表性状态传输旨在反映设计良好的 Web 应用程序的行为图像:由网页组成的网络,其中用户通过选择链接继续进行使用,选择链接将导致将下一页传输给用户并进行呈现,以供其使用。

目标

SOAP 可实现用户定义的数据类型,提供指定接收者的功能、消息特定的处理控制以及其他功能,从而对 XML-RPC 进行了扩展。

非常简单且条理清楚的可扩展格式。HTML 编码人员应该能够查看包含 XML-RPC 过程调用的文件,理解其进行的工作,并能够对其进行修改,只需一两次尝试就能使其正常工作。此协议非常容易实现,可以快速对其进行调整,以在其他环境或其他操作系统上运行。

创建 REST 的目的是为了提供有关 Web 应该如何运行的设计模式,并作为 Web 标准和设计 Web 服务的指导框架。

支持的数据类型

整数、Boolean、ASCII 字符串、双精度带符号浮点数、日期时间、结构、数组、字节数组、枚举、用户定义数据类型、多态访问器

整数、Boolean、ASCII 字符串、双精度带符号浮点数、日期时间、结构、数组。

特定于实现。通常支持的类型有整数、Boolean、ASCII 字符串、双精度带符号浮点数、日期时间、集合、列表、属性。

简单性

比 XML-RPC 略微复杂

易于理解和进行开发

特定于实现

稳定性

W3C 接受的标准

不是标准

体系结构参考。不需要标准

互操作性

无法与 REST/XML-RPC 互操作

无法与 REST/SOAP 互操作

无法与 SOAP/XML-RPC 互操作

工具

很多主要公司(包括 IBM 和 Microsoft)均已开始在其工具中支持 SOAP。

工具仍在开发中。

并没有很多工具支持。

自定义能力

高度可自定义,不受数据类型和协议限制

轻量级,只能在 HTTP 上工作,具有有限的数据类型支持

只能在 HTTP 上工作

有很多开放源代码库可用。

有很多开放源代码库可用。将在下面的部分进行说明

并没有很多实现库可用

原文地址:https://www.cnblogs.com/blockcipher/p/3162694.html