Distributed Computing
There are many standards for distributed computing, from simple Remote Procedure Call (RPC) ones to rich object-oriented ones such as CORBA. You can find several third-party Python modules supporting these standards on the Internet.
The Python standard library comes with support for both server and
client use of a simple yet powerful standard known as XML-RPC. For
in-depth coverage of XML-RPC, I recommend the book
Programming Web Services with XML-RPC, by Simon
St. Laurent and Joe Johnson (O’Reilly). XML-RPC uses
HTTP as the underlying transport and encodes requests and replies in
XML. For server-side support, see Section 19.2.2.4 in Chapter 19. Client-side support is supplied by module
xmlrpclib
.
The
xmlrcplib
module supports a class
ServerProxy
, which you instantiate to connect to
an XML-RPC server. An instance s
of
ServerProxy
is a proxy for the server it connects
to. In other words, you call arbitrary methods on
s
, and s
packages up the method name and argument values as an XML-RPC
request, sends the request to the XML-RPC server, receives the
server’s response, and unpackages the response as
the method’s result. The arguments to such method
calls can be of any type supported by XML-RPC:
- Boolean
Constant attributes
True
andFalse
of modulexmlrpclib
(since modulexlmrpclib
predates the introduction ofbool
into Python, it does not use Python’s built-inTrue
andFalse
values for this purpose)- Integers, floating-point numbers, strings, arrays
Passed ...
Get Python in a Nutshell now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.