WADL, WSDL, XSD和 Web
原文: 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和非後設資料,我們保證會將這項工作做得相當出色。
更多的精彩內容,盡在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
相關文章
- Web service,XSD及WSDL的一些使用Web
- web服務中soap、wsdl、uddi理解Web
- Spring中DTD和XSDSpring
- webservice快速入門-SOAP和WSDL(三)Web
- XSD 日期和時間資料型別資料型別
- 瞭解下WSDL 埠
- XSD 空元素概述
- 使用soapui檢視wsdlUI
- XML Web 服務技術解析:WSDL 與 SOAP 原理、應用案例一覽XMLWeb
- XSD 僅含元素概述
- XSD 簡易元素概述
- XSD 複合元素概述
- wsdl檔案結構分析
- (文摘)徹底理解webservice SOAP WSDLWeb
- xsd 自定義list 實現
- 如何定義Xsd檔案
- XML XSD XSL區別XML
- XSD 數值資料型別資料型別
- WebService—wsdl的簡單介紹(未完)Web
- PHP根據wsdl生成呼叫soapwebservice程式碼PHPWeb
- cxf WebService設定wsdl中soapAction的值Web
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">報錯HTTPMavenApache
- IntelliJ IDEA 新增本地xsd檔案IntelliJIdea
- CXF呼叫方式——使用wsdl2java(Windwos下)Java
- Nagios呼叫WSDL WebServer介面傳送簡訊iOSWebServer
- Serialize Your Deck with Positron [XML Serialization, XSD, C#]XMLC#
- XSD中自定義型別的三種方式型別
- PHP呼叫webservice遇到 Soap WSDL Error - "failed to load external entityPHPWebErrorAI
- 使用cmd webservice wsdl網址生成客戶端程式碼Web客戶端
- netbeans透過wsdl生成webservice的UTF8問題BeanWeb
- PHP5開發之WSDL,SOAP呼叫實現過程PHP
- 使用IBM Rational Software Architect 在Java中處理XSDIBMJava
- Web1.0、Web2.0 和 Web3.0 的區別Web
- cxf webservice 生成wsdl方法引數名稱為arg0問題Web
- 用Spring Web Flow和Terracotta搭建Web應用SpringWeb
- web AR探索和總結Web
- Web總結:部署和安全Web
- 筆記:API 和 Web API筆記APIWeb