一、 远程接口技术
a) SOAP:针对 RPC 的一种解决方案,也叫简单对象访问协议。同时 SOAP 作为应用协议,可以基于多种传输协议( HTTP 、 SMTP 等)来传递消息。
b) REST;注意问题: 1 )面向资源的接口设计。 2 )抽象操作作为基础的 CURD , HTTP 中的 get 、 put 、 post 、 delete 分别对应 read 、 update 、 create 、 delete 。 3 ) HTTP 是应用协议而非传输协议。 4 )无状态、自包含。
二、 远程接口设计最佳实践
a) 请求消息设计
i. 基本符合REST 标准方式:资源 URI 定义(资源 . 操作) + 参数。这类设计如果滥用 get 去处理其他类型的操作,就和下点一样;
ii. REST风格非 REST 思想:资源 URI 定义 + 参数(包含操作方法名)。其实就是 RPC 的 REST 跟风;
iii. 类似于SOAP 消息,自定义协议,以 XML 作为载体。
b) 响应消息设计
i. REST标准方式,将 Response State 传输返回给客户端, HTTP 消息作为应用协议而非传输协议;
ii. 以XML 作为消息承载体, HTTP 作为消息传输协议,处理状态自包含;
iii. 自定义消息格式