Twisted or Medusa or Zope

M

mir nazim

hi,
i m planning to start writing intranet applications and want ur real
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.
my questions are:

1. which has the least learning curve.
2. which is best suited for the purpose for applications like workflow
automation, groupware, and other business related apps.

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

thanks in advance.
 
T

Thomas Weholt

My advice ( I got some experience in all of them ) :

Medusa is old and you have to do alot yourself. You have to know abit about
HTTP, how async works etc. Get ready to get your hands dirty.

Twisted is similar to Medusa, but comes with a bunch of very cool
ready-to-use/more-or-less-stable modules which can be combined into complex
and nifty web-based applications. Very steep learning curve, some
fundamental things are still not documented and under heavy development,
especially the web/woven-part. I'm using the core http-server modules of
Twisted and are very happy with it. I've created a dynamic system on top of
it using simpleTales for templates, SQLite for database and alot of
homegrown modules. I'm very happy with Twisted in the form I'm using it now,
but I still haven't gotten into the really heavy stuff, like deferreds (
yes, that's heavy stuff !! ) but I'll get there. Twisted is probably one of
the framework killer apps of python, if not in it's current form, I'm sure
the dedicated developers behind Twisted will make it so in the future.

Zope is a huge beast, with lots of allready production ready
products/applications ready, alot of which are aimed at business use. My
problem with Zope is that you have to do alot of work in a web interface and
most of your code ends up in some object database, not as files in your
filesystem. It's a very powerfull and stable package, lots of documentation
and with a very helpful and dedicated user- and development-following. As
long as I could use the pre-packaged products available and simple tasks and
development, Zope was awsome. But I needed more control and ended up doing
alot of the things Zope does for you in my own code. You'll find most
groupware and business related code and products in Zope. Twisted and Medusa
are more bare-bone framework in which you create your own servers.

Take a long look at all the products Zope has to offer. It might happend
that you allready got most of the things you need available allready. If
not, dive into the development documentation and find out if this is how you
want to work, if it fits your taste and experience-level. If you still feel
there's something missing, like I did, study the documentation and the
postings in the twisted-mailing list.

Good luck!!

Thomas
 
A

Andrew Bennetts

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.
 
P

Peter Hansen

Thomas said:
My advice ( I got some experience in all of them ) :

Medusa is old and you have to do alot yourself. You have to know abit about
HTTP, how async works etc. Get ready to get your hands dirty.

Twisted is similar to Medusa, but comes with a bunch of very cool
ready-to-use/more-or-less-stable modules which can be combined into complex

Heh. :)

Twisted is similar to Medusa in about the same way that Linux is similar to,
say, CPM...

-Peter
 
T

Thomas Weholt

Peter Hansen said:
complex

Heh. :)

Twisted is similar to Medusa in about the same way that Linux is similar to,
say, CPM...

-Peter

Ok, my point was that they are similar type of frameworks, if we compare
medusa and the webserver-part of Twisted. They don't do much without a bit
of work/coding. Unlike Zope which comes with a UI, user-management etc
running the minute you finish the installation procedure.

I might not know the entire technical aspect of medusa and twisted, not
really enough to compare them in detail. I was referring to the way a
programmer will have to use them, based on my experience using the two. In
that regard they're somewhat similar and different from zope. If I'm
completly off track here feel free to enlighten me.

Thomas
 
P

Peter Hansen

Thomas said:
to, say, CPM...

Ok, my point was that they are similar type of frameworks, if we compare
medusa and the webserver-part of Twisted. They don't do much without a bit
of work/coding. Unlike Zope which comes with a UI, user-management etc
running the minute you finish the installation procedure.

I might not know the entire technical aspect of medusa and twisted, not
really enough to compare them in detail. I was referring to the way a
programmer will have to use them, based on my experience using the two. In
that regard they're somewhat similar and different from zope. If I'm
completly off track here feel free to enlighten me.

Thomas, you're completely ON track here... I just wanted to emphasize that
Twisted is much more polished and sophisticated. I'd even have to say,
as a programmer using them, that Twisted does actually provide a simpler and
cleaner API. It and Medusa are much closer in concept than either is to
Zope, though, as you say.

-Peter
 
R

Robin Becker

....
enlighten me.

Thomas, you're completely ON track here... I just wanted to emphasize that
Twisted is much more polished and sophisticated. I'd even have to say,
as a programmer using them, that Twisted does actually provide a simpler and
cleaner API. It and Medusa are much closer in concept than either is to
Zope, though, as you say.

-Peter
In another thread http://snakelets.sf.org was mentioned.
 
P

Peter Hansen

Robin said:
..
...
In another thread http://snakelets.sf.org was mentioned.

I get at least a temporary "server not found" error when I try that name.

In any case, anything added on top of Twisted and Medusa are, of course,
not Twisted and Medusa. Zope is added on top of Medusa, and doubtless there
are and will be many things added on top of Twisted, some of which may
be similar in purpose to Zope (specifically, content-management systems
rather than just frameworks for application writing).

-Peter
 
M

mir nazim

thanks a lot for he4lping me out. keep ideas flowing.
its really cool group.
thanks again.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,580
Members
45,054
Latest member
TrimKetoBoost

Latest Threads

Top