第七章:一个服务实现
本章主要是根据前面的给出的一些介绍和原则进行,用ROR对其进行一个简单的实现。其中最重要的是作者分析需求的过程以及如何根据这些需求与ROA架构进行融合。本章是设计ROA服务步骤的具体实践过程,是对第六章的一个继承。
第八章:REST和ROA最佳实践
本章主要讲REST和ROA的实现过程中遇到的一些问题,以及如何应对这些问题:
- GET请求与HEAD请求是安全的,它们不应导致服务器状态发生改变。
- GET、HEAD、PUT与DELETE请求应该是幂等的,想一个URL发送多次应该与只做过一次请求的效果一样。
- POST既不是安全的也不是幂等的。
- 遇到不支持PUT或DELETE请求的的情况,要用重载的POST请求来实现。
- HTTP异步操作可以通过返回状态码202告诉客户端已接受到请求,正在等待处理
- HTTP如何实现事务操作的过程比较复杂。
- 复杂请求遵循的原则是:如果无法用统一接口适应多个动作,那就把它本身暴露为资源。
- URL的设计要考虑到新旧版本的更迭。
其它涉及到HTTP缓存和认真等是HTTP本身的特性,不在这里介绍了。
第九章:服务的技术构件
本章第一部分是介绍在使用rest 服务是数据的表示方式,这不再说了,第二部分是如何定义请求与返回状态码。第三部分结束了WADL这个web应用描述语言,类似于SOAP的WSDL语言但它是基于REST的,虽然用法上感觉差不多,但其实是有着本质的区别的,我的理解是:WSDL和WADL都是为了简化编程,但是WSDL是根据SOAP的风格规定了调用的函数,传递的参数等,而WSDL则是遵循REST风格,规定了请求的方法、地址及请求的参数。