Python Web Application Tools03/14/2001
Digital Creation's Zope is the most well known Python web application server. In features and maturity, it has no real competitors. When it comes to Python web application development, however, it does have some challengers. Chuck Esterbrook leads a project to create an application server more oriented to Python developers, namely, Webware for Python. Several modules make up the Webware package. The core part is WebKit, the actual application server. WebKit works in roughly the same way as a Java Servlet engine, managing and executing Python servlets. WebKit is extendable through plug-in modules. There is a plug-in to wrap CGI programs and a plug-in to add Python Server Pages (PSP). PSP works in roughly the same way as ASP or JSP, allowing you to embed Python directly in your web pages.
Those familiar with Java Servlets or Apple's WebObjects will feel right at home with Webware. The program is very lightweight and easy to get up and running if you are using the included threaded server. The 0.5.1 release is also very well documented. With the documentation and included demos, you can install it and start playing with it in about five minutes. Jeff Shelton of Zope Newbie News reports Esterbrook's Introduction to Webware at IPC9 was well attended and a couple of Digital Creation's employees were paying close attention to the presentation.
The MEMS Exchange's CGI-based Quixote
0.20 offers another web application development
alternative. Quixote packages code and HTML together using
Python Template Language (PTL). Simple in its conception and
simple in its execution, Quixote is a good example of how
Python can be used to rapidly develop and test an idea. Drawing
HTTPResponse code, Jeremy Hylton's compiler code,
and Robin Dunn's fastCGI code, A. M. Kuchling, Neil Schemenauer
and Greg Ward originally hammered out this web application
development tool in about a week. Well under 200k, their
solution slips easily into your existing web server. If you
are just looking for a little bit of grease to make your
existing development work easier, Quixote could be just the
thing you need.
Some Zope competitors aren't Python application servers at all. One powerful application server solution is to combine Jython, a 100% Java implementation of the Python language, with a Java web application server. Using Jython you can compile your Python programs to Java bytecode. You write Servlets in Python, compile them, and then put them on your Tomcat server, for example. Freely mixing Python and Java, you benefit from the strengths of both languages. If your company wants to go with a Java application server, you don't need to leave Python behind. From the lightweight Quixote to the full-featured, heavyweight Zope and beyond, Python developers have many options when it comes to developing and deploying web applications.
Also in Python News:
Stephen Figgins administrates Linux servers for Sunflower Broadband, a cable company.
Read more Python News columns.