SlideShare a Scribd company logo
Some Dope On Zope
An introduction to the Zope
application server.
Kiran Jonnalagadda <jace@pobox.com>
Based on the presentation by Tim Wilson <wilson@visi.com>
What is Zope?

Zope is an open source application server
written in Python that features a transactional
rd
object database, distributed control, lots of 3
party products, a search engine, and a growing
community of users and developers.
History of Zope
In November 1998, Digital Creations combined
Bobo, an open source Web-object toolkit, and
Principia, a commercial Web-application
platform.
DC's venture capital firm encouraged them to
open source their software and Zope was born.
DC has since renamed themselves to Zope
Corporation.
Architecture
Zope has a component architecture:
❑

ZServer

❑

Zope Core

❑

Object Database (ZODB)

❑

RDBMS Integration

❑

Zope Products

❑

ZClasses
ZServer
❑

Supports HTTP, FTP, WebDAV, XMLRPC, FastCGI and PCGI

❑

Plays well with others (Apache, Squid)

ZServer does not make a great static content
delivery system. Proxies therefore make a
world of a difference. Zope internally supports
caching of expensive SQL queries and heavily
dynamic content.
Zope Core
Zope has a built-in
❑

Search engine

❑

Flexible security layer

❑

Membership

❑

Dynamic Text Markup Language (DTML)
example: <dtml-var foo>
Object Database
The Zope Object Database (ZODB):
❑

Behaves like a file system

❑

Supports:
❑
❑

Undos

❑

❑

Transactions
Private Versions

Scales well with fail-over support using
ZEO
RDBMS Integration
Zope supports connections to:
❑

Oracle

❑

Sybase

❑

ODBC

❑

Solid

❑

MySQL

❑

PostgreSQL
Zope Plugins
Zope is extended in two main ways:
❑

Add-on Python Products
❑
❑

Powerful, take full advantage of Python

❑

❑

Created in the file system
Very distributable

ZClasses
❑

New object type created through the Web

❑

Requires no programming
Zope Advantages
I prefer Zope over other systems because:
❑

I don't have to create all the content

❑

Users can't nuke the rest of the site

❑

Easy workflow (using CMF)

❑

Acquisition makes it easy to propagate
changes

❑

Versions make it possible to experiment on
a live site
Zope Disadvantages
Zope isn't a cure-all because:
❑

It really helps to grok Python and OOP

❑

Most managers still haven't heard of it
''What if you get hit by a bus?''

❑

The dynamic functionality is a massive
overhead for simple sites

❑

It's not easy!
Acknowledgments
❑

This presentation was originally created by
Tim Wilson <wilson@visi.com> who has
graciously given me permission to reuse
his slides. The original presentation was
created using vim and latex.

❑

Most of the details listed on these slides are
taken from www.zope.org and
www.zope.com.
Questions?

The Indian Zope and Python User Group has
a mailing list at
http://groups.yahoo.com/group/izpug.

More Related Content

PDF
An introduction to Node.js
PPTX
[Blibli Brown Bag] Nodejs - The Other Side of Javascript
PPTX
Static Site Generators - Developing Websites in Low-resource Condition
PDF
Modern Local Environment for WordPress in 2018
PDF
Dev112 let's calendar that
PPTX
Untangling spring week11
PDF
Afrimadoni the power of docker
PPTX
PHP Indonesia - Nodejs Web Development
An introduction to Node.js
[Blibli Brown Bag] Nodejs - The Other Side of Javascript
Static Site Generators - Developing Websites in Low-resource Condition
Modern Local Environment for WordPress in 2018
Dev112 let's calendar that
Untangling spring week11
Afrimadoni the power of docker
PHP Indonesia - Nodejs Web Development

What's hot (19)

PPTX
Maksym Khamrovskyi, Kostiantyn Averin "Octopus: on the way to deployment bril...
PDF
Social Connections 2015 CrossWorlds and Domino
ODP
Deploying your application on open stack using bosh presentation
PPTX
Untangling spring week10
PPTX
NCompass Live: Nebraska Libraries on the Web
PPTX
Untangling - fall2017 - week 8
PPTX
Untangling spring week9
PPTX
Introducing CrossWorlds for IBM Domino
PDF
A Gentle Introduction to Functions-as-a-Service
PDF
Server Check.in case study - Drupal and Node.js
PDF
Experiences from Building the Fastest OSGi Container on the Planet - Jaroslav...
PPTX
JS Fest 2018. Александр Скачков. WebAssembly vs JavaScript
PPTX
Untangling - fall2017 - week 9
PDF
Building a Node.JS accelerator for your headless Drupal backend - DrupalCamp ...
PDF
The shift to the edge
PDF
Comunicando nuestras apps con el mundo exterior
PDF
Azkaban
KEY
SFJS 6-19-2012
PPTX
MEAN Stack
Maksym Khamrovskyi, Kostiantyn Averin "Octopus: on the way to deployment bril...
Social Connections 2015 CrossWorlds and Domino
Deploying your application on open stack using bosh presentation
Untangling spring week10
NCompass Live: Nebraska Libraries on the Web
Untangling - fall2017 - week 8
Untangling spring week9
Introducing CrossWorlds for IBM Domino
A Gentle Introduction to Functions-as-a-Service
Server Check.in case study - Drupal and Node.js
Experiences from Building the Fastest OSGi Container on the Planet - Jaroslav...
JS Fest 2018. Александр Скачков. WebAssembly vs JavaScript
Untangling - fall2017 - week 9
Building a Node.JS accelerator for your headless Drupal backend - DrupalCamp ...
The shift to the edge
Comunicando nuestras apps con el mundo exterior
Azkaban
SFJS 6-19-2012
MEAN Stack
Ad

Similar to Some dope on Zope (Jan 2002, Bangalore LUG) (20)

PDF
IBM Z for the Digital Enterprise - Zowe overview
PPTX
MOBILE QUESTIONS & ANSWER WEBSITE
PPTX
Normalizing x pages web development
PDF
2020 oct zowe quarterly webinar series
PDF
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
PDF
서버개발자의 프론트엔드 맛보기
PDF
eZ Platform Cloud and eZ Launchpad: Don’t Host, Don’t Deploy, Don’t Install—J...
PDF
eZ Platform Cloud and eZ Launchpad: Don’t Host, Don’t Deploy, Don’t Install—J...
PPT
IBM and Node.js - Old Doge, New Tricks
PDF
Transitioning Groupon to Node.js - EmpireJS 2014
ODP
3978 Why is Java so different... A Session for Cobol/PLI/Assembler Developers
PDF
Cannibalising The Google App Engine
PDF
Introduction to NoSQL with Couchbase
PPTX
Introduction to node.js by jiban
PPTX
001. Introduction about React
PDF
Java EE 7 Soup to Nuts at JavaOne 2014
PPTX
NodeJS and what is actually does
PPTX
Webdevcon Keynote hh-2012-09-18
KEY
Fast, concurrent ruby web applications with EventMachine and EM::Synchrony
IBM Z for the Digital Enterprise - Zowe overview
MOBILE QUESTIONS & ANSWER WEBSITE
Normalizing x pages web development
2020 oct zowe quarterly webinar series
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
서버개발자의 프론트엔드 맛보기
eZ Platform Cloud and eZ Launchpad: Don’t Host, Don’t Deploy, Don’t Install—J...
eZ Platform Cloud and eZ Launchpad: Don’t Host, Don’t Deploy, Don’t Install—J...
IBM and Node.js - Old Doge, New Tricks
Transitioning Groupon to Node.js - EmpireJS 2014
3978 Why is Java so different... A Session for Cobol/PLI/Assembler Developers
Cannibalising The Google App Engine
Introduction to NoSQL with Couchbase
Introduction to node.js by jiban
001. Introduction about React
Java EE 7 Soup to Nuts at JavaOne 2014
NodeJS and what is actually does
Webdevcon Keynote hh-2012-09-18
Fast, concurrent ruby web applications with EventMachine and EM::Synchrony
Ad

More from Kiran Jonnalagadda (17)

PDF
AirJaldi photo rout (April 2008)
PDF
The medium without the message (April 2008)
PDF
Understanding technology in e-governance (December 2007)
PDF
Namma service cash tracking system (January 2007)
PDF
What ails the Sarai Reader List? (August 2005)
PDF
On blogging as a career (June 2005)
PDF
Python's dynamic nature (rough slides, November 2004)
PDF
Python and Zope: An introduction (May 2004)
PDF
Human database relations (March 2004)
PPT
The technology of the Human Protein Reference Database (draft, 2003)
PDF
Introduction to Plone (November 2003)
PDF
ZODB, the Zope Object Database (May 2003)
PDF
XML-RPC and SOAP (April 2003)
PDF
User Management with LastUser
KEY
Sustainability and bit-rot
PDF
e-Governance in Karnataka: An introduction
PDF
Cyberpunk Sci-Fi
AirJaldi photo rout (April 2008)
The medium without the message (April 2008)
Understanding technology in e-governance (December 2007)
Namma service cash tracking system (January 2007)
What ails the Sarai Reader List? (August 2005)
On blogging as a career (June 2005)
Python's dynamic nature (rough slides, November 2004)
Python and Zope: An introduction (May 2004)
Human database relations (March 2004)
The technology of the Human Protein Reference Database (draft, 2003)
Introduction to Plone (November 2003)
ZODB, the Zope Object Database (May 2003)
XML-RPC and SOAP (April 2003)
User Management with LastUser
Sustainability and bit-rot
e-Governance in Karnataka: An introduction
Cyberpunk Sci-Fi

Recently uploaded (20)

PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Empathic Computing: Creating Shared Understanding
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Machine learning based COVID-19 study performance prediction
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Approach and Philosophy of On baking technology
PDF
cuic standard and advanced reporting.pdf
PPT
Teaching material agriculture food technology
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Dropbox Q2 2025 Financial Results & Investor Presentation
Advanced methodologies resolving dimensionality complications for autism neur...
Empathic Computing: Creating Shared Understanding
Unlocking AI with Model Context Protocol (MCP)
NewMind AI Weekly Chronicles - August'25 Week I
Spectral efficient network and resource selection model in 5G networks
Machine learning based COVID-19 study performance prediction
20250228 LYD VKU AI Blended-Learning.pptx
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Diabetes mellitus diagnosis method based random forest with bat algorithm
Approach and Philosophy of On baking technology
cuic standard and advanced reporting.pdf
Teaching material agriculture food technology
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Review of recent advances in non-invasive hemoglobin estimation
The Rise and Fall of 3GPP – Time for a Sabbatical?
Understanding_Digital_Forensics_Presentation.pptx
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf

Some dope on Zope (Jan 2002, Bangalore LUG)

  • 1. Some Dope On Zope An introduction to the Zope application server. Kiran Jonnalagadda <jace@pobox.com> Based on the presentation by Tim Wilson <wilson@visi.com>
  • 2. What is Zope? Zope is an open source application server written in Python that features a transactional rd object database, distributed control, lots of 3 party products, a search engine, and a growing community of users and developers.
  • 3. History of Zope In November 1998, Digital Creations combined Bobo, an open source Web-object toolkit, and Principia, a commercial Web-application platform. DC's venture capital firm encouraged them to open source their software and Zope was born. DC has since renamed themselves to Zope Corporation.
  • 4. Architecture Zope has a component architecture: ❑ ZServer ❑ Zope Core ❑ Object Database (ZODB) ❑ RDBMS Integration ❑ Zope Products ❑ ZClasses
  • 5. ZServer ❑ Supports HTTP, FTP, WebDAV, XMLRPC, FastCGI and PCGI ❑ Plays well with others (Apache, Squid) ZServer does not make a great static content delivery system. Proxies therefore make a world of a difference. Zope internally supports caching of expensive SQL queries and heavily dynamic content.
  • 6. Zope Core Zope has a built-in ❑ Search engine ❑ Flexible security layer ❑ Membership ❑ Dynamic Text Markup Language (DTML) example: <dtml-var foo>
  • 7. Object Database The Zope Object Database (ZODB): ❑ Behaves like a file system ❑ Supports: ❑ ❑ Undos ❑ ❑ Transactions Private Versions Scales well with fail-over support using ZEO
  • 8. RDBMS Integration Zope supports connections to: ❑ Oracle ❑ Sybase ❑ ODBC ❑ Solid ❑ MySQL ❑ PostgreSQL
  • 9. Zope Plugins Zope is extended in two main ways: ❑ Add-on Python Products ❑ ❑ Powerful, take full advantage of Python ❑ ❑ Created in the file system Very distributable ZClasses ❑ New object type created through the Web ❑ Requires no programming
  • 10. Zope Advantages I prefer Zope over other systems because: ❑ I don't have to create all the content ❑ Users can't nuke the rest of the site ❑ Easy workflow (using CMF) ❑ Acquisition makes it easy to propagate changes ❑ Versions make it possible to experiment on a live site
  • 11. Zope Disadvantages Zope isn't a cure-all because: ❑ It really helps to grok Python and OOP ❑ Most managers still haven't heard of it ''What if you get hit by a bus?'' ❑ The dynamic functionality is a massive overhead for simple sites ❑ It's not easy!
  • 12. Acknowledgments ❑ This presentation was originally created by Tim Wilson <wilson@visi.com> who has graciously given me permission to reuse his slides. The original presentation was created using vim and latex. ❑ Most of the details listed on these slides are taken from www.zope.org and www.zope.com.
  • 13. Questions? The Indian Zope and Python User Group has a mailing list at http://groups.yahoo.com/group/izpug.