[Twisted-Python] Need a mother?
sean at twistedmatrix.com
Sun Mar 16 14:21:21 EST 2003
A little history about the sister code...
I (along with Glyph) was the original developer of this code for a game
project. At one stage, it was fully integrated with authorizers and
enterprise and I had distributed logins working, spawning of "game servers"
on multiple machines in a cluster, object loading from a database, and
centralized locking of resources across the distributed system. I had a set
of twisted servers running my game world across three different machines on
different operating systems almost transparently to the application code.
Unfortunately, I am no longer at that company on that project and no-one is
using or really maintaining the sister code. Jp is right in saying that it
needs users - it really also needs developers. It's probably not a huge task
to bring it back up to date, but i admit I haven't looked at the code in
about four or five months and don't have the time or motivation to spend on
it these days, but i would be willing to answer any questions if that is
Also, it's original purpose was actually more to distribute a single type of
application rather than to connect a set of different applications as the
origin poster suggests.
From: twisted-python-admin at twistedmatrix.com
[mailto:twisted-python-admin at twistedmatrix.com]On Behalf Of Jp Calderone
Sent: Sunday, March 16, 2003 12:54 PM
To: twisted-python at twistedmatrix.com
Subject: Re: [Twisted-Python] Need a mother?
On Sat, Mar 15, 2003 at 11:13:45AM -0600, Stephen Figgins wrote:
> I am evaluating twisted matrix as the framework for an enterprise
> solution, a workflow/inventory/point of sale, does-all-kinds-of-things
> system. It needs to be highly secure, supporting SSL and encryption,
> and some decent Auth utilities. Our inclination is toward an n-tier
> solution for each store, with some connectivity between stores in a
> chain or under some kind of central management.
> Because there are many pieces to this puzzle, lots of optional services
> a system may need to provide and some specialized interfaces, my thought
> has been to take a component approach. This way we can drop in new
> components or update components as needed.
> We would like some way to centrally manage and load balance those
> components, within a single host as well as over multiple hosts. I am
> beginning to grasp how PB works, some. What I don't see is any kind of
> central registry for those components. It looks like the client needs
> to know the host and port of the component it wants in order to be able
> to use it. It looks to me like twisted.sister is meant to fulfill both
> of these functions, centralizing login, load balancing, name services,
> connecting clients to components.
> I think a mother is just the thing I need. Is it?
> If so, then how should I go about learning to use it. (I can create a
> parent tap easily enough with mktap, but I am uncertain how to customize
> it for our own authentication and encryption needs.) Anyone have
> examples of twisted sister in action?
> How far off are we from a stable implementation of twisted.sister? Our
> goal for the system we are developing is to roll it out in about a year.
> It would be nice if the framework components we used were at least
Since no one else has jumped in yet, I'll tell you what I know (not a
lot). As it stands now, Twisted.sister has a problem with authorizers.
Some stuff it depends on got changed around, and no one brought Sister up to
date. I posted a patch that fixes it to the list a while back, but it
seemed like a bad hack around a more basic problem. No one responded, so I
never checked it in (I can make it available if you want and can't find it
in the archives).
This is just one symptom of the real problem, I think: Twisted.sister has
no real users right now. Twisted practices XP development most of the time,
which means the code that no one really has a use case for can sometimes get
into pretty bad shape.
I might be overstating the problems with Sister - as I said, I don't know
too much about it - but in any case, I think many of the other features
Twisted offers *do* make it suited for your goal. With a real user with
real use cases, Sister would definitely see improvement (You'd yell at us
when it broke, or if you're more proactive than that, you'd give us unit
tests for it ;).
So what's my point? Ahh, Twisted is good for this, but Sister might not
be ready for what you need it to do, because no one has asked Sister to do
*anything* before. Give it a nudge in the right direction and it will
probably turn into what you need, or if it doesn't, doing what you need
"from scratch" (on top of Twisted) shouldn't be much more effort.
Hope this helps,
More information about the Twisted-Python