RESTful API 设计最佳实践(2)
常见的分布式应用架构风格有三种:
(1)分布式对象(Distributed Objects)
架构实例:CORBA/RMI/EJB/DCOM/.NET Remoting等。
(2)远程过程调用(RPC)
架构实例:SOAP/XML-RPC/Hessian/Flash AMF/DWR等。
(3)表述性状态转移(REST)
架构实例:HTTP/WebDAV
REST风格架构,被认为是当前WEB Service中最好的架构风格,本章节主要介绍REST风格架构相对于RMI和RPC的好处与不足,更多地是根据本人个人体验。
一、 RPC
RPC的不足:
(1)可扩展性低: RPC的抽象工具是过程,也就是将服务看做是不同过程组成的,这些过程可能会共享一些数据。一个过程通常是对应一个功能,如果想扩展服务,通常需要在协议中添加新的接口,并在服务器端实现。比如已经提供“查询用户a的年龄”接口person-age,若后续需要添加“查询用户性别”,则需要在协议中添加person-sex的接口,并在服务器端新增对它的实现。
(2)客户端与服务器端耦合性较大: 通常客户端和服务器端都要使用配套的封装来实现调用,客户端和服务