[Twisted-Python] Large project (IMS) architecture
Patrick K. O'Brien
pobrien at orbtech.com
Thu Jan 16 11:48:40 EST 2003
On Thursday 16 January 2003 09:48 am, Itamar Shtull-Trauring wrote:
> On Thu, 16 Jan 2003 08:44:35 -0600
>
> "Patrick K. O'Brien" <pobrien at orbtech.com> wrote:
> > PyPerSyst provides simple, robust persistence for Python objects. Note
> > that the files are currently available only in CVS, and SourceForge
> > has anonymous CVS shut down at the moment.
>
> Twisted includes its own version of the idea behind PyPerSyst
> (www.prevayler.org) in twisted.persisted.journal.
Yes, I've looked at journal. I don't fully understand your implementation,
because I don't fully understand Twisted yet. And, I had already started
PyPerSyst before I knew about your implementation. Now I can't let it go.
I'm sure you know how that is. :-)
> > We recently added support for Pyro, which gives you client/server
> > RMI-like remote access. You can find Pyro here:
> >
> > http://pyro.sourceforge.net/
>
> I dislike Pyro since it uses pickles over the network. This is insecure,
> and even if that is acceptable limits you to Python clients only.
I'm not too worried about the limitation to Python clients. The security
issue is a different matter. It looks like Pyro now supports XML pickles:
<quote>
Whether the marshaling is done using the safe xml pickling (from
Gnosis_utils or PyXML) or the default pickle. The xml_pickle is not
vulnerable for the pickle trojan problem mentioned in Chapter 7, but it is
an order of a magnitude slower, and requires more bandwith. Use "any" for
any implementation (defaults to PyXML), "pyxml" for PyXML, "gnosis" for
Gnosis. PyXML seems to be about three times faster than Gnosis. You need to
have installed Gnosis_Utils (at least version 1.0.2, latest is 1.0.5 at the
time of writing). For PyXML, you need at least version 0.8, latest is 0.8.1
at the time of writing.
</quote>
> Twisted's remote object protocol Perspective Broker on the other hand
> does not use pickles, and can in fact be used with other languages (a
> Java implementation exists), while still offering many of the features
> Pyro provides.
PyPerSyst works with Pyro, but doesn't depend on it. I'd like to accomplish
the same with Twisted. I started with Pyro because it was easier for me to
figure out. Any suggestions for getting up-to-speed on Perspective Broker?
Anything else I need to be aware of for this kind of application?
--
Patrick K. O'Brien
Orbtech http://www.orbtech.com/web/pobrien
-----------------------------------------------
"Your source for Python programming expertise."
-----------------------------------------------
More information about the Twisted-Python
mailing list