Twisted or Medusa or Zope

Andrew Bennetts andrew-pythonlist at puzzling.org
Thu Jan 8 09:06:24 EST 2004


On Wed, Jan 07, 2004 at 08:08:55AM -0800, mir nazim wrote:
> hi,
> i m planning to start writing intranet applications and want ur real

"intranet applications" is a very vague term.  Can you be more specific?

> cool advices for choosing the correct platform. the choice is between
> the three:
> 
> 1. Twisted
> 2. Medusa
> 3. Zope
> (i do not know any of the three).
> 
> i want u people to help me choose the correct platform. 

It depends :)

> my questions are:
> 
> 1. which has the least learning curve.

Depends on what you're trying to do.  Zope is probably easier to write most
kinds of web applications in, because that's what it's designed to do,
whereas Twisted is probably easier to implement a network protocol in,
because that's what it's designed to do.

I think this is the wrong question to ask.  The three packages you listed
above do quite different things, so the important issue isn't which is
easier to learn, but which is the right tool for your job.

> 2. which is best suited for the purpose for applications like workflow
> automation, groupware, and other business related apps.

How do you want people/systems to interact with your "workflow automation,
groupware, and other business related apps"?  A custom network protocol?
Remote procedure calls, e.g.  XML-RPC?  Web pages?  Something else?

> please also highlight the major diffrences between the three. 
> also tell if there is a better alternative.

Twisted: 

    Paraphrasing http://twistedmatrix.com/ slightly: "Twisted is an
    event-driven networking framework written in Python and licensed under
    the LGPL.  Twisted supports many different transports, such as TCP, UDP,
    SSL/TLS, multicast and Unix sockets.  Twisted includes a large number of
    ready-to-use protocol implementations, including HTTP, NNTP, IMAP, SSH,
    DNS, IRC, FTP.  Twisted also includes some applications implemented with
    these protocols, such as a web server and domain name server."

Medusa: 

    http://www.amk.ca/python/code/medusa.html says: "Medusa is a framework
    for writing asynchronous socket-based servers."  It is simpler and
    lower-level than Twisted.  This means it's harder to work with, but
    perhaps lighter-weight.  For new projects, I think Twisted is probably a
    better choice than Medusa.  Zope uses Medusa for its web server.

Zope:

    http://www.zope.org/ says: "Zope is an open source application server
    for building content managements, intranets, portals, and custom
    applications."  It's a web server with an integrated object database.
    Notably for you, there are "products" (i.e. modules) for Zope that
    include Workflow automation engines for document publishing -- I'm
    thinking of CMF here (http://cmf.zope.org/).  Plone
    (http://www.plone.org), which is built on CMF, is worth looking at if
    you are interested in the CMF.

My guess is that Zope is probably the tool best suited to your problem, but,
well, "it depends" :)

It's entirely possible that you might want more than one of these tools,
too!

-Andrew.





More information about the Python-list mailing list