2010-07-29 72 views
0

我試圖找到相關的最佳實踐/規格/文獻/等。到在不安靜的外觀背後使用restful API(比如標準的Rails應用程序)的一般問題,如XMPP API或websockets通道。非寧靜接口背後的Restful API

例如,我有一個restful的Rails應用程序,我想公開一個只讀的異步接口。這非常簡單,Rails應用程序推送到Redis pubsub頻道,然後從node.js中消耗,然後發送到websocket頻道(1)。現在,我如何才能最好地使這個異步API讀/寫?我想客戶端通過websockets通道發送到服務器,基本上等於序列化的http請求或輕量級json編碼的有效載荷,然後轉到Resque隊列,然後從主應用程序解析,但是我想知道是否有以前的工作/規格/體系結構可以構建,或者只是我可能忽略的更優雅的方法。 (1)很顯然,你可以用'xmpp'替換'websockets',而普遍的關注,非平靜接口背後的應用程序仍然適用。

在此先感謝您的幫助。

回答

0

我不確定除了調用/響應的方法之外真的有什麼區別。

例如,在網絡世界中,所有對REST接口的調用通常由瀏覽器完成,在瀏覽器中進行任何狀態跟蹤,在服務器端處理Web客戶端。因此,客戶端接口通常會發送大量數據(直接或間接通過cookie)以允許服務器重建呼叫的上下文。

在呼叫發生的基於XMPP協議(波什或直接)或WebSockets的,你需要做同樣的,因爲客戶端將討論到中間時,XMPP組件或機器人,接收節的組成要求,收集任何存儲的狀態,然後將其傳遞給REST。

在最基本的形式中,XMPP機器人/組件將僅接收傳入節,將其轉換爲REST調用,進行調用並打包結果。