Bobo and Principia
An Object-Based Web Application Platform
By Amos Latteier
Distributed-object systems have an affinity for Python, as Xerox PARC's venerable and respected Inter-Language Unification (ILU) distributed-objects system aptly demonstrates. Python's dynamic flavor, clean object-based design, and openness to integration with other systems make it a good choice.
The philosophy behind such an object-based system is to build objects, organize them in a suitable structure, then let the platform drape them in a dynamic Web interface. Digital Creations' Open Source Web application platform leverages off this architecture by coupling a lightweight HTTP Object Request Broker (ORB) with a powerful object database.
Jim Fulton, technical director at Digital Creations, developed the idea that would become Bobo after teaching a frustrating Python CGI tutorial at a 1996 Python workshop. Having been a long-time object proponent, he knew there had to be a better way to develop for the Web than CGI. Later that year, Digital Creations went back to the Python Conference to deliver several papers on the freshly completed Bobo Web object system. In 1998, Digital Creations went to the Python Conference once again, this time to announce the open sourcing of Bobo's commercial big brother, Principia (see sidebar). Now the Bobo Web tool kit and the Principia Web application platform are being combined as an Open Source platform under the new name Zope (Z Object Publishing Environment).
Platform Features
First and foremost the platform is free and Open Source, with proven technological foundations and a vital community of supporters.