Какой протокол использовать в связи клиент-серверное приложение с питоном? - PullRequest
3 голосов
/ 26 февраля 2011

Мне нужно сделать клиент-серверное приложение, клиент будет сделан с python-gtk, все процедуры будут на стороне сервера, чтобы освободить клиента от этой рабочей нагрузки.

Итак, я выполнил поиск в Google по поводу клиент-серверных протоколов и обнаружил, что CORBA и RPC ближе к тому, что я имел в виду, НО также я хочу сделать это приложение готовым к приему веб-и мобильных клиентов, поэтомуя нашел REST и SOAP.

Из всего этого чтения я обнаружил, что сомневаюсь, должен ли я реализовать два разных протокола: один для gtk-клиента (например, RPC или CORBA), а другой - для сети и мобильных устройств (REST илиSOAP)?

Могу ли я использовать REST или SOAP для всех?

Ответы [ 2 ]

4 голосов
/ 26 февраля 2011

Я реализовал веб-сервисы с использованием SOAP / XMLRPC (раньше было легко поддерживать оба, среда, которую я использовал в то время, делала ее довольно тривиальной);Я думал об использовании стандартного HTTP без уровня SOAP / XMLRPC (прежде чем я знал, что у REST есть имя :), но в конце концов отказался от него, потому что «я не хотел писать код на стороне клиента для обработки структур данных»,(У клиента Perl также были простые API-интерфейсы SOAP / XMLRPC.)

В конце я пожалел о своем решении: я мог бы написать код для обработки данных самостоятельно во второй половине дня (или, самое большее, додень) - или, если бы я решил использовать JSON, возможно, два часа.Но бремя SOAP / XMLRPC API и библиотечных зависимостей сохраняется спустя годы после того, как я сэкономил несколько часов на разработке, и останется бременем для будущей разработки продукта.

Поэтому я рекомендую дать REST действительно хорошая попытка , прежде чем переходить на RPC-фреймворк.

3 голосов
/ 26 февраля 2011

Используйте REST. Это самый простой и, следовательно, самый широкий доступ. Если позже вам действительно понадобятся SOAP, RPC или CORBA, вы можете добавить их тогда.

...