日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

APP對決Web3S:探索RESTful協(xié)議之路

標準化的資源發(fā)布和編輯協(xié)議可以帶來很多好處,因為它提高了達成跨組織的互操作和普遍理解的機會 。雖然發(fā)明出XML作為基礎格式已經(jīng)讓這方面有了一點提高,但XML有些過于空泛,在描述一些更確切的屬性如集合和集合元素上,沒能設立一些得到廣泛認同的基本準則 。將XML格式和通用的HTTP協(xié)議相結(jié)合所形成的RESTful,有望成為一個共同的基礎 。目前的確有若干協(xié)議著眼于這個問題 。最早也可能是最成熟的是ATOM發(fā)布協(xié)議(ATOM Publishing Protocol,APP),它是一個IETF標準,目前已接近定案 。APP在最終草案中定義如下:
以下是引用片段:
Atom發(fā)布協(xié)議是利用HTTP[RFC2616]和XML;1.0[W3C.REC-xml]對Web資源進行發(fā)布和編輯的應用層協(xié)議 。本協(xié)議支持Web資源的創(chuàng)建,并為以下概念提供設施:
集合(Collections):資源的集合,可以獲取整個集合,也可獲取其一部分
服務(Services):發(fā)現(xiàn)和描述集合 。
編輯(Editing):創(chuàng)建、更新和刪除資源 。
APP和當前許多協(xié)議的不同之處在于,服務器在如何處理來自客戶的請求上,被給予了充分的自由 。
APP還定義了一個標準擴展模型,以使其更便于使用 。事實上Google就是一個例子,他們利用這個模型開發(fā)了Google Data API (GData)作為讀寫Google的各種服務,如Google Base、Google Calendar等的通用協(xié)議 。
然而,微軟似乎不喜歡APP,他們決定發(fā)布自己的叫做Web3S (“Web StrUCtured, Schema’d & Searchable”)的協(xié)議 。微軟員工Yaron Goland最近在博客中介紹了這個協(xié)議:
以下是引用片段:
Live平臺上的大多數(shù)服務都遵循非常類似的設計模式,我最初稱之為S3C 。S3C是個縮略詞,表示結(jié)構(gòu)化(Structured)的數(shù)據(jù),加上某種形式的數(shù)據(jù)定義(Schema)(我是指一般意義上的,并不特指XML;Schema),再加上某種形式的搜索(Search),以及通常跟CRUD相當類似的操作方式 。因此,很自然就想到如何通過單一的協(xié)議來統(tǒng)一訪問所有的服務 。我們首先嘗試了APP 。這是一個商業(yè)決定,Live做的是服務業(yè)務,而不是協(xié)議或者開發(fā)工具業(yè)務 。我的職責要求我不應理會人們通過什么瀏覽器來訪問Live、我們的合作伙伴/客戶用什么語言來開發(fā)軟件、他們運行什么操作系統(tǒng)等等 。我的職責要求我注重的是,我們要讓盡可能多的人寫出盡可能多的軟件來訪問Live服務 。
因此對我們來說,所有的協(xié)議問題只是一道門檻 。這道門檻不能給我們帶來任何收入 。而且我們不擔心鎖定用戶的問題 。至少給我下指令的人(你好,George!)非常清楚鎖定用戶的日子已經(jīng)一去不返了 。未來顯然屬于將各種服務聯(lián)結(jié)到一起的做法 。也就是說,沒有人會將他們所有的數(shù)據(jù)和服務等等,全都放在Live上 。這不可能 。即便我們做任何事都做到最頂尖,我們?nèi)匀粺o法獲得用戶的全部數(shù)據(jù)和服務 。因此我們要想成功,就必須說服用戶將他們的一部分數(shù)據(jù)/服務交給我們,然后我們讓存放在我們這里的數(shù)據(jù)/服務通過簡單到不能再簡單的方式,跟用戶存放在其他地方的數(shù)據(jù)/服務聯(lián)結(jié)起來 。
換句話說,這完全取決于互操作性,互操作越簡單,我們就越成功 。因此我們夢想能有一個滿足S3C模式的協(xié)議 。非常流行,受到廣泛支持的協(xié)議 。一個我們可以直接采用,馬上開始做生意(構(gòu)建偉大的服務)開始賺錢的協(xié)議 。
于是我們首先嘗試了APP 。它是現(xiàn)在最熱門的 。雅虎、Google……每個人都愛它 。正如Dare在他的最新文章中所說,微軟已經(jīng)采用了APP,并將繼續(xù)采用APP,只要這樣做有積極意義 。事實上,當我們環(huán)顧四面,我們無法發(fā)現(xiàn)任何能真正滿足我們需要的協(xié)議 。
因為我的上司討厭S3C這個名字,因此我們將其改名為Web3S,并用這個名字發(fā)布了它 。協(xié)議的第一段解釋了我們的需求 。我還發(fā)表了一篇常見問題解答解釋了Web3S的基本設計原理 。理所當然地,我在第一個問題(第2.1小節(jié))解釋了我們不采用ATOM的原因 。

推薦閱讀