[Twisted-Python] PB v XMLRPC v CORBA v SOAP

Brendan Simon Brendan at BrendanSimon.com
Mon Apr 10 06:28:44 EDT 2006

I have the following application in mind.
    1. Using a Configuration Management System that only runs on UNIX.
    2. Write an application for Windows to remotely connect to the UNIX 
host and perform commands.
    3. Optionally add a GUI (wxPython) to the application.

The CMS has a command to output XML of parts of its internal database 
which will make it easy to display the info in a client app :)  For me 
the question is how do I get the info to/from the CMS on a remote 
server.  I think writing a small server app to interpret my requests and 
relay the XML output to the client is the answer.

I want to use SSH which is how I got onto Twisted (Conch) though I do 
realise that Paramiko is available too.  I also want to make use of rsync.

Reading some Python books, suggested  technologies are Twisted's 
Perspective Broker, XMLRPC, CORBA and also SOAP is mentioned.

CORBA seems like overkill for my simple server.
SOAP I don't know enough about yet.
XMLRPC seems very appropriate.
PB seems easy enough too.

One big question for me is portability, such that other clients written 
in other languages could access the same data.  I'm thinking that all 
technologies would have this property _except_ for PB.  Is that 
correct?  i.e. could a C, perl or ruby application access my server if 
the server was written using Twisted PB ???

If not would anyone recommend SOAP or XMLRPC instead??

Also, it would be nice if I could use any transport mechanism to send 
the commands.  eg. http, https, ssh, rsh.  Can Twisted be used to 
provide such a generic transport mechanism?  If not would, SOAP or 
XMLRPC be better choices, or is the question of transport irrelevant.

I was thinking of creating my own XML files to request information from 
my server.  Is this the way to go, or am I recreating the wheel?


More information about the Twisted-Python mailing list