- 以资源为中心的方式。
- 所有相关的资源都可以通过统一资源标识符(URI)来寻址。
- 统一通过HTTP来访问:GET、POST、PUT和DELETE。
- 内容类型协商允许从同一个URI取得不同表示形式。
- REST风格的服务很容易通过运行在web浏览器、其他客户端或服务器上的代码来访问,这在Ajax的背景下很流行。
- 完全利用WWW的缓存机制
- 为同一资源的多种表示层提供服务。
以上内容引自正在译的新书“Executing SOA”,这启发我用REST的观点来看问题。REST不是新观点了,我现在才有点理解,Shame on me!我的博客中“最近的访客”就是一个极好的REST例子。
如果用REST的观点来看,项目的进度是一项资源。特征驱动开发(FDD)的停车场图就可以作为一个很好的例子。
- GET:取得停车场图(图或数据)
- POST/PUT:创建或更新这个停车场图所代表的资源
- DELETE:删除这个停车场图所代表的资源
然后,我们就可以把这个停车场图无缝集成到别的网站中。集成到哪里呢?项目开发Dashboard!类似像Sonar或maven生成的项目网站这样的。
更进一步,如果所有的资源(版本控制、持续集成......)都放在云端,然后用RESTful的方式发布出来,我们就可以随便用一个内容管理系统(CMS),定制自己的项目Dashboard,最简单的可能就是使用一个wiki。
云时代真的来了。很想写一个停车场图的RESTful Web Service。
没有评论:
发表评论