請原諒我,如果這是一個「討論」問題,但我真的會 欣賞是/否的答案,並有適當的解釋。您是否將下一代火星漫遊器的控制API設計爲RESTful而不是RPC?
假設你必須設計和實現一個機器人的控制API,比如說下一代 代火星車。您是否按照RESTful 原則構建了此API,或者您是否使用了經典的RPC,如XMLRPC?
我問這個,因爲我必須做類似的事情,儘管「機器人」是虛擬機的集合。我被一位頗有說服力的工程師,一位知名的REST倡導者所催促,讓API RESTful。我從來沒有使用REST原則,並且我正在努力研究它們如何適合設計低級別進程間API。 REST似乎注入了與可修改數據存儲庫進行交互的主題,通常需要多跳。我試圖做的感覺更像是密切控制機器人。我可以看到,人們可能會爭辯說,機器人在抽象上只是一個數據存儲庫 - 「向左轉」,「向外移動100米」,「獲取室外溫度」。但是這似乎是一個頗爲人爲的模型。我當然不會從緩存或代理中獲益(「你好,JPL?這是堪培拉的Akamai co-lo,我們現在接管流動站,好嗎?」)
因此,是一種RESTful架構有用嗎?當交互如此狹隘時,它是否仍然優於RPC,即使是 ?
愛JPL/Akamai/usurp備註:-) – 2008-10-13 00:19:50
XMLRPC正是爲此而設計的。在這種情況下,REST動詞都沒有意義,您所做的只是調用遠程過程調用。此外,其他REST的好處(例如隱式捕獲)在這裏也沒有任何意義。 – FlySwat 2008-10-09 02:58:54