[Twisted-web] Higher level application servers

Phil Mayers p.mayers at imperial.ac.uk
Tue Aug 23 13:43:06 MDT 2005

OR: Zope is great, but...

I've got a large web-based application (forms-based SQL-backed, but a 
very very comprehensive app) written over a period of about 4 years in 
Zope. I have been overall very impressed by some features of Zope, but I 
feel it's increasingly moving away from where I want to be - there's a 
heavy CMF/doc repository/company intranet feel to the new X3 releases, 
and the benefits of async versus threadpool-based and multiprotocol 
support are just too much.

But I don't want to lose a lot of what Zope does offer, in particular:

  * transaction manager - integrated ZODB, SQL (and other) 
transaction(s) wrapping rendering of the entire requests
  * TTW editing - very hand for RAD
  * rollback of changes / versioning of code/data objects

I can turn around new (good, well thought out) features very quickly 
using a combinaton of Zopes PythonScripts and/or templated SQL, and if I 
make a coding error, the exception rolls back any transactions for any 
and *all* transactional-aware components used in that request (SQL, 
LDAP, filestore) without me doing any work, then I take a look at the 
exact diff of what I typed and maybe rollback the changes. A great crutch!

Of course writing all these would be relatively trivial, but the time 
spent piles up. I'm aware the divmod suite has an app server (Mantissa) 
but to be frank I don't like Atop. I'm quite happy (actually I prefer) 
filesystem-backed code.

So what's the state of play for layers between t.web -> (appserver) -> 
appcode. I would expect the obvious choice for components within the app 
server to be t.e.adbapi, nevow, t.cred and then onto the more narrow 
components like a caching framework, indexing, etc.


More information about the Twisted-web mailing list