RESTful和文檔/消息風格似乎是現在普遍實現Web服務的兩種趨勢。通過這個,我的意思是REST vs SOAP,以及文檔樣式和RPC樣式。REST適合文檔式Web服務嗎?
我的問題是如何兼容REST與文檔樣式的Web服務。從我對REST有限的知識中,它利用http GET/POST/PUT/DELETE動詞對由URL表示的遠程資源執行類似CRUD的操作,這使得它變成了一種更「健談」和遠程方法,如風格,又名RPC樣式。另一方面,文檔式Web服務強調粗粒度的調用,即發送一個批處理請求文件與複雜的信息,並期待一個響應文件也帶有複雜的信息。我看不出如何用REST很好地完成它,而沒有隻聲明一個資源用於「響應」並且始終使用POST動詞(這將打敗REST的目的)。
正如我在這兩個文檔樣式和RESTful Web服務新的,請原諒我,並親切地指出,在上述假設的任何無知。謝謝!
非常感謝您的回答。我很高興知道這兩者確實可以一起工作,但仍不確定我應該如何去實施它。能否詳細說明「REST更適合粗粒度文檔風格類型的分佈式界面」的原因?指出一個簡單的例子或在互聯網上的少數有效信息將不勝感激。 通過「REST over SOAP」,我的意思是說「REST優於SOAP」。我只是編輯我的帖子,以避免混淆。我錯誤地認爲REST與SOAP相同,因此可以替代SOAP? – hongliang 2009-08-10 18:25:31
關於SOAP和REST是否在同一層,看到這個答案我給了一個類似的問題http://stackoverflow.com/questions/1225701/well-behaving-restful-client-interactions/1230610#1230610 – 2009-08-10 20:07:42
謝謝。我發現下面的句子特別有啓發性:「Web服務提供要由客戶端應用程序處理的數據,RESTful接口應該提供將呈現給用戶的內容。」由於我的界面實際上是爲了在服務器和客戶端應用程序之間同步應用程序信息而不將它呈現給用戶,我可能應該使用Web Service方法。 – hongliang 2009-08-10 23:05:58