[Twisted-Python] PB v XMLRPC v CORBA v SOAP
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