星巴克REST案例分析读后感
2019獨角獸企業重金招聘Python工程師標準>>>
???? 今天收到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本身的優勢。
??? 做一下廣告:http://www.blogjava.net/cenwenchu/archive/2008/12/10/245414.html?是我下周一將會作的一次關于Open API的內部培訓的ppt,有興趣的同學可以看看。
轉載于:https://my.oschina.net/pangzhuzhu/blog/331869
總結
以上是生活随笔為你收集整理的星巴克REST案例分析读后感的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: apache 工作模式prefork进程
- 下一篇: HDU-4902-Nice boat