WADL, WSDL, XSD和 Web

gudesheng發表於2008-01-03
原文: WADL, WSDL, XSD, and the Web

更多的精彩內容,盡在Stefan Tilkov的blog,這次要討論的內容是REST 是否需要象WSDL一樣的功能,實際上指的是WADL。

我在這裡想到了幾點:

首先,對於依賴於XSD來描述XML的資料承載,我懷疑WADL比WSDL的真正優勢所在。我承認,一些糟糕的WSDL引入正離我們遠去,但是那些糟糕的地方並不是互交問題的潛藏之處。我瞭解WADL同時允許RNG和XSD-我不明白對於Java(或Python或Ruby)來說,RNG的匯入/匯出機制的狀態看起來是什麼樣的。其實我更喜歡聽在人們使用的程式語言中,使用RNG匯入功能的經驗。

第二,我認為Stefan在闡述(見註解)時,有點偏題了:
“由於緊密的耦合度通常產生於stub和skeleton的生成中,因此我完全不主張這點。”

最終,那些使用帶有"."的語言(如:Ruby,C#,Javascript)或帶有"/"的語言(如XPath,XSLT,XQuery)的人們,常常會對他們所處理的資訊的“形狀”作出假設。在微軟,我曾經建造了一個“基於點”的程式設計模型,這個模型在他們允許的範圍內很自由,但是,最終如果一個使用者依賴於叫做"foobar"的元素的訪問,那麼不管這個使用者用的是帶有"."的語言或是帶有"/"的語言,那這個元素就需要出現在這個XML中。當然,人們可以在程式設計中繞過缺失的/可選的資料(感謝上帝有null值),但是大多數使用XML的程式多少都要關注元素或是屬性的名稱,這就使得它們成了程式定義中固有的一部分(即使在那些程式的某些部分被儲存在程式碼流之外(例如:屬性))

最後,我認為在Stefan的註解中,Erik Johnson所闡述的內容有很多有價值的地方:
“我認為那些喜歡REST(不管以什麼形式)的人與其說是在抵制WS-*本身,還不如說是在反抗基於介面的程式設計-至少我是這麼認為的。”

如今,Orcas正處於衝刺階段,我們都在關注如何/是否有必要在WCF後設資料中支援UriTemplate。為了那些期待這個功能的使用者,我們很有可能會去做這件事情,但是我們很清楚,吸引人們的很大部分來至於不透名的URI和非後設資料,我們保證會將這項工作做得相當出色。


Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1714894


相關文章