Ответ 1
XML-RPC является частью стандартной библиотеки Python:
- Python 2: xmlrpclib и SimpleXMLRPCServer
- Python 3: xmlrpc (оба client и server)
Фактически, я проделал некоторую работу с Pyro и RPyC, но есть больше RPC-реализации, чем эти два. Можем ли мы составить список из них?
Собственные протоколы на основе Python:
RPC с множеством базовых протоколов:
Основы, основанные на JSON-RPC:
МЫЛО:
Основы, основанные на XML-RPC:
Другие:
XML-RPC является частью стандартной библиотеки Python:
Apache Thrift - это вариант RPC на разных языках, разработанный в Facebook. Работает над сокетами, сигнатуры функций определяются в текстовых файлах независимо от языка.
Поскольку я задал этот вопрос, я начал использовать python-symmetric-jsonrpc. Это неплохо, может быть использовано между программным обеспечением python и non-python и следовать стандарту JSON-RPC. Но ему не хватает примеров.
Вы можете попробовать Ладон. Он обслуживает сразу несколько протоколов веб-сервера, поэтому вы можете предложить большую гибкость на стороне клиента.
Есть некоторые попытки сделать работу SOAP с python, но я не тестировал ее, поэтому не могу сказать, хорошо это или нет.
SOAPy является одним из примеров.
Мы разрабатываем Versile Python (VPy), реализацию для python 2.6+ и 3.x новой структуры ORB/RPC. Функциональные версии AGPL dev для просмотра и тестирования доступны. VPy имеет собственные возможности python, подобные PyRo и RPyC, через общий слой собственных объектов (пример кода). Продукт предназначен для независимого от платформы взаимодействия с удаленными объектами для реализации Versile Platform.
Полное раскрытие: я работаю для компании, разрабатывающей VPy.
может быть ZSI, который реализует SOAP. Я использовал генератор заглушек, и он работал правильно. Единственная проблема, с которой я столкнулся, - это сделать SOAP через HTTPS.
Вы пропустили omniORB. Это довольно полная реализация CORBA, поэтому вы также можете использовать ее для общения с другими языками, поддерживающими CORBA.