[Twisted-Python] Wrapping a Perspective

Phil Mayers p.mayers at imperial.ac.uk
Fri Sep 7 05:34:45 EDT 2007


On Fri, 2007-09-07 at 17:21 +1000, Rasjid Wilcox wrote:
> On 9/6/07, Phil Mayers <p.mayers at imperial.ac.uk> wrote:
> > I suggest you abandon Perspective Broker; it's a fully async protocol,
> > and by trying to call it in a sync/blocking manner you're going to get
> > nowhere fast.
> >
> > Use something easy like XMLRPC. Twisted can implement that as a server
> > with full deferred-capable semantics, it'll run over HTTPS, it's got
> > authentication, it's got .net bindings etc.
> 
> I have used XMLRPC in the past (until recently it was my main use of
> Twisted), but it does not support complex objects, 

Well, it an pass arrays and dictionaries; how much more complex can
objects actually get, unless you want callbacks?

> nor callbacks.  PB does both, but just in an async manner.

Ah. You want callbacks. ;o)

So, let me be be sure I've understood what you want:

windows client
 |
 \- VB process
    |
  <COM>
    |
    \- python COM component
            |
  <maybe Twisted in a thread>
            |
  <some kind of complex object/callback capable RMI>
            |
     /- Python object ----> another COM object
     |
 /- Twisted Process
 |
windows server

I have a hard time seeing why you wouldn't just use DCOM for this, but
anyway...

Is the python COM component on the client in-process or out of process?

I assume you have no issues creating and talking to the COM object on
the server?

Christopher Armstrong has already suggested looking at COM to see if it
can support "async" components; it's been a while, but I seem to recall
it can.

You'll still need to run the reactor in a thread of course.

> I could use CORBA instead of PB, but then I'm likely to be in the

I don't see how that would help you.

> position where I want to learn Twisted and CORBA - I'd rather just
> learn Twisted, as long as I can get it to play with Windows COM in the
> way that I want.
> 
> _______________________________________________
> Twisted-Python mailing list
> Twisted-Python at twistedmatrix.com
> http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python





More information about the Twisted-Python mailing list