[Twisted-Python] PB and other distributed object protocols

Stephen Waterbury golux at comcast.net
Tue May 30 16:12:46 EDT 2006


Hi Gang,

Preface:  I'm not a protocol guru, or even a "distributed object" (DO)
guru, so this message is from the point of view of a DO novice looking for
insights from some of the twisted minions (/gurus) and other cybergods
who hang out here.

I've been monitoring Brian's work on newpb (PBng?), and I love
everything about it.  Except how long it's taking.  :(

Brian:  I know you have a real job, too, so I completely understand!
(Incidentally, you're the only one whose commit messages I save,
because they're always so well documented.)  I've read the TODO list,
and pretty much everything is beyond my abilities (and time) to
contribute to -- sorry! -- but is it possible to put any kind of
approximate timeline on some of it?

PB is what I really want to use for my project, but I need something
that's close to ready-for-prime-time, and I've been waiting literally
years for PB, so in the meantime I'm looking at other candidates.
I would definitely prefer a "twistable" technology -- i.e., one for
which some kind of async adapter can be written from twisted -- and
also one that has bindings for other languages (mainly Java, since
my organization is Java-heavy).

I've dismissed the idea of CORBA -- although one or more
of the python orbs is probably twistable, CORBA has such a negative
image that I'd probably have to lie about using it, and it does
have lots of weird baggage.

[Aside:  I always liked Bill Janssen's ILU (how could you not like a
distributed object system that had bindings for both python and
lisp??) and I was sad to see it go.  Interesting that Bill is
now in the Python community.]

Over the weekend I read the docs for ICE (http://www.zeroc.com/),
sort of a streamlined, WAN-optimized CORBA.  It has nice features,
and even support for (threaded) async operations which seems
(to my novice understanding) twistable.  But its type system and
python binding seem very unpythonic to me, based on lots of C++-isms,
etc.  Ugh.

I just today discovered "json-rpc", which looks pretty cool.
I currently use xml-rpc in my twisted app, and I've thought that
json would be a neat replacement for xml (more concise + very
pythonic syntax so probably *way* more efficient python
marshalling/unmarshalling).  And someone finally did it -- great!
Has anyone here experimented with it?  Anyone thought
about twistifying it?  If not, I might take a stab (I'd start
by looking at what Itamar [I think] did with xml-rpc).

Cheers,
Steve




More information about the Twisted-Python mailing list