[Twisted-web] Higher level application servers

Phil Mayers p.mayers at imperial.ac.uk
Tue Aug 23 15:09:24 MDT 2005

Michal Pasternak wrote:
> Dnia Tuesday 23 August 2005 21:43, Phil Mayers napisał:
> [...]
>>But I don't want to lose a lot of what Zope does offer, in particular:
> From what do I see, you're not asking about Nevow. Nevow is about the web (or, 
> about creating Python applications that utilize HTTP protocol). You're 
> neither asking about the web, nor about http, so this is going to be pretty 
> offtopic, but what the heck...

I'm afraid you've misunderstood me, or I was unclear (though you then 
seem to answer me at the bottom, so maybe not):

I'm asking about Twisted-based (native asynchronous) HTTP application 
servers that provide higher levels of abstraction than http.Request and 
rend.Page - specifically high-level services such as per-HTTP-request 
transaction managers, TTW object editing and the other examples I listed 
(and more maybe). Zope is the closest comparison. Zope is a higher-layer 
server written on top of (heavily retooled) medusa, a threadpool, ZODB 
and DTML/ZPT/PythonScripts. This unspecified app server would be written 
on top of Twisted, twisted.web, nevow (and other stuff).

I had assumed that was about as on-topic as you could get for 
"twisted-web" list, but maybe not.

re: LDAP, filestores, and so forth, I was using those as examples of the 
kind of high-level services such an app framework may provide, rather 
then specific features I need.

> pgasync is pretty good for writing Twisted apps which use PostgreSQL backend. 

I'm using it. It has some issues, but none that are insurmountable. It's 
certainly very good, but a DBAPI2 (or rather, ADBAPI) connector hardly 
counts as a high-level component.

> It has some glitches, none of which are really real (not working mailing 
> list, NOTIFY/LISTEN unsupported ATM, some trouble with good reaction for 
> server shutdown message).
> About LDAP and filestore... well, you just need a transaction-aware library, 
> that does what you need. 

...erm, and a transaction manager integrated to the HTTP request 
handler, which is an application server feature...

> Tracking code changes? Well, that's what subversion is good for. Perhaps it 

We'll have to agree to disagree there I'm afraid. Subversion appears to 
be "good for" getting Berkeley database errors and being a lot slower 
than CVS, all so we can "mv" files and run over HTTP? Big woop...

(That was a joke)

> won't be as convinient as what you have integrated into ZOPE, but there are 
> GUI frontends available.
>>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.
> Well, as far as I know, atop is passe.
> Check out Glyph's journal at 
> http://www.livejournal.com/users/glyf/39104.html . I think both he and the 
> whole Divmod crew is coming up with some exciting stuff, as usual. 

SQLite eh? Interesting.

> I think that Axiom and new Mantissa is what you want. 
>>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.
> Yes.
> Let's leave Nevow doing web stuff. That's the way things should be done.

I did not intend to suggest otherwise. I think you have misunderstood 
portions of my email, or read stuff into it that I did not mean to 
imply; or I have been unclear.

> For high-level webapplication stuff, consult Divmod's development lists, check 
> out Axiom and Mantissa, share your ideas with the team. I think, that this is 
> the Nevow-based thing you need.
> Take care,

I'll take a look at that.

I'm surprised there isn't something a little more lightweight though. 
Quite what it would look like I don't know, which is why I'm asking.

More information about the Twisted-web mailing list