Differences between revisions 32 and 33
Revision 32 as of 2012-01-14 00:50:23
Size: 4755
Editor: 1508892738
Comment:
Revision 33 as of 2012-09-29 17:52:02
Size: 4957
Editor: 1508892738
Comment: wiki restore 2013-01-23
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
Line 2: Line 3:
Line 8: Line 10:
[[http://json-rpc.org/|JSON-RPC]] is an increasingly popular Web Services specification that uses the light-weight [[http://json.org/|JSON]] (JavaScript Object Notation) data-interchange format (in comparison to the protocols listed below, which all use XML).  JSON-RPC was created in 2004 and implementations exist in JavaScript, Java, PHP and Perl (among other languages) in addition to Python.
[[http://json-rpc.org/|JSON-RPC]] is an increasingly popular Web Services specification that uses the light-weight [[http://json.org/|JSON]] ([[JavaScript|JavaScript]] Object Notation) data-interchange format (in comparison to the protocols listed below, which all use XML). JSON-RPC was created in 2004 and implementations exist in [[JavaScript|JavaScript]], Java, PHP and Perl (among other languages) in addition to Python.
Line 11: Line 15:
 * [[http://pypi.python.org/pypi/JsonUtils/|JsonUtils]] is another library that supports JSON-RPC.
Line 12: Line 17:
 * [[http://pypi.python.org/pypi/JsonUtils/|JsonUtils]] is another library that supports JSON-RPC.
Line 16: Line 20:
Line 18: Line 23:
Line 19: Line 25:
 * [[https://bitbucket.org/pfacka/jsonwsp|pfacka/jsonwsp]] is another JSON-WSP server and client implementation.
Line 22: Line 30:
[[SOAP]] is a Web services technology favoured in certain environments. The following projects seek to support SOAP and related technologies such as WSDL:
Line 24: Line 31:
 * [[http://sourceforge.net/projects/pywebsvcs|ZSI]] (Zolera Soap Infrastructure) - a version of the actively maintained [[http://sourceforge.net/projects/pywebsvcs|Python Web Services]] project; ZSI-2.0 Released on 2007-02-02 provides both client and server SOAP libraries. Newly added was proper WSDL consumption of complex types into python classes. [[SOAP|SOAP]] is a Web services technology favoured in certain environments. The following projects seek to support SOAP and related technologies such as WSDL:
Line 26: Line 33:

 * [[http://sourceforge.net/projects/pywebsvcs|ZSI]] (Zolera Soap Infrastructure) - a version of the actively maintained [[http://sourceforge.net/projects/pywebsvcs|Python Web Services]] project; ZSI-2.0 Released on 2007-02-02 provides both client and server SOAP libraries. Newly added was proper WSDL consumption of complex types into python classes.
Line 27: Line 36:
 * [[https://fedorahosted.org/suds|suds]] - Suds is a lightweight SOAP python client that provides a service proxy for Web Services.
 * [[http://code.google.com/p/pysimplesoap/|pysimplesoap]] - [[PySimpeSoap|PySimpeSoap]] is a simple and functional client/server. It goals are: ease of use and flexibility (no classes, autogenerated code or xml is required), WSDL introspection and generation, WS-I standard compliance, compatibility (including Java AXIS, .NET and Jboss WS). It is included into [[Web2Py|Web2Py]] to enable full-stack solutions (complementing other supported protocols as XML_RPC, JSON, AMF-RPC, etc.).
 * [[https://bitbucket.org/sboz/osa|osa]] - osa is a fast/slim easy to use SOAP python client library.
 * [[http://ladonize.org|Ladon]] Ladon is a multiprotocol approach to creating a webservice. Create one service and expose it to several service protocols including SOAP. Unlike most other Python based SOAP Service implementations Ladon dynamically generates WSDL files for your webservices. This is possible because the parameter types for each webservice method are defined via the ladonize decorator. Furthermore it should be mentioned that Ladon offers python 3 support.
Line 28: Line 41:
 * [[https://fedorahosted.org/suds|suds]] - Suds is a lightweight SOAP python client that provides a service proxy for Web Services.

 * [[http://code.google.com/p/pysimplesoap/|pysimplesoap]] - PySimpeSoap is a simple and functional client/server. It goals are: ease of use and flexibility (no classes, autogenerated code or xml is required), WSDL introspection and generation, WS-I standard compliance, compatibility (including Java AXIS, .NET and Jboss WS). It is included into Web2Py to enable full-stack solutions (complementing other supported protocols as XML_RPC, JSON, AMF-RPC, etc.).

 * [[https://bitbucket.org/sboz/osa|osa]] - osa is a fast/slim easy to use SOAP python client library.

 * [[http://ladonize.org|Ladon]] Ladon is a multiprotocol approach to creating a webservice. Create one service and expose it to several service protocols including SOAP. Unlike most other Python based SOAP Service implementations Ladon dynamically generates WSDL files for your webservices. This is possible because the parameter types for each webservice method are defined via the ladonize decorator. Furthermore it should be mentioned that Ladon offers python 3 support.
Line 38: Line 44:
 * [[http://soapjr.org/]]
 * [[http://en.wikipedia.org/wiki/SOAPjr]]

* http://soapjr.org/
 * http://en.wikipedia.org/wiki/SOAPjr
Line 43: Line 51:
Line 44: Line 53:
Line 47: Line 57:
Line 49: Line 60:
More in common with the message-centric usage of [[SOAP]], [[http://www.xmpp.org/|XMPP]] - an Internet standard which provides the foundation for the Jabber instant messaging technology - could be used as a Web services protocol. See [[PythonXml]] for details of suitable projects.
More in common with the message-centric usage of [[SOAP|SOAP]], [[http://www.xmpp.org/|XMPP]] - an Internet standard which provides the foundation for the Jabber instant messaging technology - could be used as a Web services protocol. See [[PythonXml|PythonXml]] for details of suitable projects.
Line 53: Line 66:

Web Services

Web services can be generally regarded as functions or functionality of applications or systems exposed over the Web using standardised message formats and typically interfaced to other software using traditional APIs, although "message-centric" usage of such services is also possible and may be favoured by certain technologies.

JSON-RPC

JSON-RPC is an increasingly popular Web Services specification that uses the light-weight JSON (JavaScript Object Notation) data-interchange format (in comparison to the protocols listed below, which all use XML). JSON-RPC was created in 2004 and implementations exist in JavaScript, Java, PHP and Perl (among other languages) in addition to Python.

  • python-json-rpc The specification website includes a Python implementation.

  • JsonUtils is another library that supports JSON-RPC.

JSON-WSP

JSON-WSP is another JSON based webservice protocol. It is inspired by JSON-RPC but designed with a JSON based description format (like WSDL in SOAP). For the time being there is only a Python based implementation, but a PHP implementation is in progress and will also be openly available.

  • Ladon Ladon is a multiprotocol approach to creating a webservice. Create one service and expose it to several service protocols including JSON-WSP. command-line, javascript and C++ clients are available that can parse JSON-WSP and deliver a dynamic interface to a service. Furthermore it should be mentioned that Ladon offers python 3 support.

  • pfacka/jsonwsp is another JSON-WSP server and client implementation.

SOAP

SOAP is a Web services technology favoured in certain environments. The following projects seek to support SOAP and related technologies such as WSDL:

  • ZSI (Zolera Soap Infrastructure) - a version of the actively maintained Python Web Services project; ZSI-2.0 Released on 2007-02-02 provides both client and server SOAP libraries. Newly added was proper WSDL consumption of complex types into python classes.

  • soaplib - Soaplib is an easy to use python library for writing and calling soap web services. Webservices written with soaplib are simple, lightweight, work well with other SOAP implementations, and can be deployed as WSGI applications.

  • suds - Suds is a lightweight SOAP python client that provides a service proxy for Web Services.

  • pysimplesoap - PySimpeSoap is a simple and functional client/server. It goals are: ease of use and flexibility (no classes, autogenerated code or xml is required), WSDL introspection and generation, WS-I standard compliance, compatibility (including Java AXIS, .NET and Jboss WS). It is included into Web2Py to enable full-stack solutions (complementing other supported protocols as XML_RPC, JSON, AMF-RPC, etc.).

  • osa - osa is a fast/slim easy to use SOAP python client library.

  • Ladon Ladon is a multiprotocol approach to creating a webservice. Create one service and expose it to several service protocols including SOAP. Unlike most other Python based SOAP Service implementations Ladon dynamically generates WSDL files for your webservices. This is possible because the parameter types for each webservice method are defined via the ladonize decorator. Furthermore it should be mentioned that Ladon offers python 3 support.

SOAPjr

XML-RPC

The first popular and largely standardised Web services technology was XML-RPC, supported in Python by the following libraries:

  • xmlrpclib - found in the standard library

XMPP

More in common with the message-centric usage of SOAP, XMPP - an Internet standard which provides the foundation for the Jabber instant messaging technology - could be used as a Web services protocol. See PythonXml for details of suitable projects.

Editorial Note

The above lists should be arranged in ascending alphabetical order - please respect this when adding new solutions. When specifying release dates please use the format YYYY-MM-DD.

WebServices (last edited 2020-04-14 19:32:51 by HansNordhaug)

Unable to edit the page? See the FrontPage for instructions.