在与python的客户端 - 服务器应用程序通信中使用什么协议?

时间:2011-02-26 01:17:25

标签: python rest soap rpc corba

我需要做一个客户端 - 服务器应用程序,客户端将使用python-gtk, 所有程序都将在服​​务器端,以释放此工作负载的客户端。

所以我在谷歌搜索客户端 - 服务器协议,我发现CORBA和RPC比我想的更接近,但我也想让这个应用程序准备好接受网络和移动客户端,所以我找到了REST和SOAP。

从所有阅读中我发现自己有这种疑惑,我应该实现两种不同的协议,一种用于gtk-client(如RPC或CORBA),另一种用于web和移动(REST或SOAP)?

我可以为所有人使用REST或SOAP吗?

2 个答案:

答案 0 :(得分:4)

我已经使用SOAP / XMLRPC实现了webservices(它很容易支持两者,我之前使用的框架使得它非常简单)之前;我曾考虑使用没有SOAP / XMLRPC层的标准HTTP(在我意识到REST有一个名字之前)但最终决定反对它,因为“我不想编写客户端代码来处理数据结构” 。 (Perl客户端也有简单的SOAP / XMLRPC API。)

最后,我对我做出的决定表示遗憾:我本可以在下午(或最多一天)编写代码来处理数据结构 - 或者如果我选择使用JSON,可能需要两个小时。但是,在我节省了几个小时的开发之后,SOAP / XMLRPC API和库依赖的负担依然存在,并且将继续成为产品未来开发的负担。

所以我建议在使用RPC框架之前给REST一个非常好的尝试

答案 1 :(得分:3)

使用REST。它是最简单的,因此也是最容易获得的。如果您以后真的需要SOAP,RPC或CORBA,那么可以添加它们。