放翁(文初)的一亩三分地

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  112 随笔 :: 1 文章 :: 320 评论 :: 0 Trackbacks

     今天收到InfoQ的推荐邮件,看了标题就很感兴趣,花了一些时间一看,果然是很不错的一个案例分析,同时也让自己学到了不少。大致罗列一下看后的一些文章重点内容。案例地址:http://www.infoq.com/cn/articles/webber-rest-workflow

    1.通过REST服务请求完成状态迁移,同时合理利用OPTIONS来查看资源操作权限。

    2.合理利用Http Heads来返回资源URI,以及通过ErrorCode来确定操作结果,并且作后处理。

    3.通过返回内容指定后续流程资源定位以及操作来实现流程化。

    4.通过Put报头的两种版本比较标示来防止并发修改。(其实也可以优化来做查询缓存的工作)

    5.使用Atom协议来发布和管理资源(Atom是最适合REST风格服务的数据源格式定义)

    6.URI模版的使用建议,慎用,如果确实能够有把握抽象资源定位。

    7.Auth可以通过轻量级Http Head中的Authentication或者WS-*的方式来实现。(也可以通过https实现)

    总的来说,其实整个案例分析下来以后,可以发现如果要使得服务流程化,那么前提就是数据交互格式统一(XML,Atom),然后利用Http协议作为服务协议而非承载协议,利用已有的操作约定,报文头部标示和返回的错误码来完成资源状态迁移的工作,同时通过在返回内容中嵌入流程化内容,使得整个流程可以贯穿。(这里还是简单的流程串联,其实如果在流程规则协议中增加复杂的逻辑定义,则可以实现更为强大的Web workflow)。

    但对于Open API或者类似的REST流程化业务来说,安全其实还是最大的挑战,特别是在对资源的访问控制权限上。当然可以类似于WS-Security提出一套较为安全成熟的方案,但是性能和使用简易性则会大打折扣,也失去了REST本身的优势。

posted on 2008-12-10 11:32 岑文初 阅读(2070) 评论(2)  编辑  收藏

评论

# re: 星巴克REST案例分析读后感 2008-12-11 13:52 Always BaNg.
REST这么火,有成功的案例么?  回复  更多评论
  

# re: 星巴克REST案例分析读后感 2008-12-11 14:05 岑文初
Google的Gdata,豆瓣的Open API,Amazon的S3等等都是REST的,当然并没有说REST一定是好的,技术没有所谓的优劣,只有用的人是否在合适的场景充分的利用了它的优势特点。  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航: