RPC is a very popular subject. There’s a plethora of active and inactive projects that satisfy a wide range of requirements. Here are the main sources of information:
The Ladon project has almost the same goals and same approach to the rpc-related issues as rpclib.
Discussion thread: https://answers.launchpad.net/ladon/+question/171664
The main motive for designing JSON-WSP was the need for a JSON-based RPC protocol with a service description specification with built-in service / method documentation.
Supports both Python 2 and Python 3.
Auto-generates human-readable API documentation. (example: http://ladonize.org/python-demos/AlbumService) In Rpclib, you need to do with the ugliness of a raw wsdl document.
Does not support ZeroMQ.
Uses standard python tools for xml parsing which is good for pure-python deployments. Rpclib uses lxml, due to its excellent namespace support and speed. So Rpclib-based solutions are easier to develop and faster to work with but more difficult to deploy.
Does not do input validation for SOAP.
Does not support events.
Does not support HttpRpc.
In fact, Ladon is pure server-side software - the whole idea of supporting a standard protocol like SOAP is that clients are already out there.
Rpclib uses own classes for denoting types, whereas ladon uses Python callables. This lets ladon api to be simpler, but gives the rpclib api the power to have declarative restrictions on input types.
Does not test against ws-i.org deliverables for testing soap compatibility.
Does not support parsing and/or modifying protocol & transport headers.
“”” Web Service Made Easy (WSME) is a very easy way to implement webservices in your python web application. It is originally a rewrite of TGWebServices with focus on extensibility, framework-independance and better type handling. “”“
This is preliminary. Please correct these points if you spot any error.
This is preliminary. Please correct these points if you spot any error.