2011-02-26 55 views
3

我需要做一個客戶端 - 服務器應用程序,客戶端將用python-gtk, 所有的程序都將在服​​務器端釋放這個工作負載的客戶端。在與python的客戶端 - 服務器應用程序通信中使用什麼協議?

所以我在谷歌搜索關於客戶端 - 服務器協議,我發現CORBA和RPC離我心目中的距離更近,但是我也想讓這個應用程序準備好接受網絡和移動客戶端,所以我發現REST和SOAP。

從所有的閱讀中我發現自己有這種疑惑,我應該實現兩種不同的協議,一種適用於gtk-client(如RPC或CORBA),另一種適用於Web和移動(REST或SOAP)?

我可以對所有人使用REST或SOAP嗎?

回答

4

我一直在使用SOAP/XML-RPC實現的web服務之前(這很容易支持,我用當時的框架,使得它非常容易的);我曾想過使用標準的HTTP沒有SOAP/XML-RPC層(以前我是知道REST有一個名字:)但最終決定不去了,因爲「我不想寫客戶端代碼來處理數據結構」 。 (Perl的客戶端也有容易SOAP/XML-RPC的API。)

最後,我後悔我做出了決定:我可以編寫代碼來處理的數據結構自己在一個下午(或至多一天) - 或者如果我選擇使用JSON,大概兩個小時。但是,在我節省了幾個小時的開發時間後,SOAP/XMLRPC API和庫依賴關係的負擔仍然存在,並且將繼續成爲未來產品開發的負擔。

所以我建議給REST一個真的好之前與RPC框架去嘗試

3

使用REST。這是最簡單的,因此也是最容易獲得的。如果您以後確實需要SOAP,RPC或CORBA,則可以添加它們。

+0

REST不是協議。 HTTP是我認爲你指的協議。 – 2011-02-26 14:53:40

+1

@達雷爾:沒錯,如果有點迂腐。答案在這裏似乎是適當的。 – 2011-03-02 16:40:02

相關問題