星巴克REST案例分析读后感
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
???? 今天收到InfoQ的推薦郵件,看了標(biāo)題就很感興趣,花了一些時(shí)間一看,果然是很不錯(cuò)的一個(gè)案例分析,同時(shí)也讓自己學(xué)到了不少。大致羅列一下看后的一些文章重點(diǎn)內(nèi)容。案例地址:http://www.infoq.com/cn/articles/webber-rest-workflow
??? 1.通過(guò)REST服務(wù)請(qǐng)求完成狀態(tài)遷移,同時(shí)合理利用OPTIONS來(lái)查看資源操作權(quán)限。
??? 2.合理利用Http Heads來(lái)返回資源URI,以及通過(guò)ErrorCode來(lái)確定操作結(jié)果,并且作后處理。
??? 3.通過(guò)返回內(nèi)容指定后續(xù)流程資源定位以及操作來(lái)實(shí)現(xiàn)流程化。
??? 4.通過(guò)Put報(bào)頭的兩種版本比較標(biāo)示來(lái)防止并發(fā)修改。(其實(shí)也可以優(yōu)化來(lái)做查詢緩存的工作)
??? 5.使用Atom協(xié)議來(lái)發(fā)布和管理資源(Atom是最適合REST風(fēng)格服務(wù)的數(shù)據(jù)源格式定義)
??? 6.URI模版的使用建議,慎用,如果確實(shí)能夠有把握抽象資源定位。
??? 7.Auth可以通過(guò)輕量級(jí)Http Head中的Authentication或者WS-*的方式來(lái)實(shí)現(xiàn)。(也可以通過(guò)https實(shí)現(xiàn))
??? 總的來(lái)說(shuō),其實(shí)整個(gè)案例分析下來(lái)以后,可以發(fā)現(xiàn)如果要使得服務(wù)流程化,那么前提就是數(shù)據(jù)交互格式統(tǒng)一(XML,Atom),然后利用Http協(xié)議作為服務(wù)協(xié)議而非承載協(xié)議,利用已有的操作約定,報(bào)文頭部標(biāo)示和返回的錯(cuò)誤碼來(lái)完成資源狀態(tài)遷移的工作,同時(shí)通過(guò)在返回內(nèi)容中嵌入流程化內(nèi)容,使得整個(gè)流程可以貫穿。(這里還是簡(jiǎn)單的流程串聯(lián),其實(shí)如果在流程規(guī)則協(xié)議中增加復(fù)雜的邏輯定義,則可以實(shí)現(xiàn)更為強(qiáng)大的Web workflow)。
??? 但對(duì)于Open API或者類似的REST流程化業(yè)務(wù)來(lái)說(shuō),安全其實(shí)還是最大的挑戰(zhàn),特別是在對(duì)資源的訪問(wèn)控制權(quán)限上。當(dāng)然可以類似于WS-Security提出一套較為安全成熟的方案,但是性能和使用簡(jiǎn)易性則會(huì)大打折扣,也失去了REST本身的優(yōu)勢(shì)。
??? 做一下廣告:http://www.blogjava.net/cenwenchu/archive/2008/12/10/245414.html?是我下周一將會(huì)作的一次關(guān)于Open API的內(nèi)部培訓(xùn)的ppt,有興趣的同學(xué)可以看看。
轉(zhuǎn)載于:https://my.oschina.net/pangzhuzhu/blog/331869
總結(jié)
以上是生活随笔為你收集整理的星巴克REST案例分析读后感的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: apache 工作模式prefork进程
- 下一篇: HDU-4902-Nice boat