Daniel J. Popowich
dpopowich at comcast.net
Fri Jan 20 09:02:57 EST 2006
Daniel Nogradi writes: > Some time ago there was a post (I think by Grisha) asking "why are you > using mod_python?". It would be interesting to see answers from many > users to a related question, _how_ do you use mod_python? I use mod_python as the low-level framework to write mpservlets. I now write all my web-apps with mpservlets. I have used mpservlets for projects large (I've written two content management systems with it) and small (publishing the Cartoon of the Day to lighten the spirit for my department). Yes, I eat my own dog food, as someone else put it. Why mpservlets? This is best summed up from a section from the README: ============ 1. Overview ============ If mod_python's publisher handler is a functional view of the web, the servlet handler is an object oriented view of the web. It is inspired by WebWare (http://webware.sourceforge.net). I programmed with WebWare for many projects. I loved the object oriented view of the web it promoted and found it to be a very productive tool to quickly prototype web applications. However, I found it lacking in a number of ways: 1) it has its own server process that needs to be started and managed, this is in addition to apache or another web server; 2) its class hierarchy is rather deep: there are five classes, inclusive, in the hierarchy between the base class and the class that represents an HTML page (there are only two in Mod_python Servlets); 3) even though a web server like apache manages processes and/or threads, WebWare has its own extensive thread management system which adds complexity to an overall web application; 4) WebWare promotes a comprehensive buy-in to their framework that, personally, I found unwieldy. In short, I found WebWare too "big" for my needs and started looking for something more streamlined. I couldn't find it. Since I never intended on using a web server other than apache, it made sense to give mod_python a closer look than I had before. It was immediately clear that process/thread management came "free" by using an apache handler. The publisher handler is clearly a powerful tool, but I missed the OO view of WebWare. I looked at mod_python handlers that are available in the opensource community, but found most required a buy-in to their framework and/or content management system. At some point I realized it would be VERY easy to implement the best features of WebWare as a mod_python handler without the bloat and management burdens of other systems. Best of all, it would be easy to reuse many features of mod_python without re-inventing the wheel (Session, Cookie, FieldStorage, etc.) Cheers, Daniel Popowich --------------- http://home.comcast.net/~d.popowich/mpservlets/
|