适用场景,当然是符合WEB语义的环境,也就是Resourse CRUD,这要看你个人的“喜好”了。
那个博士的名字搞忘记了,总之他认为RPC风格的Web Service虽然解决了跨平台问题,但是并不符合
WEB语义规范,他认为应该按照UNIX中对待文件,设备等基础设施的方式来定义WEB语义,也就是
把任意一个URI定义为一个“资源”,对“资源”的操作定义为CRUD,他觉得这样就可以为WEB建立一个
标准的语义环境,以展现WEB的简洁架构。
但是,对于我们大多数程序员来说,还是习惯RPC风格,喜欢API,喜欢使用“动宾”语义来定义我们的接口。
因此,如果你不能很熟练的把你们的系统中的对象拆分成“资源”,通过CRUD就能完成业务逻辑,或者说某些
web service 功能根本无法用清晰的REST语义来解读,那么使用RPC风格的web service将是最明智的选择。
基本上可以使用REST的场景,就是对数据表简单的查询一条或多条记录,插入/删除/修改一条记录,这对绝大多数的业务场景来说是最容易实施的。
参考下面的资料,有详细的解答
http://www.infoq.com/cn/articles/rest-introduction
http://www.infoq.com/cn/articles/rest-architecure