Approaches of interprocess communication

exhuma.twn exhuma at gmail.com
Fri Feb 16 08:06:20 EST 2007


On Feb 16, 1:33 pm, Duncan Grisby <duncan-n... at grisby.org> wrote:
> In article <1171620696.577982.283... at m58g2000cwm.googlegroups.com>,
>
> exhuma.twn <exh... at gmail.com> wrote:
> >Supposing you have two separate processes running on the same box,
> >what approach would you suggest to communicate between those two
> >processes.
>
> [...]
>
> >* Webservices
> >   Advantage: Relatively easy to use, can work across different
> >languages
> >   Disadvantage: Even more overhead on the TCP/IP side that simple
> >sockets, as really bulky SOAP messages need to be passed around.
>
> >* CORBA -- similar to webservices but more complicated to code.
>
> Lots of people say that, but I don't think it's true. Obviously as the
> maintainer of a CORBA implementation I'm biased, but take a look at
> some examples of code that implement SOAP clients and servers and
> compare it to similar CORBA code. Especially in Python, the SOAP code
> tends to be incredibly verbose and complex, and the CORBA code really
> small and simple.
>
> My recommendation would be that for simple communications where
> performance isn't important use XML-RPC; for more complex cases where
> performance is a bit more important but you don't need anything except
> Python, use Pyro; for cases where performance is particularly
> important and/or you need cross-language communications, use CORBA.

Maybe this line of mine was a bit too condensed ;) I fully agree with
you on what you say about CORBA. It's just that for most people IDL
looks a bit out of place. Especially because it resembles C. But once
you actually wrote a few projects using CORBA, you actually begin to
see it's elegance ;)

I find Webservices "easier" as you can (although it's not
recommendable) leave out the WSDL part. And some implementations
actually generate the WSDL for you. But it's true, comparing WSDL and
IDL I'd rather write some IDL than WSDL ;)

But, returning back to topic, I first want to thank you all for your
input. I appreciate all the ideas. Especially the idea of using the
"cmd" module for sockets. That sound's very intriguing and I will very
likely play around with that. But also PYRO seems quite useful.

About "Linda": Am I right that it looks very similar to "JavaSpaces"?
If yes, are there any funcdamental differences between those two?




More information about the Python-list mailing list